/*++ 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 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