mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-02 00:43:38 +00:00
![André Hentschel](/assets/img/avatar_default.png)
Signed-off-by: André Hentschel <nerv@dawncrow.de> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
279 lines
11 KiB
C
279 lines
11 KiB
C
/*
|
|
* Copyright 2009 Jacek Caban for CodeWeavers
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
#ifndef _NTDDNDIS_
|
|
#define _NTDDNDIS_
|
|
|
|
#include <ifdef.h>
|
|
#include <devpkey.h>
|
|
/* #include <pciprop.h> */
|
|
|
|
#ifndef GUID_DEFINED
|
|
# include <guiddef.h>
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define _NDIS_CONTROL_CODE(request, method) \
|
|
CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE(0, METHOD_OUT_DIRECT)
|
|
#define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE(1, METHOD_OUT_DIRECT)
|
|
#define IOCTL_NDIS_DO_PNP_OPERATION _NDIS_CONTROL_CODE(2, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_QUERY_SELECTED_STATS _NDIS_CONTROL_CODE(3, METHOD_OUT_DIRECT)
|
|
#define IOCTL_NDIS_ENUMERATE_INTERFACES _NDIS_CONTROL_CODE(4, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_ADD_TDI_DEVICE _NDIS_CONTROL_CODE(5, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_GET_LOG_DATA _NDIS_CONTROL_CODE(7, METHOD_OUT_DIRECT)
|
|
#define IOCTL_NDIS_GET_VERSION _NDIS_CONTROL_CODE(8, METHOD_BUFFERED)
|
|
|
|
#define IOCTL_NDIS_RESERVED1 _NDIS_CONTROL_CODE(0x09, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED2 _NDIS_CONTROL_CODE(0x0a, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED3 _NDIS_CONTROL_CODE(0x0b, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED4 _NDIS_CONTROL_CODE(0x0c, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED5 CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, 0x0d, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
|
#define IOCTL_NDIS_RESERVED6 CTL_CODE(FILE_DEVICE_PHYSICAL_NETCARD, 0x0e, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
|
#define IOCTL_NDIS_RESERVED7 _NDIS_CONTROL_CODE(0x0f, METHOD_OUT_DIRECT)
|
|
#define IOCTL_NDIS_RESERVED8 _NDIS_CONTROL_CODE(0x10, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED9 _NDIS_CONTROL_CODE(0x11, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED10 _NDIS_CONTROL_CODE(0x12, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED11 _NDIS_CONTROL_CODE(0x13, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED12 _NDIS_CONTROL_CODE(0x14, METHOD_BUFFERED)
|
|
#define IOCTL_NDIS_RESERVED13 _NDIS_CONTROL_CODE(0x15, METHOD_BUFFERED)
|
|
|
|
#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_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
|
|
#define OID_802_3_MAC_OPTIONS 0x01010105
|
|
#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
|
|
#define OID_802_3_XMIT_ONE_COLLISION 0x01020102
|
|
#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
|
|
#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_802_3_ADD_MULTICAST_ADDRESS 0x01010208
|
|
#define OID_802_3_DELETE_MULTICAST_ADDRESS 0x01010209
|
|
|
|
#define OID_802_5_PERMANENT_ADDRESS 0x02010101
|
|
#define OID_802_5_CURRENT_ADDRESS 0x02010102
|
|
#define OID_802_5_CURRENT_FUNCTIONAL 0x02010103
|
|
#define OID_802_5_CURRENT_GROUP 0x02010104
|
|
#define OID_802_5_LAST_OPEN_STATUS 0x02010105
|
|
#define OID_802_5_CURRENT_RING_STATUS 0x02010106
|
|
#define OID_802_5_CURRENT_RING_STATE 0x02010107
|
|
#define OID_802_5_LINE_ERRORS 0x02020101
|
|
#define OID_802_5_LOST_FRAMES 0x02020102
|
|
#define OID_802_5_BURST_ERRORS 0x02020201
|
|
#define OID_802_5_AC_ERRORS 0x02020202
|
|
#define OID_802_5_ABORT_DELIMETERS 0x02020203
|
|
#define OID_802_5_FRAME_COPIED_ERRORS 0x02020204
|
|
#define OID_802_5_FREQUENCY_ERRORS 0x02020205
|
|
#define OID_802_5_TOKEN_ERRORS 0x02020206
|
|
#define OID_802_5_INTERNAL_ERRORS 0x02020207
|
|
|
|
#define OID_802_11_BSSID 0x0d010101
|
|
#define OID_802_11_SSID 0x0d010102
|
|
#define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0d010203
|
|
#define OID_802_11_NETWORK_TYPE_IN_USE 0x0d010204
|
|
#define OID_802_11_TX_POWER_LEVEL 0x0d010205
|
|
#define OID_802_11_RSSI 0x0d010206
|
|
#define OID_802_11_RSSI_TRIGGER 0x0d010207
|
|
#define OID_802_11_INFRASTRUCTURE_MODE 0x0d010108
|
|
#define OID_802_11_FRAGMENTATION_THRESHOLD 0x0d010209
|
|
#define OID_802_11_RTS_THRESHOLD 0x0d01020a
|
|
#define OID_802_11_NUMBER_OF_ANTENNAS 0x0d01020b
|
|
#define OID_802_11_RX_ANTENNA_SELECTED 0x0d01020c
|
|
#define OID_802_11_TX_ANTENNA_SELECTED 0x0d01020d
|
|
#define OID_802_11_SUPPORTED_RATES 0x0d01020e
|
|
#define OID_802_11_DESIRED_RATES 0x0d010210
|
|
#define OID_802_11_CONFIGURATION 0x0d010211
|
|
#define OID_802_11_STATISTICS 0x0d020212
|
|
#define OID_802_11_ADD_WEP 0x0d010113
|
|
#define OID_802_11_REMOVE_WEP 0x0d010114
|
|
#define OID_802_11_DISASSOCIATE 0x0d010115
|
|
#define OID_802_11_POWER_MODE 0x0d010216
|
|
#define OID_802_11_BSSID_LIST 0x0d010217
|
|
#define OID_802_11_AUTHENTICATION_MODE 0x0d010118
|
|
#define OID_802_11_PRIVACY_FILTER 0x0d010119
|
|
#define OID_802_11_BSSID_LIST_SCAN 0x0d01011a
|
|
#define OID_802_11_WEP_STATUS 0x0d01011b
|
|
#define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS
|
|
#define OID_802_11_RELOAD_DEFAULTS 0x0d01011c
|
|
#define OID_802_11_ADD_KEY 0x0d01011d
|
|
#define OID_802_11_REMOVE_KEY 0x0d01011e
|
|
#define OID_802_11_ASSOCIATION_INFORMATION 0x0d01011f
|
|
#define OID_802_11_TEST 0x0d010120
|
|
#define OID_802_11_MEDIA_STREAM_MODE 0x0d010121
|
|
#define OID_802_11_CAPABILITY 0x0d010122
|
|
#define OID_802_11_PMKID 0x0d010123
|
|
#define OID_802_11_NON_BCAST_SSID_LIST 0x0d010124
|
|
#define OID_802_11_RADIO_STATUS 0x0d010125
|
|
|
|
#define NDIS_802_11_LENGTH_SSID 32
|
|
#define NDIS_802_11_LENGTH_RATES 8
|
|
#define NDIS_802_11_LENGTH_RATES_EX 16
|
|
|
|
typedef LONG NDIS_802_11_RSSI;
|
|
|
|
typedef struct _NDIS_802_11_CONFIGURATION_FH {
|
|
ULONG Length;
|
|
ULONG HopPattern;
|
|
ULONG HopSet;
|
|
ULONG DwellTime;
|
|
} NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
|
|
|
|
typedef struct _NDIS_802_11_CONFIGURATION {
|
|
ULONG Length;
|
|
ULONG BeaconPeriod;
|
|
ULONG ATIMWindow;
|
|
ULONG DSConfig;
|
|
NDIS_802_11_CONFIGURATION_FH FHConfig;
|
|
} NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;
|
|
|
|
typedef UCHAR NDIS_802_11_MAC_ADDRESS[6];
|
|
|
|
typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE {
|
|
Ndis802_11IBSS,
|
|
Ndis802_11Infrastructure,
|
|
Ndis802_11AutoUnknown,
|
|
Ndis802_11InfrastructureMax
|
|
} NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
|
|
|
|
typedef enum _NDIS_802_11_NETWORK_TYPE {
|
|
Ndis802_11FH,
|
|
Ndis802_11DS,
|
|
Ndis802_11OFDM5,
|
|
Ndis802_11OFDM24,
|
|
Ndis802_11Automode,
|
|
Ndis802_11NetworkTypeMax
|
|
} NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;
|
|
|
|
typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES];
|
|
typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX];
|
|
|
|
typedef struct _NDIS_802_11_SSID {
|
|
ULONG SsidLength;
|
|
UCHAR Ssid[NDIS_802_11_LENGTH_SSID];
|
|
} NDIS_802_11_SSID, *PNDIS_802_11_SSID;
|
|
|
|
typedef struct _NDIS_WLAN_BSSID {
|
|
ULONG Length;
|
|
NDIS_802_11_MAC_ADDRESS MacAddress;
|
|
UCHAR Reserved[2];
|
|
NDIS_802_11_SSID Ssid;
|
|
ULONG Privacy;
|
|
NDIS_802_11_RSSI Rssi;
|
|
NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
|
|
NDIS_802_11_CONFIGURATION Configuration;
|
|
NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
|
|
NDIS_802_11_RATES SupportedRates;
|
|
} NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
|
|
|
|
typedef struct _NDIS_802_11_BSSID_LIST {
|
|
ULONG NumberOfItems;
|
|
NDIS_WLAN_BSSID Bssid[1];
|
|
} NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;
|
|
|
|
#ifndef _NDIS_
|
|
typedef int NDIS_STATUS, *PNDIS_STATUS;
|
|
#endif
|
|
|
|
typedef enum _NDIS_MEDIUM
|
|
{
|
|
NdisMedium802_3,
|
|
NdisMedium802_5,
|
|
NdisMediumFddi,
|
|
NdisMediumWan,
|
|
NdisMediumLocalTalk,
|
|
NdisMediumDix,
|
|
NdisMediumArcnetRaw,
|
|
NdisMediumArcnet878_2,
|
|
NdisMediumAtm,
|
|
NdisMediumWirelessWan,
|
|
NdisMediumIrda,
|
|
NdisMediumBpc,
|
|
NdisMediumCoWan,
|
|
NdisMedium1394,
|
|
NdisMediumInfiniBand,
|
|
NdisMediumTunnel,
|
|
NdisMediumNative802_11,
|
|
NdisMediumLoopback,
|
|
NdisMediumWiMAX,
|
|
NdisMediumIP,
|
|
NdisMediumMax
|
|
} NDIS_MEDIUM, *PNDIS_MEDIUM;
|
|
|
|
typedef enum _NDIS_PHYSICAL_MEDIUM
|
|
{
|
|
NdisPhysicalMediumUnspecified,
|
|
NdisPhysicalMediumWirelessLan,
|
|
NdisPhysicalMediumCableModem,
|
|
NdisPhysicalMediumPhoneLine,
|
|
NdisPhysicalMediumPowerLine,
|
|
NdisPhysicalMediumDSL,
|
|
NdisPhysicalMediumFibreChannel,
|
|
NdisPhysicalMedium1394,
|
|
NdisPhysicalMediumWirelessWan,
|
|
NdisPhysicalMediumNative802_11,
|
|
NdisPhysicalMediumBluetooth,
|
|
NdisPhysicalMediumInfiniband,
|
|
NdisPhysicalMediumWiMax,
|
|
NdisPhysicalMediumUWB,
|
|
NdisPhysicalMedium802_3,
|
|
NdisPhysicalMedium802_5,
|
|
NdisPhysicalMediumIrda,
|
|
NdisPhysicalMediumWiredWAN,
|
|
NdisPhysicalMediumWiredCoWan,
|
|
NdisPhysicalMediumOther,
|
|
NdisPhysicalMediumMax
|
|
} NDIS_PHYSICAL_MEDIUM, *PNDIS_PHYSICAL_MEDIUM;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _NTDDNDIS_ */
|