mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
7.0 KiB
180 lines
7.0 KiB
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
tpc_ndis.h
|
|
|
|
Abstract:
|
|
|
|
This module defines NDIS 3.0 specific DEFINE for the TPCTL app.
|
|
|
|
Author:
|
|
|
|
Tom Adams (tomad) 20-Nov-1992
|
|
|
|
Revision History:
|
|
|
|
20-Nov-1992 tomad
|
|
|
|
Created
|
|
|
|
--*/
|
|
|
|
#include <ntddndis.h>
|
|
|
|
typedef int NDIS_STATUS, *PNDIS_STATUS; // note default size
|
|
|
|
//
|
|
// Request types used by NdisRequest; constants are added for
|
|
// all entry points in the MAC, for those that want to create
|
|
// their own internal requests.
|
|
//
|
|
|
|
typedef enum _NDIS_REQUEST_TYPE {
|
|
NdisRequestQueryInformation,
|
|
NdisRequestSetInformation,
|
|
NdisRequestQueryStatistics,
|
|
NdisRequestOpen,
|
|
NdisRequestClose,
|
|
NdisRequestSend,
|
|
NdisRequestTransferData,
|
|
NdisRequestReset,
|
|
NdisRequestGeneric1,
|
|
NdisRequestGeneric2,
|
|
NdisRequestGeneric3,
|
|
NdisRequestGeneric4
|
|
} NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;
|
|
|
|
|
|
/*
|
|
* Medium Ndis Driver is running on
|
|
*
|
|
*
|
|
* typedef enum _NDIS_MEDIUM {
|
|
* NdisMedium802_3,
|
|
* NdisMedium802_5,
|
|
* NdisMediumFddi,
|
|
* NdisMediumAsync,
|
|
* NdisMediumLocalTalk,
|
|
* NdisMediumDix
|
|
* } NDIS_MEDIUM, *PNDIS_MEDIUM
|
|
*
|
|
* SanjeevK: Took out this definition since this structure is now defined in
|
|
* NTDDNDIS.H
|
|
*
|
|
*/
|
|
|
|
//
|
|
// NDIS_STATUS values
|
|
//
|
|
|
|
#define NDIS_STATUS_SUCCESS ((NDIS_STATUS) STATUS_SUCCESS)
|
|
#define NDIS_STATUS_PENDING ((NDIS_STATUS) STATUS_PENDING)
|
|
#define NDIS_STATUS_NOT_RECOGNIZED ((NDIS_STATUS)0x00010001L)
|
|
#define NDIS_STATUS_NOT_COPIED ((NDIS_STATUS)0x00010002L)
|
|
|
|
#define NDIS_STATUS_ONLINE ((NDIS_STATUS)0x40010003L)
|
|
#define NDIS_STATUS_RESET_START ((NDIS_STATUS)0x40010004L)
|
|
#define NDIS_STATUS_RESET_END ((NDIS_STATUS)0x40010005L)
|
|
#define NDIS_STATUS_RING_STATUS ((NDIS_STATUS)0x40010006L)
|
|
#define NDIS_STATUS_CLOSED ((NDIS_STATUS)0x40010007L)
|
|
#define NDIS_STATUS_WAN_LINE_UP ((NDIS_STATUS)0x40010008L)
|
|
#define NDIS_STATUS_WAN_LINE_DOWN ((NDIS_STATUS)0x40010009L)
|
|
#define NDIS_STATUS_WAN_FRAGMENT ((NDIS_STATUS)0x4001000AL)
|
|
|
|
#define NDIS_STATUS_NOT_RESETTABLE ((NDIS_STATUS)0x80010001L)
|
|
#define NDIS_STATUS_SOFT_ERRORS ((NDIS_STATUS)0x80010003L)
|
|
#define NDIS_STATUS_HARD_ERRORS ((NDIS_STATUS)0x80010004L)
|
|
|
|
#define NDIS_STATUS_FAILURE ((NDIS_STATUS) STATUS_UNSUCCESSFUL)
|
|
#define NDIS_STATUS_RESOURCES ((NDIS_STATUS) \
|
|
STATUS_INSUFFICIENT_RESOURCES)
|
|
#define NDIS_STATUS_CLOSING ((NDIS_STATUS)0xC0010002L)
|
|
#define NDIS_STATUS_BAD_VERSION ((NDIS_STATUS)0xC0010004L)
|
|
#define NDIS_STATUS_BAD_CHARACTERISTICS ((NDIS_STATUS)0xC0010005L)
|
|
#define NDIS_STATUS_ADAPTER_NOT_FOUND ((NDIS_STATUS)0xC0010006L)
|
|
#define NDIS_STATUS_OPEN_FAILED ((NDIS_STATUS)0xC0010007L)
|
|
#define NDIS_STATUS_DEVICE_FAILED ((NDIS_STATUS)0xC0010008L)
|
|
#define NDIS_STATUS_MULTICAST_FULL ((NDIS_STATUS)0xC0010009L)
|
|
#define NDIS_STATUS_MULTICAST_EXISTS ((NDIS_STATUS)0xC001000AL)
|
|
#define NDIS_STATUS_MULTICAST_NOT_FOUND ((NDIS_STATUS)0xC001000BL)
|
|
#define NDIS_STATUS_REQUEST_ABORTED ((NDIS_STATUS)0xC001000CL)
|
|
#define NDIS_STATUS_RESET_IN_PROGRESS ((NDIS_STATUS)0xC001000DL)
|
|
#define NDIS_STATUS_CLOSING_INDICATING ((NDIS_STATUS)0xC001000EL)
|
|
#define NDIS_STATUS_NOT_SUPPORTED ((NDIS_STATUS)STATUS_NOT_SUPPORTED)
|
|
#define NDIS_STATUS_INVALID_PACKET ((NDIS_STATUS)0xC001000FL)
|
|
#define NDIS_STATUS_OPEN_LIST_FULL ((NDIS_STATUS)0xC0010010L)
|
|
#define NDIS_STATUS_ADAPTER_NOT_READY ((NDIS_STATUS)0xC0010011L)
|
|
#define NDIS_STATUS_ADAPTER_NOT_OPEN ((NDIS_STATUS)0xC0010012L)
|
|
#define NDIS_STATUS_NOT_INDICATING ((NDIS_STATUS)0xC0010013L)
|
|
#define NDIS_STATUS_INVALID_LENGTH ((NDIS_STATUS)0xC0010014L)
|
|
#define NDIS_STATUS_INVALID_DATA ((NDIS_STATUS)0xC0010015L)
|
|
#define NDIS_STATUS_BUFFER_TOO_SHORT ((NDIS_STATUS)0xC0010016L)
|
|
#define NDIS_STATUS_INVALID_OID ((NDIS_STATUS)0xC0010017L)
|
|
#define NDIS_STATUS_ADAPTER_REMOVED ((NDIS_STATUS)0xC0010018L)
|
|
#define NDIS_STATUS_UNSUPPORTED_MEDIA ((NDIS_STATUS)0xC0010019L)
|
|
#define NDIS_STATUS_GROUP_ADDRESS_IN_USE ((NDIS_STATUS)0xC001001AL)
|
|
#define NDIS_STATUS_FILE_NOT_FOUND ((NDIS_STATUS)0xC001001BL)
|
|
#define NDIS_STATUS_ERROR_READING_FILE ((NDIS_STATUS)0xC001001CL)
|
|
#define NDIS_STATUS_ALREADY_MAPPED ((NDIS_STATUS)0xC001001DL)
|
|
#define NDIS_STATUS_RESOURCE_CONFLICT ((NDIS_STATUS)0xC001001EL)
|
|
|
|
#define NDIS_STATUS_TOKEN_RING_OPEN_ERROR ((NDIS_STATUS)0xC0011000L)
|
|
|
|
|
|
//
|
|
// used in error logging
|
|
//
|
|
|
|
#define NDIS_ERROR_CODE ULONG
|
|
|
|
#define NDIS_ERROR_CODE_RESOURCE_CONFLICT EVENT_NDIS_RESOURCE_CONFLICT
|
|
#define NDIS_ERROR_CODE_OUT_OF_RESOURCES EVENT_NDIS_OUT_OF_RESOURCE
|
|
#define NDIS_ERROR_CODE_HARDWARE_FAILURE EVENT_NDIS_HARDWARE_FAILURE
|
|
#define NDIS_ERROR_CODE_ADAPTER_NOT_FOUND EVENT_NDIS_ADAPTER_NOT_FOUND
|
|
#define NDIS_ERROR_CODE_INTERRUPT_CONNECT EVENT_NDIS_INTERRUPT_CONNECT
|
|
#define NDIS_ERROR_CODE_DRIVER_FAILURE EVENT_NDIS_DRIVER_FAILURE
|
|
#define NDIS_ERROR_CODE_BAD_VERSION EVENT_NDIS_BAD_VERSION
|
|
#define NDIS_ERROR_CODE_TIMEOUT EVENT_NDIS_TIMEOUT
|
|
#define NDIS_ERROR_CODE_NETWORK_ADDRESS EVENT_NDIS_NETWORK_ADDRESS
|
|
#define NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION EVENT_NDIS_UNSUPPORTED_CONFIGURATION
|
|
#define NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER EVENT_NDIS_INVALID_VALUE_FROM_ADAPTER
|
|
#define NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER EVENT_NDIS_MISSING_CONFIGURATION_PARAMETER
|
|
#define NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS EVENT_NDIS_BAD_IO_BASE_ADDRESS
|
|
#define NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL EVENT_NDIS_RECEIVE_SPACE_SMALL
|
|
#define NDIS_ERROR_CODE_ADAPTER_DISABLED EVENT_NDIS_ADAPTER_DISABLED
|
|
|
|
|
|
|
|
//
|
|
// Ndis Packet Filter Bits
|
|
//
|
|
|
|
#define NDIS_PACKET_TYPE_DIRECTED 0x0001
|
|
#define NDIS_PACKET_TYPE_MULTICAST 0x0002
|
|
#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x0004
|
|
#define NDIS_PACKET_TYPE_BROADCAST 0x0008
|
|
#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x0010
|
|
#define NDIS_PACKET_TYPE_PROMISCUOUS 0x0020
|
|
#define NDIS_PACKET_TYPE_MAC_FRAME 0x8000
|
|
#define NDIS_PACKET_TYPE_FUNCTIONAL 0x4000
|
|
#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x2000
|
|
#define NDIS_PACKET_TYPE_GROUP 0x1000
|
|
|
|
//
|
|
// Ndis Token-Ring Ring Status Codes
|
|
//
|
|
|
|
#define NDIS_RING_SIGNAL_LOSS 0x00008000
|
|
#define NDIS_RING_HARD_ERROR 0x00004000
|
|
#define NDIS_RING_SOFT_ERROR 0x00002000
|
|
#define NDIS_RING_TRANSMIT_BEACON 0x00001000
|
|
#define NDIS_RING_LOBE_WIRE_FAULT 0x00000800
|
|
#define NDIS_RING_AUTO_REMOVAL_ERROR 0x00000400
|
|
#define NDIS_RING_REMOVE_RECEIVED 0x00000200
|
|
#define NDIS_RING_COUNTER_OVERFLOW 0x00000100
|
|
#define NDIS_RING_SINGLE_STATION 0x00000080
|
|
#define NDIS_RING_RING_RECOVERY 0x00000040
|
|
|