Reverting previous mods due to even more problems occurring with a clean build.

svn path=/trunk/; revision=6344
This commit is contained in:
Robert Dickenson 2003-10-17 11:46:45 +00:00
parent 8a6ba12068
commit a0c7411b79
7 changed files with 821 additions and 991 deletions

File diff suppressed because it is too large Load diff

View file

@ -36,41 +36,96 @@ typedef struct _NET_PNP_TRANSLATE_LIST
NET_PNP_ID IdArray[ANYSIZE_ARRAY]; NET_PNP_ID IdArray[ANYSIZE_ARRAY];
} NET_PNP_TRANSLATE_LIST, *PNET_PNP_TRANSLATE_LIST; } NET_PNP_TRANSLATE_LIST, *PNET_PNP_TRANSLATE_LIST;
/* Connection-oriented operational characteristics */
/* Generel objects */
/* General operational characteristics */
/* Mandatory */ /* Mandatory */
#define OID_GEN_CO_SUPPORTED_LIST OID_GEN_SUPPORTED_LIST #define OID_GEN_SUPPORTED_LIST 0x00010101
#define OID_GEN_CO_HARDWARE_STATUS OID_GEN_HARDWARE_STATUS #define OID_GEN_HARDWARE_STATUS 0x00010102
#define OID_GEN_CO_MEDIA_SUPPORTED OID_GEN_MEDIA_SUPPORTED #define OID_GEN_MEDIA_SUPPORTED 0x00010103
#define OID_GEN_CO_MEDIA_IN_USE OID_GEN_MEDIA_IN_USE #define OID_GEN_MEDIA_IN_USE 0x00010104
#define OID_GEN_CO_LINK_SPEED OID_GEN_LINK_SPEED #define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
#define OID_GEN_CO_VENDOR_ID OID_GEN_VENDOR_ID #define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
#define OID_GEN_CO_VENDOR_DESCRIPTION OID_GEN_VENDOR_DESCRIPTION #define OID_GEN_LINK_SPEED 0x00010107
#define OID_GEN_CO_DRIVER_VERSION OID_GEN_DRIVER_VERSION #define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
#define OID_GEN_CO_PROTOCOL_OPTIONS OID_GEN_PROTOCOL_OPTIONS #define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
#define OID_GEN_CO_MAC_OPTIONS OID_GEN_MAC_OPTIONS #define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A
#define OID_GEN_CO_MEDIA_CONNECT_STATUS OID_GEN_MEDIA_CONNECT_STATUS #define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B
#define OID_GEN_CO_VENDOR_DRIVER_VERSION OID_GEN_VENDOR_DRIVER_VERSION #define OID_GEN_VENDOR_ID 0x0001010C
#define OID_GEN_VENDOR_DESCRIPTION 0x0001010D
#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E
#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F
#define OID_GEN_DRIVER_VERSION 0x00010110
#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
#define OID_GEN_PROTOCOL_OPTIONS 0x00010112
#define OID_GEN_MAC_OPTIONS 0x00010113
#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
/* Optional */ /* Optional */
#define OID_GEN_CO_SUPPORTED_GUIDS OID_GEN_SUPPORTED_GUIDS #define OID_GEN_SUPPORTED_GUIDS 0x00010117
#define OID_GEN_CO_GET_TIME_CAPS OID_GEN_GET_TIME_CAPS #define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
#define OID_GEN_CO_GET_NETCARD_TIME OID_GEN_GET_NETCARD_TIME #define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
#define OID_GEN_CO_MINIMUM_LINK_SPEED 0x00020120
/* Connection-oriented statistics */ /* General statistics */
/* Mandatory */
#define OID_GEN_XMIT_OK 0x00020101
#define OID_GEN_RCV_OK 0x00020102
#define OID_GEN_XMIT_ERROR 0x00020103
#define OID_GEN_RCV_ERROR 0x00020104
#define OID_GEN_RCV_NO_BUFFER 0x00020105
/* Optional */
#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B
#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
#define OID_GEN_RCV_CRC_ERROR 0x0002020D
#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E
/* Ethernet objects */
/* Ethernet operational characteristics */
/* Mandatory */
#define OID_802_3_PERMANENT_ADDRESS 0x01010101
#define OID_802_3_CURRENT_ADDRESS 0x01010102
#define OID_802_3_MULTICAST_LIST 0x01010103
#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
/* Optional */
#define OID_802_3_MAC_OPTIONS 0x01010105
/* Ethernet statistics */
/* Mandatory */
#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
#define OID_802_3_XMIT_ONE_COLLISION 0x01020102
#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
/* Optional */
#define OID_802_3_XMIT_DEFERRED 0x01020201
#define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
#define OID_802_3_RCV_OVERRUN 0x01020203
#define OID_802_3_XMIT_UNDERRUN 0x01020204
#define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
#define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
#define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
#define OID_GEN_CO_XMIT_PDUS_OK OID_GEN_XMIT_OK
#define OID_GEN_CO_RCV_PDUS_OK OID_GEN_RCV_OK
#define OID_GEN_CO_XMIT_PDUS_ERROR OID_GEN_XMIT_ERROR
#define OID_GEN_CO_RCV_PDUS_ERROR OID_GEN_RCV_ERROR
#define OID_GEN_CO_RCV_PDUS_NO_BUFFER OID_GEN_RCV_NO_BUFFER
#define OID_GEN_CO_RCV_CRC_ERROR OID_GEN_RCV_CRC_ERROR
#define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH OID_GEN_TRANSMIT_QUEUE_LENGTH
#define OID_GEN_CO_BYTES_XMIT OID_GEN_DIRECTED_BYTES_XMIT
#define OID_GEN_CO_BYTES_RCV OID_GEN_DIRECTED_BYTES_RCV
#define OID_GEN_CO_NETCARD_LOAD OID_GEN_NETCARD_LOAD
#define OID_GEN_CO_DEVICE_PROFILE OID_GEN_DEVICE_PROFILE
/* Token Ring objects */ /* Token Ring objects */
@ -311,6 +366,43 @@ typedef struct _NET_PNP_TRANSLATE_LIST
#define OID_WW_MBX_TEMP_DEFAULTLIST 0x09050107 #define OID_WW_MBX_TEMP_DEFAULTLIST 0x09050107
/* Connection-oriented objects */
/* Connection-oriented operational characteristics */
/* Mandatory */
#define OID_GEN_CO_SUPPORTED_LIST OID_GEN_SUPPORTED_LIST
#define OID_GEN_CO_HARDWARE_STATUS OID_GEN_HARDWARE_STATUS
#define OID_GEN_CO_MEDIA_SUPPORTED OID_GEN_MEDIA_SUPPORTED
#define OID_GEN_CO_MEDIA_IN_USE OID_GEN_MEDIA_IN_USE
#define OID_GEN_CO_LINK_SPEED OID_GEN_LINK_SPEED
#define OID_GEN_CO_VENDOR_ID OID_GEN_VENDOR_ID
#define OID_GEN_CO_VENDOR_DESCRIPTION OID_GEN_VENDOR_DESCRIPTION
#define OID_GEN_CO_DRIVER_VERSION OID_GEN_DRIVER_VERSION
#define OID_GEN_CO_PROTOCOL_OPTIONS OID_GEN_PROTOCOL_OPTIONS
#define OID_GEN_CO_MAC_OPTIONS OID_GEN_MAC_OPTIONS
#define OID_GEN_CO_MEDIA_CONNECT_STATUS OID_GEN_MEDIA_CONNECT_STATUS
#define OID_GEN_CO_VENDOR_DRIVER_VERSION OID_GEN_VENDOR_DRIVER_VERSION
/* Optional */
#define OID_GEN_CO_SUPPORTED_GUIDS OID_GEN_SUPPORTED_GUIDS
#define OID_GEN_CO_GET_TIME_CAPS OID_GEN_GET_TIME_CAPS
#define OID_GEN_CO_GET_NETCARD_TIME OID_GEN_GET_NETCARD_TIME
#define OID_GEN_CO_MINIMUM_LINK_SPEED 0x00020120
/* Connection-oriented statistics */
#define OID_GEN_CO_XMIT_PDUS_OK OID_GEN_XMIT_OK
#define OID_GEN_CO_RCV_PDUS_OK OID_GEN_RCV_OK
#define OID_GEN_CO_XMIT_PDUS_ERROR OID_GEN_XMIT_ERROR
#define OID_GEN_CO_RCV_PDUS_ERROR OID_GEN_RCV_ERROR
#define OID_GEN_CO_RCV_PDUS_NO_BUFFER OID_GEN_RCV_NO_BUFFER
#define OID_GEN_CO_RCV_CRC_ERROR OID_GEN_RCV_CRC_ERROR
#define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH OID_GEN_TRANSMIT_QUEUE_LENGTH
#define OID_GEN_CO_BYTES_XMIT OID_GEN_DIRECTED_BYTES_XMIT
#define OID_GEN_CO_BYTES_RCV OID_GEN_DIRECTED_BYTES_RCV
#define OID_GEN_CO_NETCARD_LOAD OID_GEN_NETCARD_LOAD
#define OID_GEN_CO_DEVICE_PROFILE OID_GEN_DEVICE_PROFILE
#define OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020221 #define OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020221
#endif /* __NDISOID_H */ #endif /* __NDISOID_H */
@ -326,3 +418,5 @@ typedef struct _NET_PNP_TRANSLATE_LIST
/* EOF */ /* EOF */

View file

@ -1,42 +1,18 @@
/* /*
* netevent.h * COPYRIGHT: See COPYING in the top level directory
* * PROJECT: ReactOS NDIS library
* Network events * FILE: include/net/netevent.h
* * PURPOSE: Network event constants
* This file is part of the w32api package.
*
* Contributors:
* Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/ */
#ifndef __NETEVENT_H #ifndef __NETEVENT_H
#define __NETEVENT_H #define __NETEVENT_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#define EVENT_TRANSPORT_REGISTER_FAILED 0xC000232CL #define EVENT_TRANSPORT_REGISTER_FAILED 0xC000232CL
#define EVENT_TRANSPORT_ADAPTER_NOT_FOUND 0xC000232EL #define EVENT_TRANSPORT_ADAPTER_NOT_FOUND 0xC000232EL
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif /* __NETEVENT_H */ #endif /* __NETEVENT_H */
/* EOF */

View file

@ -1,49 +1,16 @@
/* /*
* ntddndis.h * COPYRIGHT: See COPYING in the top level directory
* * PROJECT: ReactOS NDIS library
* NDIS device driver interface * FILE: include/net/ntddndis.h
* * PURPOSE: Structures for accessing NDIS devices
* This file is part of the w32api package.
*
* Contributors:
* Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/ */
#ifndef __NTDDNDIS_H #ifndef __NTDDNDIS_H
#define __NTDDNDIS_H #define __NIDDNDIS_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#pragma pack(push,4)
#include "ntddk.h"
#include <net/ndisoid.h> #include <net/ndisoid.h>
#ifdef __cplusplus typedef enum _NDIS_DEVICE_POWER_STATE
extern "C" { {
#endif
typedef enum _NDIS_WAN_QUALITY {
NdisWanRaw,
NdisWanErrorControl,
NdisWanReliable
} NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
typedef enum _NDIS_DEVICE_POWER_STATE {
NdisDeviceStateUnspecified = 0, NdisDeviceStateUnspecified = 0,
NdisDeviceStateD0, NdisDeviceStateD0,
NdisDeviceStateD1, NdisDeviceStateD1,
@ -52,152 +19,21 @@ typedef enum _NDIS_DEVICE_POWER_STATE {
NdisDeviceStateMaximum NdisDeviceStateMaximum
} NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE; } NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;
typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES { typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES
{
NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp; NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
NDIS_DEVICE_POWER_STATE MinPatternWakeUp; NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp; NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
} NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES; } NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
/* NDIS_PNP_CAPABILITIES.Flags constants */ typedef struct _NDIS_PNP_CAPABILITIES
#define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001 {
#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002
#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004
typedef struct _NDIS_PNP_CAPABILITIES {
ULONG Flags; ULONG Flags;
NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities; NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
} NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES; } NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
/* Required Object IDs (OIDs) */
#define OID_GEN_SUPPORTED_LIST 0x00010101
#define OID_GEN_HARDWARE_STATUS 0x00010102
#define OID_GEN_MEDIA_SUPPORTED 0x00010103
#define OID_GEN_MEDIA_IN_USE 0x00010104
#define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
#define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
#define OID_GEN_LINK_SPEED 0x00010107
#define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
#define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
#define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A
#define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B
#define OID_GEN_VENDOR_ID 0x0001010C
#define OID_GEN_VENDOR_DESCRIPTION 0x0001010D
#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E
#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F
#define OID_GEN_DRIVER_VERSION 0x00010110
#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
#define OID_GEN_PROTOCOL_OPTIONS 0x00010112
#define OID_GEN_MAC_OPTIONS 0x00010113
#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
/* Optional */
#define OID_GEN_SUPPORTED_GUIDS 0x00010117
#define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
#define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
/* General statistics */
/* Optional OIDs */
#define OID_GEN_MEDIA_CAPABILITIES 0x00010201
#define OID_GEN_PHYSICAL_MEDIUM 0x00010202
/* Required statistics OIDs */
#define OID_GEN_XMIT_OK 0x00020101
#define OID_GEN_RCV_OK 0x00020102
#define OID_GEN_XMIT_ERROR 0x00020103
#define OID_GEN_RCV_ERROR 0x00020104
#define OID_GEN_RCV_NO_BUFFER 0x00020105
/* Optional statistics OIDs */
#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B
#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
#define OID_GEN_RCV_CRC_ERROR 0x0002020D
#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E
#define OID_GEN_GET_TIME_CAPS 0x0002020F
#define OID_GEN_GET_NETCARD_TIME 0x00020210
#define OID_GEN_NETCARD_LOAD 0x00020211
#define OID_GEN_DEVICE_PROFILE 0x00020212
#define OID_GEN_INIT_TIME_MS 0x00020213
#define OID_GEN_RESET_COUNTS 0x00020214
#define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215
#define OID_GEN_FRIENDLY_NAME 0x00020216
#define OID_GEN_MINIPORT_INFO 0x00020217
#define OID_GEN_RESET_VERIFY_PARAMETERS 0x00020218
/* Connection-oriented objects */
/* Ethernet objects */
/* Ethernet operational characteristics */
/* Mandatory */
#define OID_802_3_PERMANENT_ADDRESS 0x01010101
#define OID_802_3_CURRENT_ADDRESS 0x01010102
#define OID_802_3_MULTICAST_LIST 0x01010103
#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
/* Optional */
#define OID_802_3_MAC_OPTIONS 0x01010105
/* Ethernet statistics */
/* Mandatory */
#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
#define OID_802_3_XMIT_ONE_COLLISION 0x01020102
#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
/* Optional */
#define OID_802_3_XMIT_DEFERRED 0x01020201
#define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
#define OID_802_3_RCV_OVERRUN 0x01020203
#define OID_802_3_XMIT_UNDERRUN 0x01020204
#define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
#define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
#define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
/* OID_GEN_MINIPORT_INFO constants */
#define NDIS_MINIPORT_BUS_MASTER 0x00000001
#define NDIS_MINIPORT_WDM_DRIVER 0x00000002
#define NDIS_MINIPORT_SG_LIST 0x00000004
#define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 0x00000008
#define NDIS_MINIPORT_INDICATES_PACKETS 0x00000010
#define NDIS_MINIPORT_IGNORE_PACKET_QUEUE 0x00000020
#define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE 0x00000040
#define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 0x00000080
#define NDIS_MINIPORT_INTERMEDIATE_DRIVER 0x00000100
#define NDIS_MINIPORT_IS_NDIS_5 0x00000200
#define NDIS_MINIPORT_IS_CO 0x00000400
#define NDIS_MINIPORT_DESERIALIZE 0x00000800
#define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING 0x00001000
#define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 0x00002000
#define NDIS_MINIPORT_NETBOOT_CARD 0x00004000
#define NDIS_MINIPORT_PM_SUPPORTED 0x00008000
#define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00010000
#define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS 0x00020000
#define NDIS_MINIPORT_HIDDEN 0x00040000
#define NDIS_MINIPORT_SWENUM 0x00080000
#define NDIS_MINIPORT_SURPRISE_REMOVE_OK 0x00100000
#define NDIS_MINIPORT_NO_HALT_ON_SUSPEND 0x00200000
#define NDIS_MINIPORT_HARDWARE_DEVICE 0x00400000
#define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 0x00800000
#define NDIS_MINIPORT_64BITS_DMA 0x01000000
#pragma pack(pop)
#ifdef __cplusplus
}
#endif
#endif /* __NTDDNDIS_H */ #endif /* __NTDDNDIS_H */
/* EOF */

View file

@ -1,41 +1,12 @@
/* /*
* tdi.h * COPYRIGHT: See COPYING in the top level directory
* * PROJECT: ReactOS TDI library
* TDI user mode definitions * FILE: include/net/tdi.h
* * PURPOSE: TDI definitions for user mode clients
* This file is part of the w32api package.
*
* Contributors:
* Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/ */
#ifndef __TDI_H #ifndef __TDI_H
#define __TDI_H #define __TDI_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(push,4)
#include "ntddk.h"
#include "tdistat.h"
/* FIXME: Missed some definitions in ntddk.h */ /* FIXME: Missed some definitions in ntddk.h */
/* Could be defined elsewhere /* Could be defined elsewhere
@ -51,8 +22,9 @@ typedef LONG TDI_STATUS;
typedef PVOID CONNECTION_CONTEXT; typedef PVOID CONNECTION_CONTEXT;
/* TDI status codes */ /* TDI status codes */
///*
#define TDI_SUCCESS STATUS_SUCCESS #define TDI_SUCCESS STATUS_SUCCESS
#define TDI_NO_RESOURCES STATUS_INSUFFICIENT_RESOURCES #define TDI_NO_RESOURCES STATUS_INSUFFICIENT_RESOURCES
#define TDI_ADDR_IN_USE STATUS_ADDRESS_ALREADY_EXISTS #define TDI_ADDR_IN_USE STATUS_ADDRESS_ALREADY_EXISTS
@ -93,7 +65,7 @@ typedef PVOID CONNECTION_CONTEXT;
#define TDI_OPTION_EOL 0 #define TDI_OPTION_EOL 0
#define TDI_ADDRESS_OPTION_REUSE 1 #define TDI_ADDRESS_OPTION_REUSE 1
#define TDI_ADDRESS_OPTION_DHCP 2 #define TDI_ADDRESS_OPTION_DHCP 2
// */
/* TDI IOCTL codes */ /* TDI IOCTL codes */
@ -155,7 +127,8 @@ NTSTATUS TdiDispatchInternalDeviceControl(
/* TDI structures */ /* TDI structures */
typedef struct _TDI_CONNECTION_INFORMATION { typedef struct _TDI_CONNECTION_INFORMATION
{
LONG UserDataLength; LONG UserDataLength;
PVOID UserData; PVOID UserData;
LONG OptionsLength; LONG OptionsLength;
@ -164,7 +137,8 @@ typedef struct _TDI_CONNECTION_INFORMATION {
PVOID RemoteAddress; PVOID RemoteAddress;
} TDI_CONNECTION_INFORMATION, *PTDI_CONNECTION_INFORMATION; } TDI_CONNECTION_INFORMATION, *PTDI_CONNECTION_INFORMATION;
typedef struct _TDI_REQUEST { typedef struct _TDI_REQUEST
{
union { union {
HANDLE AddressHandle; HANDLE AddressHandle;
CONNECTION_CONTEXT ConnectionContext; CONNECTION_CONTEXT ConnectionContext;
@ -175,13 +149,16 @@ typedef struct _TDI_REQUEST {
TDI_STATUS TdiStatus; TDI_STATUS TdiStatus;
} TDI_REQUEST, *PTDI_REQUEST; } TDI_REQUEST, *PTDI_REQUEST;
typedef struct _TDI_REQUEST_STATUS { typedef struct _TDI_REQUEST_STATUS
{
TDI_STATUS Status; TDI_STATUS Status;
PVOID RequestContext; PVOID RequestContext;
ULONG BytesTransferred; ULONG BytesTransferred;
} TDI_REQUEST_STATUS, *PTDI_REQUEST_STATUS; } TDI_REQUEST_STATUS, *PTDI_REQUEST_STATUS;
typedef struct _TA_ADDRESS {
typedef struct _TA_ADDRESS
{
USHORT AddressLength; USHORT AddressLength;
USHORT AddressType; USHORT AddressType;
UCHAR Address[1]; UCHAR Address[1];
@ -211,37 +188,40 @@ typedef struct _TA_ADDRESS {
#define TDI_ADDRESS_TYPE_NETONE 20 #define TDI_ADDRESS_TYPE_NETONE 20
#define TDI_ADDRESS_TYPE_VNS 21 #define TDI_ADDRESS_TYPE_VNS 21
#define TDI_ADDRESS_TYPE_NETBIOS_EX 22 #define TDI_ADDRESS_TYPE_NETBIOS_EX 22
#define TDI_ADDRESS_TYPE_IP6 23
#define TDI_ADDRESS_TYPE_NETBIOS_UNICODE_EX 24
#define TdiTransportAddress "TransportAddress" #define TdiTransportAddress "TransportAddress"
#define TdiConnectionContext "ConnectionContext" #define TdiConnectionContext "ConnectionContext"
#define TDI_TRANSPORT_ADDRESS_LENGTH (sizeof(TdiTransportAddress) - 1) #define TDI_TRANSPORT_ADDRESS_LENGTH (sizeof(TdiTransportAddress) - 1)
#define TDI_CONNECTION_CONTEXT_LENGTH (sizeof(TdiConnectionContext) - 1) #define TDI_CONNECTION_CONTEXT_LENGTH (sizeof(TdiConnectionContext) - 1)
typedef struct _TRANSPORT_ADDRESS {
typedef struct _TRANSPORT_ADDRESS
{
LONG TAAddressCount; LONG TAAddressCount;
TA_ADDRESS Address[1]; TA_ADDRESS Address[1];
} TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS; } TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS;
typedef struct _TDI_ADDRESS_INFO { typedef struct _TDI_ADDRESS_INFO
{
ULONG ActivityCount; ULONG ActivityCount;
TRANSPORT_ADDRESS Address; TRANSPORT_ADDRESS Address;
} TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO; } TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO;
typedef struct _TDI_ACTION_HEADER { typedef struct _TDI_ACTION_HEADER
{
ULONG TransportId; ULONG TransportId;
USHORT ActionCode; USHORT ActionCode;
USHORT Reserved; USHORT Reserved;
} TDI_ACTION_HEADER, *PTDI_ACTION_HEADER; } TDI_ACTION_HEADER, *PTDI_ACTION_HEADER;
typedef struct _TDI_ADDRESS_8022 { typedef struct _TDI_ADDRESS_8022
{
UCHAR MACAddress[6]; UCHAR MACAddress[6];
} TDI_ADDRESS_8022, *PTDI_ADDRESS_8022; } TDI_ADDRESS_8022, *PTDI_ADDRESS_8022;
#define TDI_ADDRESS_LENGTH_8022 sizeof(TDI_ADDRESS_8022); typedef struct _TDI_ADDRESS_APPLETALK
{
typedef struct _TDI_ADDRESS_APPLETALK {
USHORT Network; USHORT Network;
UCHAR Node; UCHAR Node;
UCHAR Socket; UCHAR Socket;
@ -249,7 +229,8 @@ typedef struct _TDI_ADDRESS_APPLETALK {
#define TDI_ADDRESS_LENGTH_APPLETALK sizeof(TDI_ADDRESS_APPLETALK) #define TDI_ADDRESS_LENGTH_APPLETALK sizeof(TDI_ADDRESS_APPLETALK)
typedef struct _TDI_ADDRESS_IP { typedef struct _TDI_ADDRESS_IP
{
USHORT sin_port; USHORT sin_port;
ULONG in_addr; ULONG in_addr;
UCHAR sin_zero[8]; UCHAR sin_zero[8];
@ -257,7 +238,8 @@ typedef struct _TDI_ADDRESS_IP {
#define TDI_ADDRESS_LENGTH_IP sizeof(TDI_ADDRESS_IP) #define TDI_ADDRESS_LENGTH_IP sizeof(TDI_ADDRESS_IP)
typedef struct _TDI_ADDRESS_IPX { typedef struct _TDI_ADDRESS_IPX
{
ULONG NetworkAddress; ULONG NetworkAddress;
UCHAR NodeAddress[6]; UCHAR NodeAddress[6];
USHORT Socket; USHORT Socket;
@ -265,35 +247,36 @@ typedef struct _TDI_ADDRESS_IPX {
#define TDI_ADDRESS_LENGTH_IPX sizeof(TDI_ADDRESS_IPX) #define TDI_ADDRESS_LENGTH_IPX sizeof(TDI_ADDRESS_IPX)
/* TDI_ADDRESS_NETBIOS.NetbiosNameType constants */ typedef struct _TDI_ADDRESS_NETBIOS
{
USHORT NetbiosNameType;
UCHAR NetbiosName[16];
} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
#define TDI_ADDRESS_NETBIOS_TYPE_UNIQUE 0x0000 #define TDI_ADDRESS_NETBIOS_TYPE_UNIQUE 0x0000
#define TDI_ADDRESS_NETBIOS_TYPE_GROUP 0x0001 #define TDI_ADDRESS_NETBIOS_TYPE_GROUP 0x0001
#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_UNIQUE 0x0002 #define TDI_ADDRESS_NETBIOS_TYPE_QUICK_UNIQUE 0x0002
#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_GROUP 0x0003 #define TDI_ADDRESS_NETBIOS_TYPE_QUICK_GROUP 0x0003
typedef struct _TDI_ADDRESS_NETBIOS {
USHORT NetbiosNameType;
UCHAR NetbiosName[16];
} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
#define TDI_ADDRESS_LENGTH_NETBIOS sizeof(TDI_ADDRESS_NETBIOS) #define TDI_ADDRESS_LENGTH_NETBIOS sizeof(TDI_ADDRESS_NETBIOS)
typedef struct _TDI_ADDRESS_NETBIOS_EX { typedef struct _TDI_ADDRESS_NETBIOS_EX
{
UCHAR EndpointName[16]; UCHAR EndpointName[16];
TDI_ADDRESS_NETBIOS NetbiosAddress; TDI_ADDRESS_NETBIOS NetbiosAddress;
} TDI_ADDRESS_NETBIOS_EX, *PTDI_ADDRESS_NETBIOS_EX; } TDI_ADDRESS_NETBIOS_EX, *PTDI_ADDRESS_NETBIOS_EX;
#define TDI_ADDRESS_LENGTH_NETBIOS_EX sizeof(TDI_ADDRESS_NETBIOS_EX) #define TDI_ADDRESS_LENGTH_NETBIOS_EX sizeof(TDI_ADDRESS_NETBIOS_EX)
/* TDI_ADDRESS_NETONE.NetoneNameType constants */ typedef struct _TDI_ADDRESS_NETONE
#define TDI_ADDRESS_NETONE_TYPE_UNIQUE 0x0000 {
#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001
typedef struct _TDI_ADDRESS_NETONE {
USHORT NetoneNameType; USHORT NetoneNameType;
UCHAR NetoneName[20]; UCHAR NetoneName[20];
} TDI_ADDRESS_NETONE, *PTDI_ADDRESS_NETONE; } TDI_ADDRESS_NETONE, *PTDI_ADDRESS_NETONE;
#define TDI_ADDRESS_NETONE_TYPE_UNIQUE 0x0000
#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001
#define TDI_ADDRESS_LENGTH_NETONE sizeof(TDI_ADDRESS_NETONE) #define TDI_ADDRESS_LENGTH_NETONE sizeof(TDI_ADDRESS_NETONE)
typedef struct _TDI_ADDRESS_NS typedef struct _TDI_ADDRESS_NS
@ -307,11 +290,11 @@ typedef struct _TDI_ADDRESS_NS
#define ISO_MAX_ADDR_LENGTH 64 #define ISO_MAX_ADDR_LENGTH 64
/* TDI_ADDRESS_OSI_TSAP.tp_addr_type constants */
#define ISO_HIERARCHICAL 0 #define ISO_HIERARCHICAL 0
#define ISO_NON_HIERARCHICAL 1 #define ISO_NON_HIERARCHICAL 1
typedef struct _TDI_ADDRESS_OSI_TSAP { typedef struct _TDI_ADDRESS_OSI_TSAP
{
USHORT tp_addr_type; USHORT tp_addr_type;
USHORT tp_taddr_len; USHORT tp_taddr_len;
USHORT tp_tsel_len; USHORT tp_tsel_len;
@ -320,7 +303,8 @@ typedef struct _TDI_ADDRESS_OSI_TSAP {
#define TDI_ADDRESS_LENGTH_OSI_TSAP sizeof(TDI_ADDRESS_OSI_TSAP) #define TDI_ADDRESS_LENGTH_OSI_TSAP sizeof(TDI_ADDRESS_OSI_TSAP)
typedef struct _TDI_ADDRESS_VNS { typedef struct _TDI_ADDRESS_VNS
{
UCHAR net_address[4]; UCHAR net_address[4];
UCHAR subnet_addr[2]; UCHAR subnet_addr[2];
UCHAR port[2]; UCHAR port[2];
@ -330,80 +314,66 @@ typedef struct _TDI_ADDRESS_VNS {
#define TDI_ADDRESS_LENGTH_VNS sizeof(TDI_ADDRESS_VNS) #define TDI_ADDRESS_LENGTH_VNS sizeof(TDI_ADDRESS_VNS)
typedef struct _TDI_ADDRESS_IP6 {
USHORT sin6_port;
ULONG sin6_flowinfo;
USHORT sin6_addr[8];
ULONG sin6_scope_id;
} TDI_ADDRESS_IP6, *PTDI_ADDRESS_IP6;
#define TDI_ADDRESS_LENGTH_IP6 sizeof(TDI_ADDRESS_IP6) /* TDI request structures */
enum eNameBufferType { typedef struct _TDI_CONNECT_REQUEST
NBT_READONLY = 0, {
NBT_WRITEONLY,
NBT_READWRITE,
NBT_WRITTEN
};
typedef struct _TDI_ADDRESS_NETBIOS_UNICODE_EX {
USHORT NetbiosNameType;
enum eNameBufferType NameBufferType;
UNICODE_STRING EndpointName;
UNICODE_STRING RemoteName;
WCHAR EndpointBuffer[17];
WCHAR RemoteNameBuffer[1];
} TDI_ADDRESS_NETBIOS_UNICODE_EX, *PTDI_ADDRESS_NETBIOS_UNICODE_EX;
typedef struct _TDI_CONNECT_REQUEST {
TDI_REQUEST Request; TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation; PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
PTDI_CONNECTION_INFORMATION ReturnConnectionInformation; PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
LARGE_INTEGER Timeout; LARGE_INTEGER Timeout;
} TDI_REQUEST_CONNECT, *PTDI_REQUEST_CONNECT; } TDI_REQUEST_CONNECT, *PTDI_REQUEST_CONNECT;
typedef struct _TDI_REQUEST_ACCEPT { typedef struct _TDI_REQUEST_ACCEPT
{
TDI_REQUEST Request; TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation; PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
PTDI_CONNECTION_INFORMATION ReturnConnectionInformation; PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
} TDI_REQUEST_ACCEPT, *PTDI_REQUEST_ACCEPT; } TDI_REQUEST_ACCEPT, *PTDI_REQUEST_ACCEPT;
typedef struct _TDI_REQUEST_LISTEN { typedef struct _TDI_REQUEST_LISTEN
{
TDI_REQUEST Request; TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation; PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
PTDI_CONNECTION_INFORMATION ReturnConnectionInformation; PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
USHORT ListenFlags; USHORT ListenFlags;
} TDI_REQUEST_LISTEN, *PTDI_REQUEST_LISTEN; } TDI_REQUEST_LISTEN, *PTDI_REQUEST_LISTEN;
typedef struct _TDI_DISCONNECT_REQUEST { typedef struct _TDI_DISCONNECT_REQUEST
{
TDI_REQUEST Request; TDI_REQUEST Request;
LARGE_INTEGER Timeout; LARGE_INTEGER Timeout;
} TDI_REQUEST_DISCONNECT, *PTDI_REQUEST_DISCONNECT; } TDI_REQUEST_DISCONNECT, *PTDI_REQUEST_DISCONNECT;
typedef struct _TDI_REQUEST_SEND { typedef struct _TDI_REQUEST_SEND
{
TDI_REQUEST Request; TDI_REQUEST Request;
USHORT SendFlags; USHORT SendFlags;
} TDI_REQUEST_SEND, *PTDI_REQUEST_SEND; } TDI_REQUEST_SEND, *PTDI_REQUEST_SEND;
typedef struct _TDI_REQUEST_RECEIVE { typedef struct _TDI_REQUEST_RECEIVE
{
TDI_REQUEST Request; TDI_REQUEST Request;
USHORT ReceiveFlags; USHORT ReceiveFlags;
} TDI_REQUEST_RECEIVE, *PTDI_REQUEST_RECEIVE; } TDI_REQUEST_RECEIVE, *PTDI_REQUEST_RECEIVE;
typedef struct _TDI_REQUEST_SEND_DATAGRAM { typedef struct _TDI_REQUEST_SEND_DATAGRAM
{
TDI_REQUEST Request; TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION SendDatagramInformation; PTDI_CONNECTION_INFORMATION SendDatagramInformation;
} TDI_REQUEST_SEND_DATAGRAM, *PTDI_REQUEST_SEND_DATAGRAM; } TDI_REQUEST_SEND_DATAGRAM, *PTDI_REQUEST_SEND_DATAGRAM;
typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM { typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM
{
TDI_REQUEST Request; TDI_REQUEST Request;
PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation; PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
PTDI_CONNECTION_INFORMATION ReturnInformation; PTDI_CONNECTION_INFORMATION ReturnInformation;
USHORT ReceiveFlags; USHORT ReceiveFlags;
} TDI_REQUEST_RECEIVE_DATAGRAM, *PTDI_REQUEST_RECEIVE_DATAGRAM; } TDI_REQUEST_RECEIVE_DATAGRAM, *PTDI_REQUEST_RECEIVE_DATAGRAM;
typedef struct _TDI_REQUEST_SET_EVENT { typedef struct _TDI_REQUEST_SET_EVENT
{
TDI_REQUEST Request; TDI_REQUEST Request;
LONG EventType; LONG EventType;
PVOID EventHandler; PVOID EventHandler;
@ -420,7 +390,6 @@ typedef struct _TDI_REQUEST_SET_EVENT {
#define TDI_RECEIVE_COPY_LOOKAHEAD 0x00000200 #define TDI_RECEIVE_COPY_LOOKAHEAD 0x00000200
#define TDI_RECEIVE_ENTIRE_MESSAGE 0x00000400 #define TDI_RECEIVE_ENTIRE_MESSAGE 0x00000400
#define TDI_RECEIVE_AT_DISPATCH_LEVEL 0x00000800 #define TDI_RECEIVE_AT_DISPATCH_LEVEL 0x00000800
#define TDI_RECEIVE_CONTROL_INFO 0x00001000
/* Listen flags */ /* Listen flags */
#define TDI_QUERY_ACCEPT 0x00000001 #define TDI_QUERY_ACCEPT 0x00000001
@ -430,7 +399,6 @@ typedef struct _TDI_REQUEST_SET_EVENT {
#define TDI_SEND_PARTIAL 0x0040 #define TDI_SEND_PARTIAL 0x0040
#define TDI_SEND_NO_RESPONSE_EXPECTED 0x0080 #define TDI_SEND_NO_RESPONSE_EXPECTED 0x0080
#define TDI_SEND_NON_BLOCKING 0x0100 #define TDI_SEND_NON_BLOCKING 0x0100
#define TDI_SEND_AND_DISCONNECT 0x0200
/* Disconnect Flags */ /* Disconnect Flags */
#define TDI_DISCONNECT_WAIT 0x0001 #define TDI_DISCONNECT_WAIT 0x0001
@ -438,22 +406,23 @@ typedef struct _TDI_REQUEST_SET_EVENT {
#define TDI_DISCONNECT_RELEASE 0x0004 #define TDI_DISCONNECT_RELEASE 0x0004
/* TdiRequest structure for TdiQueryInformation request */ /* TdiRequest structure for TdiQueryInformation request */
typedef struct _TDI_REQUEST_QUERY_INFORMATION { typedef struct _TDI_REQUEST_QUERY_INFORMATION
{
TDI_REQUEST Request; TDI_REQUEST Request;
ULONG QueryType; ULONG QueryType;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation; PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
} TDI_REQUEST_QUERY_INFORMATION, *PTDI_REQUEST_QUERY_INFORMATION; } TDI_REQUEST_QUERY_INFORMATION, *PTDI_REQUEST_QUERY_INFORMATION;
/* TdiRequest structure for TdiSetInformation request */ /* TdiRequest structure for TdiSetInformation request */
typedef struct _TDI_REQUEST_SET_INFORMATION { typedef struct _TDI_REQUEST_SET_INFORMATION
{
TDI_REQUEST Request; TDI_REQUEST Request;
ULONG SetType; ULONG SetType;
PTDI_CONNECTION_INFORMATION RequestConnectionInformation; PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
} TDI_REQUEST_SET_INFORMATION, *PTDI_REQUEST_SET_INFORMATION; } TDI_REQUEST_SET_INFORMATION, *PTDI_REQUEST_SET_INFORMATION;
typedef TDI_REQUEST_SET_INFORMATION TDI_REQ_SET_INFORMATION, *PTDI_REQ_SET_INFORMATION; typedef union _TDI_REQUEST_TYPE
{
typedef union _TDI_REQUEST_TYPE {
TDI_REQUEST_ACCEPT TdiAccept; TDI_REQUEST_ACCEPT TdiAccept;
TDI_REQUEST_CONNECT TdiConnect; TDI_REQUEST_CONNECT TdiConnect;
TDI_REQUEST_DISCONNECT TdiDisconnect; TDI_REQUEST_DISCONNECT TdiDisconnect;
@ -468,6 +437,7 @@ typedef union _TDI_REQUEST_TYPE {
} TDI_REQUEST_TYPE, *PTDI_REQUEST_TYPE; } TDI_REQUEST_TYPE, *PTDI_REQUEST_TYPE;
/* Query information types */ /* Query information types */
/* Generic query info types that must be supported by all transports */ /* Generic query info types that must be supported by all transports */
@ -486,7 +456,8 @@ typedef union _TDI_REQUEST_TYPE {
#define TDI_QUERY_SESSION_STATUS 0x00000200 #define TDI_QUERY_SESSION_STATUS 0x00000200
#define TDI_QUERY_FIND_NAME 0x00000300 #define TDI_QUERY_FIND_NAME 0x00000300
typedef struct _TA_APPLETALK_ADDR { typedef struct _TA_APPLETALK_ADDR
{
LONG TAAddressCount; LONG TAAddressCount;
struct _AddrAtalk { struct _AddrAtalk {
USHORT AddressLength; USHORT AddressLength;
@ -495,7 +466,8 @@ typedef struct _TA_APPLETALK_ADDR {
} Address[1]; } Address[1];
} TA_APPLETALK_ADDRESS, *PTA_APPLETALK_ADDRESS; } TA_APPLETALK_ADDRESS, *PTA_APPLETALK_ADDRESS;
typedef struct _TA_ADDRESS_IP { typedef struct _TA_ADDRESS_IP
{
LONG TAAddressCount; LONG TAAddressCount;
struct _AddrIp { struct _AddrIp {
USHORT AddressLength; USHORT AddressLength;
@ -504,7 +476,8 @@ typedef struct _TA_ADDRESS_IP {
} Address[1]; } Address[1];
} TA_ADDRESS_IP, *PTA_ADDRESS_IP; } TA_ADDRESS_IP, *PTA_ADDRESS_IP;
typedef struct _TA_ADDRESS_IPX { typedef struct _TA_ADDRESS_IPX
{
LONG TAAddressCount; LONG TAAddressCount;
struct _AddrIpx { struct _AddrIpx {
USHORT AddressLength; USHORT AddressLength;
@ -513,7 +486,8 @@ typedef struct _TA_ADDRESS_IPX {
} Address[1]; } Address[1];
} TA_IPX_ADDRESS, *PTA_IPX_ADDRESS; } TA_IPX_ADDRESS, *PTA_IPX_ADDRESS;
typedef struct _TA_NETBIOS_ADDRESS { typedef struct _TA_NETBIOS_ADDRESS
{
LONG TAAddressCount; LONG TAAddressCount;
struct _Addr{ struct _Addr{
USHORT AddressLength; USHORT AddressLength;
@ -522,7 +496,8 @@ typedef struct _TA_NETBIOS_ADDRESS {
} Address[1]; } Address[1];
} TA_NETBIOS_ADDRESS, *PTA_NETBIOS_ADDRESS; } TA_NETBIOS_ADDRESS, *PTA_NETBIOS_ADDRESS;
typedef struct _TA_ADDRESS_NS { typedef struct _TA_ADDRESS_NS
{
LONG TAAddressCount; LONG TAAddressCount;
struct _AddrNs { struct _AddrNs {
USHORT AddressLength; USHORT AddressLength;
@ -531,7 +506,8 @@ typedef struct _TA_ADDRESS_NS {
} Address[1]; } Address[1];
} TA_NS_ADDRESS, *PTA_NS_ADDRESS; } TA_NS_ADDRESS, *PTA_NS_ADDRESS;
typedef struct _TA_ADDRESS_VNS { typedef struct _TA_ADDRESS_VNS
{
LONG TAAddressCount; LONG TAAddressCount;
struct _AddrVns { struct _AddrVns {
USHORT AddressLength; USHORT AddressLength;
@ -540,28 +516,11 @@ typedef struct _TA_ADDRESS_VNS {
} Address[1]; } Address[1];
} TA_VNS_ADDRESS, *PTA_VNS_ADDRESS; } TA_VNS_ADDRESS, *PTA_VNS_ADDRESS;
typedef struct _TA_ADDRESS_IP6 {
LONG TAAddressCount;
struct _AddrIp6 {
USHORT AddressLength;
USHORT AddressType;
TDI_ADDRESS_IP6 Address[1];
} Address [1];
} TA_IP6_ADDRESS, *PTA_IP6_ADDRESS;
typedef struct _TA_ADDRESS_NETBIOS_UNICODE_EX {
LONG TAAddressCount;
struct _AddrNetbiosWCharEx {
USHORT AddressLength;
USHORT AddressType;
TDI_ADDRESS_NETBIOS_UNICODE_EX Address[1];
} Address [1];
} TA_NETBIOS_UNICODE_EX_ADDRESS, *PTA_NETBIOS_UNICODE_EX_ADDRESS;
/* Structures used for TdiQueryInformation and TdiSetInformation */ /* Structures used for TdiQueryInformation and TdiSetInformation */
typedef struct _TDI_ENDPOINT_INFO { typedef struct _TDI_ENDPOINT_INFO
{
ULONG State; ULONG State;
ULONG Event; ULONG Event;
ULONG TransmittedTsdus; ULONG TransmittedTsdus;
@ -575,7 +534,8 @@ typedef struct _TDI_ENDPOINT_INFO {
ULONG SecurityCompartment; ULONG SecurityCompartment;
} TDI_ENDPOINT_INFO, *PTDI_ENDPOINT_INFO; } TDI_ENDPOINT_INFO, *PTDI_ENDPOINT_INFO;
typedef struct _TDI_CONNECTION_INFO { typedef struct _TDI_CONNECTION_INFO
{
ULONG State; ULONG State;
ULONG Event; ULONG Event;
ULONG TransmittedTsdus; ULONG TransmittedTsdus;
@ -589,16 +549,19 @@ typedef struct _TDI_CONNECTION_INFO {
BOOLEAN Unreliable; BOOLEAN Unreliable;
} TDI_CONNECTION_INFO, *PTDI_CONNECTION_INFO; } TDI_CONNECTION_INFO, *PTDI_CONNECTION_INFO;
typedef struct _TDI_DATAGRAM_INFO { typedef struct _TDI_DATAGRAM_INFO
{
ULONG MaximumDatagramBytes; ULONG MaximumDatagramBytes;
ULONG MaximumDatagramCount; ULONG MaximumDatagramCount;
} TDI_DATAGRAM_INFO, *PTDI_DATAGRAM_INFO; } TDI_DATAGRAM_INFO, *PTDI_DATAGRAM_INFO;
typedef struct _TDI_MAX_DATAGRAM_INFO { typedef struct _TDI_MAX_DATAGRAM_INFO
{
ULONG MaxDatagramSize; ULONG MaxDatagramSize;
} TDI_MAX_DATAGRAM_INFO, *PTDI_MAX_DATAGRAM_INFO; } TDI_MAX_DATAGRAM_INFO, *PTDI_MAX_DATAGRAM_INFO;
typedef struct _TDI_PROVIDER_INFO { typedef struct _TDI_PROVIDER_INFO
{
ULONG Version; ULONG Version;
ULONG MaxSendSize; ULONG MaxSendSize;
ULONG MaxConnectionUserData; ULONG MaxConnectionUserData;
@ -625,20 +588,17 @@ typedef struct _TDI_PROVIDER_INFO {
#define TDI_SERVICE_POINT_TO_POINT 0x00001000 #define TDI_SERVICE_POINT_TO_POINT 0x00001000
#define TDI_SERVICE_MESSAGE_MODE 0x00002000 #define TDI_SERVICE_MESSAGE_MODE 0x00002000
#define TDI_SERVICE_HALF_DUPLEX 0x00004000 #define TDI_SERVICE_HALF_DUPLEX 0x00004000
#define TDI_SERVICE_DGRAM_CONNECTION 0x00008000
#define TDI_SERVICE_FORCE_ACCESS_CHECK 0x00010000
#define TDI_SERVICE_SEND_AND_DISCONNECT 0x00020000
#define TDI_SERVICE_DIRECT_ACCEPT 0x00040000
#define TDI_SERVICE_ACCEPT_LOCAL_ADDR 0x00080000
typedef struct _TDI_PROVIDER_RESOURCE_STATS { typedef struct _TDI_PROVIDER_RESOURCE_STATS
{
ULONG ResourceId; ULONG ResourceId;
ULONG MaximumResourceUsed; ULONG MaximumResourceUsed;
ULONG AverageResourceUsed; ULONG AverageResourceUsed;
ULONG ResourceExhausted; ULONG ResourceExhausted;
} TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS; } TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS;
typedef struct _TDI_PROVIDER_STATISTICS { typedef struct _TDI_PROVIDER_STATISTICS
{
ULONG Version; ULONG Version;
ULONG OpenConnections; ULONG OpenConnections;
ULONG ConnectionsAfterNoRetry; ULONG ConnectionsAfterNoRetry;
@ -679,30 +639,8 @@ typedef struct _TDI_PROVIDER_STATISTICS {
TDI_PROVIDER_RESOURCE_STATS Resources[1]; TDI_PROVIDER_RESOURCE_STATS Resources[1];
} TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS; } TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS;
#define TDI_EVENT_CONNECT 0
#define TDI_EVENT_DISCONNECT 1
#define TDI_EVENT_ERROR 2
#define TDI_EVENT_RECEIVE 3
#define TDI_EVENT_RECEIVE_DATAGRAM 4
#define TDI_EVENT_RECEIVE_EXPEDITED 5
#define TDI_EVENT_SEND_POSSIBLE 6
typedef struct _TDI_REQUEST_ASSOCIATE {
TDI_REQUEST Request;
HANDLE AddressHandle;
} TDI_REQUEST_ASSOCIATE_ADDRESS, *PTDI_REQUEST_ASSOCIATE_ADDRESS;
#define NDIS_PACKET_POOL_TAG_FOR_NWLNKIPX 'iPDN'
#define NDIS_PACKET_POOL_TAG_FOR_NWLNKSPX 'sPDN'
#define NDIS_PACKET_POOL_TAG_FOR_NWLNKNB 'nPDN'
#define NDIS_PACKET_POOL_TAG_FOR_TCPIP 'tPDN'
#define NDIS_PACKET_POOL_TAG_FOR_NBF 'bPDN'
#define NDIS_PACKET_POOL_TAG_FOR_APPLETALK 'aPDN'
#pragma pack(pop)
#ifdef __cplusplus
}
#endif
#endif /* __TDI_H */ #endif /* __TDI_H */
/* EOF */

View file

@ -1,85 +1,20 @@
/* /*
* tdiinfo.h * COPYRIGHT: See COPYING in the top level directory
* * PROJECT: ReactOS TDI library
* TDI set and query information interface * FILE: include/net/tdiinfo.h
* * PURPOSE: TDI definitions for Tdi(Query/Set)InformationEx
* This file is part of the w32api package.
*
* Contributors:
* Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/ */
#ifndef __TDIINFO_H #ifndef __TDIINFO_H
#define __TDIINFO_H #define __TDIINFO_H
#if __GNUC__ >=3 typedef struct TDIEntityID
#pragma GCC system_header {
#endif
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(push,4)
#include "ntddk.h"
typedef struct TDIEntityID {
ULONG tei_entity; ULONG tei_entity;
ULONG tei_instance; ULONG tei_instance;
} TDIEntityID; } TDIEntityID;
#define MAX_TDI_ENTITIES 512 typedef struct TDIObjectID
#define INVALID_ENTITY_INSTANCE -1 {
#define GENERIC_ENTITY 0
#define ENTITY_LIST_ID 0
#define ENTITY_TYPE_ID 1
#define AT_ENTITY 0x280
#define CL_NL_ENTITY 0x301
#define CL_TL_ENTITY 0x401
#define CO_NL_ENTITY 0x300
#define CO_TL_ENTITY 0x400
#define ER_ENTITY 0x380
#define IF_ENTITY 0x200
#define AT_ARP 0x280
#define AT_NULL 0x282
#define CL_TL_NBF 0x401
#define CL_TL_UDP 0x403
#define CL_NL_IPX 0x301
#define CL_NL_IP 0x303
#define CO_TL_NBF 0x400
#define CO_TL_SPX 0x402
#define CO_TL_TCP 0x404
#define CO_TL_SPP 0x406
#define ER_ICMP 0x380
#define IF_GENERIC 0x200
#define IF_MIB 0x202
/* TDIObjectID.toi_class constants */
#define INFO_CLASS_GENERIC 0x100
#define INFO_CLASS_PROTOCOL 0x200
#define INFO_CLASS_IMPLEMENTATION 0x300
/* TDIObjectID.toi_type constants */
#define INFO_TYPE_PROVIDER 0x100
#define INFO_TYPE_ADDRESS_OBJECT 0x200
#define INFO_TYPE_CONNECTION 0x300
typedef struct _TDIObjectID {
TDIEntityID toi_entity; TDIEntityID toi_entity;
ULONG toi_class; ULONG toi_class;
ULONG toi_type; ULONG toi_type;
@ -88,28 +23,76 @@ typedef struct _TDIObjectID {
#define CONTEXT_SIZE 16 #define CONTEXT_SIZE 16
typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX { #define MAX_TDI_ENTITIES 512
#define INFO_CLASS_GENERIC 0x100
#define INFO_CLASS_PROTOCOL 0x200
#define INFO_CLASS_IMPLEMENTATION 0x300
#define INFO_TYPE_PROVIDER 0x100
#define INFO_TYPE_ADDRESS_OBJECT 0x200
#define INFO_TYPE_CONNECTION 0x300
#define ENTITY_LIST_ID 0
#define GENERIC_ENTITY 0
#define IF_ENTITY 0x200
#define AT_ENTITY 0x280
#define CO_NL_ENTITY 0x300
#define CL_NL_ENTITY 0x301
#define ER_ENTITY 0x380
#define CO_TL_ENTITY 0x400
#define CL_TL_ENTITY 0x401
/* IDs supported by all entities */
#define ENTITY_TYPE_ID 1
#define IF_GENERIC 0x200
#define IF_MIB 0x202
#define AT_ARP 0x280
#define AT_NULL 0x282
#define CL_NL_IPX 0x301
#define CL_NL_IP 0x303
#define ER_ICMP 0x380
#define CO_TL_NBF 0x400
#define CO_TL_SPX 0x402
#define CO_TL_TCP 0x404
#define CO_TL_SPP 0x406
#define CL_TL_NBF 0x401
#define CL_TL_UDP 0x403
/* TCP specific structures */
typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX
{
TDIObjectID ID; TDIObjectID ID;
UCHAR Context[CONTEXT_SIZE]; UCHAR Context[CONTEXT_SIZE];
} TCP_REQUEST_QUERY_INFORMATION_EX, *PTCP_REQUEST_QUERY_INFORMATION_EX; } TCP_REQUEST_QUERY_INFORMATION_EX, *PTCP_REQUEST_QUERY_INFORMATION_EX;
#if defined(_WIN64) typedef struct _TCP_REQUEST_SET_INFORMATION_EX
typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX32 { {
TDIObjectID ID;
ULONG32 Context[CONTEXT_SIZE / sizeof(ULONG32)];
} TCP_REQUEST_QUERY_INFORMATION_EX32, *PTCP_REQUEST_QUERY_INFORMATION_EX32;
#endif /* _WIN64 */
typedef struct _TCP_REQUEST_SET_INFORMATION_EX {
TDIObjectID ID; TDIObjectID ID;
UINT BufferSize; UINT BufferSize;
UCHAR Buffer[1]; UCHAR Buffer[1];
} TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX; } TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX;
#pragma pack(pop)
#ifdef __cplusplus
}
#endif
#endif /* __TDIINFO_H */ #endif /* __TDIINFO_H */
/* EOF */

View file

@ -909,7 +909,7 @@ typedef VOID DDKAPI
IN PTA_ADDRESS Address, IN PTA_ADDRESS Address,
IN PUNICODE_STRING DeviceName, IN PUNICODE_STRING DeviceName,
IN PTDI_PNP_CONTEXT Context); IN PTDI_PNP_CONTEXT Context);
/*
typedef NTSTATUS DDKAPI typedef NTSTATUS DDKAPI
(*TDI_PNP_POWER_HANDLER)( (*TDI_PNP_POWER_HANDLER)(
IN PUNICODE_STRING DeviceName, IN PUNICODE_STRING DeviceName,
@ -925,7 +925,7 @@ typedef VOID DDKAPI
(*ProviderPnPPowerComplete)( (*ProviderPnPPowerComplete)(
IN PNET_PNP_EVENT NetEvent, IN PNET_PNP_EVENT NetEvent,
IN NTSTATUS ProviderStatus); IN NTSTATUS ProviderStatus);
*/
@ -1048,7 +1048,7 @@ DDKAPI
TdiMatchPdoWithChainedReceiveContext( TdiMatchPdoWithChainedReceiveContext(
IN PVOID TsduDescriptor, IN PVOID TsduDescriptor,
IN PVOID PDO); IN PVOID PDO);
/*
TDIKRNLAPI TDIKRNLAPI
VOID VOID
DDKAPI DDKAPI
@ -1066,7 +1066,7 @@ TdiPnPPowerRequest(
IN PTDI_PNP_CONTEXT Context1, IN PTDI_PNP_CONTEXT Context1,
IN PTDI_PNP_CONTEXT Context2, IN PTDI_PNP_CONTEXT Context2,
IN ProviderPnPPowerComplete ProtocolCompletionHandler); IN ProviderPnPPowerComplete ProtocolCompletionHandler);
*/
TDIKRNLAPI TDIKRNLAPI
NTSTATUS NTSTATUS
DDKAPI DDKAPI
@ -1096,7 +1096,7 @@ TdiRegisterNetAddress(
IN PUNICODE_STRING DeviceName, IN PUNICODE_STRING DeviceName,
IN PTDI_PNP_CONTEXT Context, IN PTDI_PNP_CONTEXT Context,
OUT HANDLE *AddrRegistrationHandle); OUT HANDLE *AddrRegistrationHandle);
/*
TDIKRNLAPI TDIKRNLAPI
NTSTATUS NTSTATUS
DDKAPI DDKAPI
@ -1112,7 +1112,7 @@ TdiRegisterPnPHandlers(
IN PTDI_CLIENT_INTERFACE_INFO ClientInterfaceInfo, IN PTDI_CLIENT_INTERFACE_INFO ClientInterfaceInfo,
IN ULONG InterfaceInfoSize, IN ULONG InterfaceInfoSize,
OUT HANDLE *BindingHandle); OUT HANDLE *BindingHandle);
*/
TDIKRNLAPI TDIKRNLAPI
NTSTATUS NTSTATUS
DDKAPI DDKAPI
@ -1140,3 +1140,5 @@ TdiUnmapBuffer(
#endif #endif
#endif /* __TDIKRNL_H */ #endif /* __TDIKRNL_H */