Windows NT 4.0 source code leak
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.

154 lines
3.9 KiB

4 years ago
  1. /*
  2. * Windows/Network Interface
  3. * Copyright (C) Microsoft 1989
  4. *
  5. * Standard WINNET Driver Header File, spec version 3.10
  6. * rev. 3.10.05 ;Internal
  7. */
  8. /*
  9. * SPOOLING - CONTROLLING JOBS
  10. */
  11. #include "winnetwk.h"
  12. #include "mpr.h"
  13. // BUGBUG - We need a pointer to an unsigned quantity
  14. // Remove when we have one
  15. #define LPUINT PUINT
  16. #define WNJ_NULL_JOBID 0
  17. WORD FAR PASCAL WNetOpenJob(LPTSTR,LPTSTR,WORD,LPINT);
  18. WORD FAR PASCAL WNetCloseJob(WORD,LPINT,LPTSTR);
  19. WORD FAR PASCAL WNetWriteJob(HANDLE,LPTSTR,LPINT);
  20. WORD FAR PASCAL WNetAbortJob(WORD,LPTSTR);
  21. WORD FAR PASCAL WNetHoldJob(LPTSTR,WORD);
  22. WORD FAR PASCAL WNetReleaseJob(LPTSTR,WORD);
  23. WORD FAR PASCAL WNetCancelJob(LPTSTR,WORD);
  24. WORD FAR PASCAL WNetSetJobCopies(LPTSTR,WORD,WORD);
  25. /*
  26. * SPOOLING - QUEUE AND JOB INFO
  27. */
  28. typedef struct _queuestruct {
  29. WORD pqName;
  30. WORD pqComment;
  31. WORD pqStatus;
  32. WORD pqJobcount;
  33. WORD pqPrinters;
  34. } QUEUESTRUCT;
  35. typedef QUEUESTRUCT far * LPQUEUESTRUCT;
  36. #define WNPRQ_ACTIVE 0x0
  37. #define WNPRQ_PAUSE 0x1
  38. #define WNPRQ_ERROR 0x2
  39. #define WNPRQ_PENDING 0x3
  40. #define WNPRQ_PROBLEM 0x4
  41. typedef struct _jobstruct {
  42. WORD pjId;
  43. WORD pjUsername;
  44. WORD pjParms;
  45. WORD pjPosition;
  46. WORD pjStatus;
  47. DWORD pjSubmitted;
  48. DWORD pjSize;
  49. WORD pjCopies;
  50. WORD pjComment;
  51. } JOBSTRUCT;
  52. typedef JOBSTRUCT far * LPJOBSTRUCT;
  53. #define WNPRJ_QSTATUS 0x0007
  54. #define WNPRJ_QS_QUEUED 0x0000
  55. #define WNPRJ_QS_PAUSED 0x0001
  56. #define WNPRJ_QS_SPOOLING 0x0002
  57. #define WNPRJ_QS_PRINTING 0x0003
  58. #define WNPRJ_DEVSTATUS 0x0FF8
  59. #define WNPRJ_DS_COMPLETE 0x0008
  60. #define WNPRJ_DS_INTERV 0x0010
  61. #define WNPRJ_DS_ERROR 0x0020
  62. #define WNPRJ_DS_DESTOFFLINE 0x0040
  63. #define WNPRJ_DS_DESTPAUSED 0x0080
  64. #define WNPRJ_DS_NOTIFY 0x0100
  65. #define WNPRJ_DS_DESTNOPAPER 0x0200
  66. #define WNPRJ_DS_DESTFORMCHG 0x0400
  67. #define WNPRJ_DS_DESTCRTCHG 0x0800
  68. #define WNPRJ_DS_DESTPENCHG 0x1000
  69. #define SP_QUEUECHANGED 0x0500
  70. WORD FAR PASCAL WNetWatchQueue(HWND,LPTSTR,LPTSTR,WORD);
  71. WORD FAR PASCAL WNetUnwatchQueue(LPTSTR);
  72. WORD FAR PASCAL WNetLockQueueData(LPTSTR,LPTSTR,LPQUEUESTRUCT FAR *);
  73. WORD FAR PASCAL WNetUnlockQueueData(LPTSTR);
  74. #ifdef LFN
  75. /* this is the data structure returned from LFNFindFirst and
  76. * LFNFindNext. The last field, achName, is variable length. The size
  77. * of the name in that field is given by cchName, plus 1 for the zero
  78. * terminator.
  79. */
  80. typedef struct _filefindbuf2
  81. {
  82. WORD fdateCreation;
  83. WORD ftimeCreation;
  84. WORD fdateLastAccess;
  85. WORD ftimeLastAccess;
  86. WORD fdateLastWrite;
  87. WORD ftimeLastWrite;
  88. DWORD cbFile;
  89. DWORD cbFileAlloc;
  90. WORD attr;
  91. DWORD cbList;
  92. BYTE cchName;
  93. BYTE achName[1];
  94. } FILEFINDBUF2, FAR * PFILEFINDBUF2;
  95. typedef BOOL (FAR PASCAL *PQUERYPROC)( void );
  96. WORD FAR PASCAL LFNFindFirst(LPTSTR,WORD,LPINT,LPINT,WORD,PFILEFINDBUF2);
  97. WORD FAR PASCAL LFNFindNext(HANDLE,LPINT,WORD,PFILEFINDBUF2);
  98. WORD FAR PASCAL LFNFindClose(HANDLE);
  99. WORD FAR PASCAL LFNGetAttribute(LPTSTR,LPINT);
  100. WORD FAR PASCAL LFNSetAttribute(LPTSTR,WORD);
  101. WORD FAR PASCAL LFNCopy(LPTSTR,LPTSTR,PQUERYPROC);
  102. WORD FAR PASCAL LFNMove(LPTSTR,LPTSTR);
  103. WORD FAR PASCAL LFNDelete(LPTSTR);
  104. WORD FAR PASCAL LFNMKDir(LPTSTR);
  105. WORD FAR PASCAL LFNRMDir(LPTSTR);
  106. WORD FAR PASCAL LFNGetVolumeLabel(WORD,LPTSTR);
  107. WORD FAR PASCAL LFNSetVolumeLabel(WORD,LPTSTR);
  108. WORD FAR PASCAL LFNParse(LPTSTR,LPTSTR,LPTSTR);
  109. WORD FAR PASCAL LFNVolumeType(WORD,LPINT);
  110. /* return values from LFNParse
  111. */
  112. #define FILE_83_CI 0
  113. #define FILE_83_CS 1
  114. #define FILE_LONG 2
  115. /* volumes types from LFNVolumeType
  116. */
  117. #define VOLUME_STANDARD 0
  118. #define VOLUME_LONGNAMES 1
  119. // will add others later, == DOS int 21h error codes.
  120. // this error code causes a call to WNetGetError, WNetGetErrorText
  121. // to get the error text.
  122. #define ERROR_NETWORKSPECIFIC 0xFFFF
  123. #endif