From 660506d359d76700f6f6ae5b7e9c4d05fe505fb6 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 4 May 2010 02:51:12 -0400 Subject: s3-printing: Handled case when smbd spools a file on behalf of spoolss. --- source3/include/proto.h | 2 +- source3/include/smb.h | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'source3/include') diff --git a/source3/include/proto.h b/source3/include/proto.h index 8912e5e46e..df512e50ed 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -4763,7 +4763,7 @@ WERROR print_job_start(struct auth_serversupplied_info *server_info, int snum, const char *docname, const char *filename, struct spoolss_DeviceMode *devmode, uint32_t *_jobid); void print_job_endpage(int snum, uint32 jobid); -bool print_job_end(int snum, uint32 jobid, enum file_close_type close_type); +NTSTATUS print_job_end(int snum, uint32 jobid, enum file_close_type close_type); int print_queue_status(int snum, print_queue_struct **ppqueue, print_status_struct *status); diff --git a/source3/include/smb.h b/source3/include/smb.h index 4d60a3ad11..5266192f0d 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -635,8 +635,23 @@ typedef struct { /* 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}; +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, + + /* smbd is dooing the file spooling before passing control to spoolss */ + PJOB_SMBD_SPOOLING +}; typedef struct _print_queue_struct { int job; /* normally the UNIX jobid -- see note in -- cgit