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.

151 lines
5.8 KiB

  1. /*++
  2. Copyright (c) 1993 Microsoft Corporation
  3. Module Name:
  4. ioctl.h
  5. Abstract:
  6. Environment:
  7. Kernel & user mode
  8. Revision History:
  9. 5-10-96 : created
  10. --*/
  11. #ifndef IOCTL_H
  12. #define IOCTL_H
  13. #define USBPRINT_IOCTL_INDEX 0x0000
  14. #ifdef NEEDED
  15. #define IOCTL_USBPRINT_GET_PIPE_INFO CTL_CODE(FILE_DEVICE_UNKNOWN, \
  16. USBPRINT_IOCTL_INDEX,\
  17. METHOD_BUFFERED, \
  18. FILE_ANY_ACCESS)
  19. #define IOCTL_USBPRINT_GET_CONFIG_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN, \
  20. USBPRINT_IOCTL_INDEX+1,\
  21. METHOD_BUFFERED, \
  22. FILE_ANY_ACCESS)
  23. #define IOCTL_USBPRINT_SET_PIPE_PARAMETER CTL_CODE(FILE_DEVICE_UNKNOWN, \
  24. USBPRINT_IOCTL_INDEX+2,\
  25. METHOD_BUFFERED, \
  26. FILE_ANY_ACCESS)
  27. #define IOCTL_USBPRINT_STOP_ISO_STREAM CTL_CODE(FILE_DEVICE_UNKNOWN, \
  28. USBPRINT_IOCTL_INDEX+3,\
  29. METHOD_BUFFERED, \
  30. FILE_ANY_ACCESS)
  31. #define IOCTL_USBPRINT_START_ISO_STREAM CTL_CODE(FILE_DEVICE_UNKNOWN, \
  32. USBPRINT_IOCTL_INDEX+4,\
  33. METHOD_BUFFERED, \
  34. FILE_ANY_ACCESS)
  35. #define IOCTL_USBPRINT_REGISTER_NOTIFY_EVENT CTL_CODE(FILE_DEVICE_UNKNOWN, \
  36. USBPRINT_IOCTL_INDEX+5,\
  37. METHOD_BUFFERED, \
  38. FILE_ANY_ACCESS)
  39. #define IOCTL_USBPRINT_START_PERF_TIMER CTL_CODE(FILE_DEVICE_UNKNOWN, \
  40. USBPRINT_IOCTL_INDEX+6,\
  41. METHOD_BUFFERED, \
  42. FILE_ANY_ACCESS)
  43. #define IOCTL_USBPRINT_STOP_PERF_TIMER CTL_CODE(FILE_DEVICE_UNKNOWN, \
  44. USBPRINT_IOCTL_INDEX+7,\
  45. METHOD_BUFFERED, \
  46. FILE_ANY_ACCESS)
  47. #define IOCTL_USBPRINT_RETURN_PERF_DATA CTL_CODE(FILE_DEVICE_UNKNOWN, \
  48. USBPRINT_IOCTL_INDEX+8,\
  49. METHOD_BUFFERED, \
  50. FILE_ANY_ACCESS)
  51. #define IOCTL_USBPRINT_RESET_DEVICE CTL_CODE(FILE_DEVICE_UNKNOWN, \
  52. USBPRINT_IOCTL_INDEX+9,\
  53. METHOD_BUFFERED, \
  54. FILE_ANY_ACCESS)
  55. #define IOCTL_USBPRINT_CLOCK_MASTER_TEST CTL_CODE(FILE_DEVICE_UNKNOWN, \
  56. USBPRINT_IOCTL_INDEX+10,\
  57. METHOD_BUFFERED, \
  58. FILE_ANY_ACCESS)
  59. #define IOCTL_USBPRINT_RESET_PIPE CTL_CODE(FILE_DEVICE_UNKNOWN, \
  60. USBPRINT_IOCTL_INDEX+11,\
  61. METHOD_BUFFERED, \
  62. FILE_ANY_ACCESS)
  63. #endif
  64. #define IOCTL_USBPRINT_GET_LPT_STATUS CTL_CODE(FILE_DEVICE_UNKNOWN, \
  65. USBPRINT_IOCTL_INDEX+12,\
  66. METHOD_BUFFERED, \
  67. FILE_ANY_ACCESS)
  68. #ifdef NEEDED
  69. #define IOCTL_USBPRINT_GET_1284_ID CTL_CODE(FILE_DEVICE_UNKNOWN, \
  70. USBPRINT_IOCTL_INDEX+13,\
  71. METHOD_BUFFERED, \
  72. FILE_ANY_ACCESS)
  73. #define IOCTL_USBPRINT_VENDOR_SET_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN, \
  74. USBPRINT_IOCTL_INDEX+14,\
  75. METHOD_BUFFERED, \
  76. FILE_ANY_ACCESS)
  77. #define IOCTL_USBPRINT_VENDOR_GET_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN, \
  78. USBPRINT_IOCTL_INDEX+15,\
  79. METHOD_BUFFERED, \
  80. FILE_ANY_ACCESS)
  81. #include <PSHPACK1.H>
  82. #define BULK 0
  83. #define INTERRUPT 1
  84. #define CONTROL 2
  85. #define ISO 3
  86. typedef struct _USBPRINT_PIPE_PERF_INFO {
  87. ULONG BytesPerSecond;
  88. ULONG ClockCyclesPerByte;
  89. } USBPRINT_PIPE_PERF_INFO, *PUSBPRINT_PIPE_PERF_INFO;
  90. typedef struct _USBPRINT_PIPE_INFO {
  91. BOOLEAN In;
  92. UCHAR PipeType;
  93. UCHAR EndpointAddress;
  94. UCHAR Interval;
  95. ULONG MaximumPacketSize;
  96. ULONG MaximumTransferSize;
  97. UCHAR Name[32];
  98. USBPRINT_PIPE_PERF_INFO PerfInfo;
  99. } USBPRINT_PIPE_INFO, *PUSBPRINT_PIPE_INFO;
  100. typedef struct _USBPRINT_INTERFACE_INFO {
  101. ULONG PipeCount;
  102. USBPRINT_PIPE_INFO Pipes[];
  103. } USBPRINT_INTERFACE_INFO, *PUSBPRINT_INTERFACE_INFO;
  104. #include <POPPACK.H>
  105. #endif
  106. #endif