diff options
author | Jeremy Allison <jra@samba.org> | 2001-03-16 00:35:57 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-03-16 00:35:57 +0000 |
commit | cd3c0592fc00d28492783db2dc7c601743a9c892 (patch) | |
tree | 9315bc5f80b9a58cddb0055bdf8eb5ca54bc0c5f /source3/include | |
parent | c09fe5e1579cf6ea487d8d5a853c5cbef43a6c51 (diff) | |
download | samba-cd3c0592fc00d28492783db2dc7c601743a9c892.tar.gz samba-cd3c0592fc00d28492783db2dc7c601743a9c892.tar.bz2 samba-cd3c0592fc00d28492783db2dc7c601743a9c892.zip |
Added files for CUP printing patch split.
Jeremy.
(This used to be commit 9822f13ae23e244e5e9a4cf3355bea2eead8cf66)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/printing.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/source3/include/printing.h b/source3/include/printing.h new file mode 100644 index 0000000000..676a0c74bf --- /dev/null +++ b/source3/include/printing.h @@ -0,0 +1,69 @@ +/* + Unix SMB/Netbios implementation. + Version 3.0 + printing definitions + Copyright (C) Andrew Tridgell 1992-2000 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" + +/* + This file defines the low-level printing system interfaces used by the + SAMBA printing subsystem. +*/ + +/* Information for print jobs */ +struct printjob { + pid_t pid; /* which process launched the job */ + int sysjob; /* the system (lp) job number */ + int fd; /* file descriptor of open file if open */ + time_t starttime; /* when the job started spooling */ + int status; /* the status of this job */ + size_t size; /* the size of the job so far */ + BOOL spooled; /* has it been sent to the spooler yet? */ + BOOL smbjob; /* set if the job is a SMB job */ + fstring filename; /* the filename used to spool the file */ + fstring jobname; /* the job name given to us by the client */ + fstring user; /* the user who started the job */ + fstring qname; /* name of the print queue the job was sent to */ +}; + +/* Information for print interfaces */ +struct printif +{ + int (*queue_get)(int snum, print_queue_struct **q, + print_status_struct *status); + int (*queue_pause)(int snum); + int (*queue_resume)(int snum); + int (*job_delete)(int snum, struct printjob *pjob); + int (*job_pause)(int snum, struct printjob *pjob); + int (*job_resume)(int snum, struct printjob *pjob); + int (*job_submit)(int snum, struct printjob *pjob); +}; + +extern struct printif generic_printif; + +#ifdef HAVE_LIBCUPS +extern struct printif cups_printif; +#endif /* HAVE_LIBCUPS */ + +#define PRINT_MAX_JOBID 10000 +#define UNIX_JOB_START PRINT_MAX_JOBID +#define NEXT_JOBID(j) ((j+1) % PRINT_MAX_JOBID > 0 ? (j+1) % PRINT_MAX_JOBID : 1) + +#define PRINT_SPOOL_PREFIX "smbprn." +#define PRINT_DATABASE_VERSION 2 |