From ed77fca1990f96dba6fe9204e551056395c6ed29 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 23 Feb 2001 03:59:37 +0000 Subject: include/rpc_spoolss.h: Added JOB_STATUS_XXX defines. include/smb.h: Added LPQ_xx enums to correspond with the NT JOB_STATUS_XXX. We need these to be different as we're storing LPQ_xx enums in the tdb already. rpc_server/srv_spoolss_nt.c: Don't need to return status strings as we're now returning status codes. smbd/lanman.c: Change the RAP status codes to have "RAP" in the name. printing/printing.c: Keep track of the status of a job. Allow a job to be deleted from one smbd when being submitted by another. Made logic in mutex clearer. Jeremy. (This used to be commit 71029da7dd74eb91dd6953752bdf238f319d985d) --- source3/include/rpc_spoolss.h | 14 ++++++++++++++ source3/include/smb.h | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'source3/include') diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h index 94d5985688..82719b6bc9 100755 --- a/source3/include/rpc_spoolss.h +++ b/source3/include/rpc_spoolss.h @@ -154,6 +154,20 @@ #define PRINTER_ACCESS_USE 0x00000008 #define JOB_ACCESS_ADMINISTER 0x00000010 +/* JOB status codes. */ + +#define JOB_STATUS_PAUSED 0x001 +#define JOB_STATUS_ERROR 0x002 +#define JOB_STATUS_DELETING 0x004 +#define JOB_STATUS_SPOOLING 0x008 +#define JOB_STATUS_PRINTING 0x010 +#define JOB_STATUS_OFFLINE 0x020 +#define JOB_STATUS_PAPEROUT 0x040 +#define JOB_STATUS_PRINTED 0x080 +#define JOB_STATUS_DELETED 0x100 +#define JOB_STATUS_BLOCKED 0x200 +#define JOB_STATUS_USER_INTERVENTION 0x400 + /* ACE masks for the various print permissions */ #define PRINTER_ACE_FULL_CONTROL GENERIC_ALL_ACCESS diff --git a/source3/include/smb.h b/source3/include/smb.h index 7df338510d..15fb7beada 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -594,7 +594,10 @@ typedef struct { fstring domain; /* domain that the client specified */ } userdom_struct; -enum {LPQ_QUEUED,LPQ_PAUSED,LPQ_SPOOLING,LPQ_PRINTING}; +/* Extra fields above "LPQ_PRINTING" are used to map extra NT status codes. */ + +enum {LPQ_QUEUED=0,LPQ_PAUSED,LPQ_SPOOLING,LPQ_PRINTING,LPQ_ERROR,LPQ_DELETING, + LPQ_OFFLINE,LPQ_PAPEROUT,LPQ_PRINTED,LPQ_DELETED,LPQ_BLOCKED,LPQ_USER_INTERVENTION}; typedef struct _print_queue_struct { -- cgit