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