Source code of Windows XP (NT5)
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.

152 lines
6.8 KiB

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