Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. nuiouser.h
  5. Abstract:
  6. Constants and types to access the NDISPROT driver.
  7. Users must also include ntddndis.h
  8. Environment:
  9. User/Kernel mode.
  10. Revision History:
  11. arvindm 4/12/2000 Created
  12. --*/
  13. #ifndef __NUIOUSER__H
  14. #define __NUIOUSER__H
  15. #define FSCTL_NDISPROT_BASE FILE_DEVICE_NETWORK
  16. #define _NDISPROT_CTL_CODE(_Function, _Method, _Access) \
  17. CTL_CODE(FSCTL_NDISPROT_BASE, _Function, _Method, _Access)
  18. #define IOCTL_NDISPROT_OPEN_DEVICE \
  19. _NDISPROT_CTL_CODE(0x200, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
  20. #define IOCTL_NDISPROT_QUERY_OID_VALUE \
  21. _NDISPROT_CTL_CODE(0x201, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
  22. #define IOCTL_NDISPROT_SET_OID_VALUE \
  23. _NDISPROT_CTL_CODE(0x205, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
  24. #define IOCTL_NDISPROT_QUERY_BINDING \
  25. _NDISPROT_CTL_CODE(0x203, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
  26. #define IOCTL_NDISPROT_BIND_WAIT \
  27. _NDISPROT_CTL_CODE(0x204, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
  28. //
  29. // Structure to go with IOCTL_NDISPROT_QUERY_OID_VALUE.
  30. // The Data part is of variable length, determined by
  31. // the input buffer length passed to DeviceIoControl.
  32. //
  33. typedef struct _NDISPROT_QUERY_OID
  34. {
  35. NDIS_OID Oid;
  36. UCHAR Data[sizeof(ULONG)];
  37. } NDISPROT_QUERY_OID, *PNDISPROT_QUERY_OID;
  38. //
  39. // Structure to go with IOCTL_NDISPROT_SET_OID_VALUE.
  40. // The Data part is of variable length, determined
  41. // by the input buffer length passed to DeviceIoControl.
  42. //
  43. typedef struct _NDISPROT_SET_OID
  44. {
  45. NDIS_OID Oid;
  46. UCHAR Data[sizeof(ULONG)];
  47. } NDISPROT_SET_OID, *PNDISPROT_SET_OID;
  48. //
  49. // Structure to go with IOCTL_NDISPROT_QUERY_BINDING.
  50. // The input parameter is BindingIndex, which is the
  51. // index into the list of bindings active at the driver.
  52. // On successful completion, we get back a device name
  53. // and a device descriptor (friendly name).
  54. //
  55. typedef struct _NDISPROT_QUERY_BINDING
  56. {
  57. ULONG BindingIndex; // 0-based binding number
  58. ULONG DeviceNameOffset; // from start of this struct
  59. ULONG DeviceNameLength; // in bytes
  60. ULONG DeviceDescrOffset; // from start of this struct
  61. ULONG DeviceDescrLength; // in bytes
  62. } NDISPROT_QUERY_BINDING, *PNDISPROT_QUERY_BINDING;
  63. #endif // __NUIOUSER__H