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.

111 lines
5.1 KiB

  1. #ifndef __IOBLOCKDEFS
  2. #define __IOBLOCKDEFS
  3. #include "pch.h"
  4. #define MAX_IO_HANDLES 16
  5. #define DWORD_ALIGN 0
  6. #define LEFT_JUSTIFIED 0
  7. #define CENTERED 1
  8. #define RIGHT_JUSTIFIED 2
  9. #define TOP_JUSTIFIED 0
  10. #define CENTERED 1
  11. #define BOTTOM_JUSTIFIED 2
  12. #define XRESOLUTION_ID 2
  13. #define YRESOLUTION_ID 3
  14. #define XPOS_ID 4
  15. #define YPOS_ID 5
  16. #define XEXT_ID 6
  17. #define YEXT_ID 7
  18. #define BRIGHTNESS_ID 8
  19. #define CONTRAST_ID 9
  20. #define DATA_TYPE_ID 10
  21. #define BIT_DEPTH_ID 11
  22. #define NEGATIVE_ID 12
  23. #define PIXEL_PACKING_ID 13
  24. #define PIXEL_FORMAT_ID 14
  25. #define BED_WIDTH_ID 15
  26. #define BED_HEIGHT_ID 16
  27. #define XOPTICAL_ID 17
  28. #define YOPTICAL_ID 18
  29. #define ADF_ID 19
  30. #define TPA_ID 20
  31. #define ADF_WIDTH_ID 21
  32. #define ADF_HEIGHT_ID 22
  33. #define ADF_VJUSTIFY_ID 23
  34. #define ADF_HJUSTIFY_ID 24
  35. #define ADF_MAX_PAGES_ID 25
  36. #define FIRMWARE_VER_ID 26
  37. #define DATA_ALIGN_ID 27
  38. typedef struct _GSD_EVENT_INFO {
  39. GUID *pEventGUID; // pointer to the GUID of event that just occurred
  40. HANDLE hShutDownEvent; // handle to the shutdown event (interrupt usage only)
  41. HANDLE *phSignalEvent; // pointer to event handle to used to signal service (interrupt usage only)
  42. } GSD_EVENT_INFO, *PGSD_EVENT_INFO;
  43. typedef struct _GSD_INFO {
  44. LPTSTR szDeviceName; // Device Name (Device Description from DeviceData section)
  45. LPTSTR szProductFileName; // Product initialization script
  46. LPTSTR szFamilyFileName; // Product family script
  47. } GSD_INFO, *PGSD_INFO;
  48. typedef struct _RANGEVALUEEX {
  49. LONG lMin; // minimum value
  50. LONG lMax; // maximum value
  51. LONG lNom; // nominal value
  52. LONG lStep; // increment/step value
  53. } RANGEVALUEEX, *PRANGEVALUEEX;
  54. typedef struct _SCANSETTINGS {
  55. HANDLE DeviceIOHandles[MAX_IO_HANDLES]; // data pipes
  56. // string values
  57. TCHAR Version[10]; // GSD version
  58. TCHAR DeviceName[255]; // Device Name ??(needed?)
  59. TCHAR FirmwareVersion[10]; // firmware version
  60. // current values
  61. LONG BUSType; // bus type ??(needed?)
  62. LONG bNegative; // negative on/off
  63. LONG CurrentXResolution; // current x resolution setting
  64. LONG CurrentYResolution; // current y resolution setting
  65. LONG BedWidth; // bed width (1/1000th inch)
  66. LONG BedHeight; // bed height (1/1000th inch)
  67. LONG FeederWidth; // feeder width (1/1000th inch)
  68. LONG FeederHeight; // feeder height (1/1000th inch)
  69. LONG FeederJustification; // feeder justification
  70. LONG HFeederJustification; // feeder horizontal justification
  71. LONG VFeederJustification; // feeder vertical justification
  72. LONG MaxADFPageCapacity; // max page capacity of feeder
  73. LONG XOpticalResolution; // optical x resolution
  74. LONG YOpticalResolution; // optical y resolution
  75. LONG CurrentBrightness; // current brightness setting
  76. LONG CurrentContrast; // current contrast setting
  77. LONG CurrentDataType; // current data type setting
  78. LONG CurrentBitDepth; // current bit depth setting
  79. LONG CurrentXPos; // current x position setting
  80. LONG CurrentYPos; // current u position setting
  81. LONG CurrentXExtent; // current x extent setting
  82. LONG CurrentYExtent; // current y extent setting
  83. LONG ADFSupport; // ADF support TRUE/FALSE
  84. LONG TPASupport; // TPA support TRUE/FALSE
  85. LONG RawPixelPackingOrder; // raw pixel packing order
  86. LONG RawPixelFormat; // raw pixel format
  87. LONG RawDataAlignment; // raw data alignment
  88. // Range values
  89. RANGEVALUEEX XSupportedResolutionsRange; // valid values for x resolution
  90. RANGEVALUEEX YSupportedResolutionsRange; // valid values for y resolution
  91. RANGEVALUEEX XExtentsRange; // valid values for x extent
  92. RANGEVALUEEX YExtentsRange; // valid values for y extent
  93. RANGEVALUEEX XPosRange; // valid values for x position
  94. RANGEVALUEEX YPosRange; // valid values for y position
  95. RANGEVALUEEX BrightnessRange; // valid values for brightness
  96. RANGEVALUEEX ContrastRange; // valid values for contrast
  97. // List values
  98. PLONG XSupportedResolutionsList; // valid values for x resolution (LIST)
  99. PLONG YSupportedResolutionsList; // valid values for y resolution (LIST)
  100. PLONG SupportedDataTypesList; // supported data types (LIST)
  101. }SCANSETTINGS, *PSCANSETTIINGS;
  102. #endif