1 #ifndef __NUIOUSER_H
2 #define __NUIOUSER_H
3 
4 /* Device names (NT and DOS style) */
5 #define NDISUIO_DEVICE_NAME_NT   L"\\Device\\Ndisuio"
6 #define NDISUIO_DEVICE_NAME_DOS  L"\\DosDevices\\Ndisuio"
7 
8 /* Device name for user apps */
9 #define NDISUIO_DEVICE_NAME      L"\\\\.\\\\Ndisuio"
10 
11 /* Links a file handle with a bound NIC */
12 #define IOCTL_NDISUIO_OPEN_DEVICE \
13             CTL_CODE(FILE_DEVICE_NETWORK, 0x200, METHOD_BUFFERED, FILE_ANY_ACCESS)
14 
15 /* Queries an OID for the bound NIC */
16 #define IOCTL_NDISUIO_QUERY_OID_VALUE \
17             CTL_CODE(FILE_DEVICE_NETWORK, 0x201, METHOD_BUFFERED, FILE_ANY_ACCESS)
18 
19 #define IOCTL_NDISUIO_SET_ETHER_TYPE \
20             CTL_CODE(FILE_DEVICE_NETWORK, 0x202, METHOD_BUFFERED, FILE_ANY_ACCESS)
21 
22 /* Queries binding information during enumeration */
23 #define IOCTL_NDISUIO_QUERY_BINDING \
24             CTL_CODE(FILE_DEVICE_NETWORK, 0x203, METHOD_BUFFERED, FILE_ANY_ACCESS)
25 
26 /* Waits for any pending bindings */
27 #define IOCTL_NDISUIO_BIND_WAIT \
28             CTL_CODE(FILE_DEVICE_NETWORK, 0x204, METHOD_BUFFERED, FILE_ANY_ACCESS)
29 
30 /* Sets an OID for a bound NIC */
31 #define IOCTL_NDISUIO_SET_OID_VALUE \
32             CTL_CODE(FILE_DEVICE_NETWORK, 0x205, METHOD_BUFFERED, FILE_ANY_ACCESS)
33 
34 /* Passed as a parameter to IOCTL_NDISUIO_QUERY_OID_VALUE */
35 typedef struct _NDISUIO_QUERY_OID
36 {
37     NDIS_OID        Oid;
38     UCHAR           Data[sizeof(ULONG)];
39 } NDISUIO_QUERY_OID, *PNDISUIO_QUERY_OID;
40 
41 /* Passed as a parameter to IOCTL_NDISUIO_SET_OID_VALUE */
42 typedef struct _NDISUIO_SET_OID
43 {
44     NDIS_OID        Oid;
45     UCHAR           Data[sizeof(ULONG)];
46 } NDISUIO_SET_OID, *PNDISUIO_SET_OID;
47 
48 /* Passed as a parameter to IOCTL_NDISUIO_QUERY_BINDING */
49 typedef struct _NDISUIO_QUERY_BINDING
50 {
51 	ULONG			BindingIndex;
52 	ULONG			DeviceNameOffset;
53 	ULONG			DeviceNameLength;
54 	ULONG			DeviceDescrOffset;
55 	ULONG			DeviceDescrLength;
56 } NDISUIO_QUERY_BINDING, *PNDISUIO_QUERY_BINDING;
57 
58 #endif
59 
60