155 lines
3.3 KiB
C
155 lines
3.3 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1992-1993 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
DosPrtP.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This contains macros and prototypes private to the DosPrint APIs.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
John Rogers (JohnRo) 02-Oct-1992
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
Notes:
|
||
|
|
||
|
All of the RxPrint APIs are wide-character APIs, regardless of
|
||
|
whether or not UNICODE is defined. This allows the net/dosprint/dosprint.c
|
||
|
code to use the winspool APIs (which are currently ANSI APIs, despite their
|
||
|
prototypes using LPTSTR in some places).
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
02-Oct-1992 JohnRo
|
||
|
Created for RAID 3556: DosPrintQGetInfo (from downlevel) level=3 rc=124.
|
||
|
22-Mar-1993 JohnRo
|
||
|
RAID 2974: NET PRINT says NT printer is held when it isn't.
|
||
|
DosPrint API cleanup.
|
||
|
Made changes suggested by PC-LINT 5.0
|
||
|
Added some IN and OUT keywords.
|
||
|
07-Apr-1993 JohnRo
|
||
|
RAID 5670: "NET PRINT \\server\share" gives err 124 (bad level) on NT.
|
||
|
Also quiet normal debug output.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#ifndef _DOSPRTP_
|
||
|
#define _DOSPRTP_
|
||
|
|
||
|
|
||
|
#ifndef PREFIX_DOSPRINT
|
||
|
#define PREFIX_DOSPRINT PREFIX_NETLIB
|
||
|
#endif
|
||
|
|
||
|
|
||
|
// In DosPrtP.c, Unicode version:
|
||
|
NET_API_STATUS
|
||
|
CommandALocalPrinterW(
|
||
|
IN LPWSTR PrinterName,
|
||
|
IN DWORD Command // PRINTER_CONTROL_PAUSE, etc.
|
||
|
);
|
||
|
|
||
|
// In DosPrtP.c, Ansi version:
|
||
|
NET_API_STATUS
|
||
|
CommandALocalJobA(
|
||
|
IN HANDLE PrinterHandle, OPTIONAL
|
||
|
IN LPWSTR LocalServerNameW,
|
||
|
IN LPSTR LocalServerNameA,
|
||
|
IN DWORD JobId,
|
||
|
IN DWORD Level,
|
||
|
IN LPBYTE pJob,
|
||
|
IN DWORD Command // JOB_CONTROL_PAUSE, etc.
|
||
|
);
|
||
|
|
||
|
// In DosPrtP.c:
|
||
|
// Note: FindLocalJob() calls SetLastError() to indicate the cause of an error.
|
||
|
HANDLE
|
||
|
FindLocalJob(
|
||
|
IN DWORD JobId
|
||
|
);
|
||
|
|
||
|
|
||
|
// In DosPrtP.c:
|
||
|
LPSTR
|
||
|
FindQueueNameInPrinterNameA(
|
||
|
IN LPCSTR PrinterName
|
||
|
);
|
||
|
|
||
|
|
||
|
// In DosPrtP.c:
|
||
|
LPWSTR
|
||
|
FindQueueNameInPrinterNameW(
|
||
|
IN LPCWSTR PrinterName
|
||
|
);
|
||
|
|
||
|
|
||
|
// BOOL
|
||
|
// NetpIsPrintDestLevelValid(
|
||
|
// IN DWORD Level, // Info level
|
||
|
// IN BOOL SetInfo // Are setinfo levels allowed?
|
||
|
// );
|
||
|
//
|
||
|
#define NetpIsPrintDestLevelValid(Level,SetInfo) \
|
||
|
/*lint -save -e506 */ /* don't complain about constant values here */ \
|
||
|
( ( (SetInfo) && ((Level)==3) ) \
|
||
|
|| ( (Level) <= 3 ) ) \
|
||
|
/*lint -restore */
|
||
|
|
||
|
|
||
|
// BOOL
|
||
|
// NetpIsPrintJobLevelValid(
|
||
|
// IN DWORD Level, // Info level
|
||
|
// IN BOOL SetInfo // Are setinfo levels allowed?
|
||
|
// );
|
||
|
//
|
||
|
#define NetpIsPrintJobLevelValid(Level,SetInfo) \
|
||
|
/*lint -save -e506 */ /* don't complain about constant values here */ \
|
||
|
( ( (SetInfo) && (((Level)==1) || ((Level)==3)) ) \
|
||
|
|| ( (Level) <= 3 ) ) \
|
||
|
/*lint -restore */
|
||
|
|
||
|
|
||
|
// BOOL
|
||
|
// NetpIsPrintQLevelValid(
|
||
|
// IN DWORD Level, // Info level
|
||
|
// IN BOOL SetInfo // Are setinfo levels allowed?
|
||
|
// );
|
||
|
//
|
||
|
#define NetpIsPrintQLevelValid(Level,SetInfo) \
|
||
|
/*lint -save -e506 */ /* don't complain about constant values here */ \
|
||
|
( ( (SetInfo) && (((Level)==1) || ((Level)==3)) ) \
|
||
|
|| ( (Level) <= 5 ) || ( (Level) == 52 ) ) \
|
||
|
/*lint -restore */
|
||
|
|
||
|
|
||
|
// In DosPrtP.c:
|
||
|
DWORD
|
||
|
NetpJobCountForQueue(
|
||
|
IN DWORD QueueLevel,
|
||
|
IN LPVOID Queue,
|
||
|
IN BOOL HasUnicodeStrings
|
||
|
);
|
||
|
|
||
|
|
||
|
// In DosPrtP.c:
|
||
|
WORD
|
||
|
PrjStatusFromJobStatus(
|
||
|
IN DWORD JobStatus
|
||
|
);
|
||
|
|
||
|
|
||
|
// In DosPrtP.c:
|
||
|
WORD
|
||
|
PrqStatusFromPrinterStatus(
|
||
|
IN DWORD PrinterStatus
|
||
|
);
|
||
|
|
||
|
|
||
|
#endif // _DOSPRTP_
|