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.

118 lines
2.8 KiB

  1. ///////////////////////////////////////////////////////////////
  2. // fuxl.h
  3. //
  4. // September.3,1997 H.Ishida (FPL)
  5. //
  6. // COPYRIGHT(C) FUJITSU LIMITED 1997
  7. // NTRAID#NTBUG9-553890-2002/03/22-yasuho-: mandatory changes (strsafe.h)
  8. #include <minidrv.h>
  9. #include <stdio.h>
  10. #include <prcomoem.h>
  11. #include <strsafe.h>
  12. #define FUXL_OEM_SIGNATURE 'FUXL'
  13. #define FUXL_OEM_VERSION 0x00010000L
  14. typedef const BYTE FAR* LPCBYTE;
  15. typedef struct tag_FUXL_OEM_EXTRADATA {
  16. OEM_DMEXTRAHEADER dmExtraHdr;
  17. } FUXL_OEM_EXTRADATA, *PFUXL_OEM_EXTRADATA;
  18. #define WRITESPOOLBUF(p, s, n) \
  19. ((p)->pDrvProcs->DrvWriteSpoolBuf((p), (s), (n)))
  20. #define IS_VALID_FUXLPDEV(p) \
  21. ((p) != NULL && (p)->dwSignature == FUXL_OEM_SIGNATURE)
  22. #define FUXL_MASTER_UNIT 600
  23. #define FUXL_MASTER_TO_DEVICE(p,d) \
  24. ((p)->devData.dwResolution * (d) / FUXL_MASTER_UNIT)
  25. typedef struct tag_FUXLDATA {
  26. DWORD dwResolution;
  27. DWORD dwCopies;
  28. DWORD dwSizeReduction;
  29. DWORD dwSmoothing;
  30. DWORD dwTonerSave;
  31. DWORD dwForm;
  32. DWORD dwPaperWidth;
  33. DWORD dwPaperLength;
  34. DWORD dwPaperOrientation;
  35. DWORD dwInputBin;
  36. DWORD dwDuplex;
  37. DWORD dwDuplexPosition;
  38. DWORD dwDuplexFrontPageMergin;
  39. DWORD dwDuplexBackPageMergin;
  40. DWORD dwDuplexWhitePage;
  41. } FUXLDATA;
  42. typedef struct tag_FUXLDATA* PFUXLDATA;
  43. typedef const struct tag_FUXLDATA* PCFUXLDATA;
  44. // FUXLDATA.dwForm
  45. #define FUXL_FORM_A3 0x00000003
  46. #define FUXL_FORM_A4 0x00000004
  47. #define FUXL_FORM_A5 0x00000005
  48. #define FUXL_FORM_B4 0x00010004
  49. #define FUXL_FORM_B5 0x00010005
  50. #define FUXL_FORM_LEGAL 0x00020000
  51. #define FUXL_FORM_LETTER 0x00030000
  52. #define FUXL_FORM_JAPANESE_POSTCARD 0x00040000
  53. #define FUXL_FORM_CUSTOM_SIZE 0x00090000
  54. // FUXLDATA.dwInputBin
  55. #define FUXL_INPUTBIN_AUTO 0
  56. #define FUXL_INPUTBIN_BIN1 1
  57. #define FUXL_INPUTBIN_BIN2 2
  58. #define FUXL_INPUTBIN_BIN3 3
  59. #define FUXL_INPUTBIN_BIN4 4
  60. #define FUXL_INPUTBIN_MANUAL 9
  61. typedef struct tag_FUXLPDEV {
  62. DWORD dwSignature;
  63. FUXLDATA reqData;
  64. FUXLDATA devData;
  65. int iLinefeedSpacing; // linefeed spacing[device corrdinate]
  66. int x; // cursor position[device coordinate]
  67. int y;
  68. DWORD cxPage; // printable area[dot]
  69. DWORD cyPage;
  70. DWORD cbBlockData; // send block data
  71. DWORD cBlockByteWidth;
  72. DWORD cBlockHeight;
  73. LPBYTE pbBand; // Band memory
  74. DWORD cbBand;
  75. int yBandTop; // Top coordinate of Band memory.
  76. int cBandByteWidth; // Byte width of Band memory
  77. int cyBandSegment; // Split Graphics data within 64K
  78. BOOL bBandDirty; // TRUE: Band memory is Dirty(Not all white).
  79. BOOL bBandError; // TRUE: I can't alloc memory for lpbBand
  80. DWORD dwOutputCmd; // Output data format. One of OUTPUT_xxxx macro.
  81. } FUXLPDEV, *PFUXLPDEV;
  82. // @Aug/31/98 ->
  83. #define MAX_COPIES_VALUE 999
  84. // @Aug/31/98 <-
  85. // end of fuxl.h