2 * Unix SMB/CIFS implementation.
3 * RPC Pipe client / server routines
4 * Copyright (C) Andrew Tridgell 1992-2000,
5 * Copyright (C) Luke Kenneth Casson Leighton 1996-2000,
6 * Copyright (C) Jean François Micouleau 1998-2000,
7 * Copyright (C) Jeremy Allison 2001-2002,
8 * Copyright (C) Gerald Carter 2000-2004,
9 * Copyright (C) Tim Potter 2001-2002.
10 * Copyright (C) Guenther Deschner 2009-2010.
11 * Copyright (C) Andreas Schneider 2010.
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 3 of the License, or
16 * (at your option) any later version.
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, see <http://www.gnu.org/licenses/>.
27 /* Since the SPOOLSS rpc routines are basically DOS 16-bit calls wrapped
28 up, all the errors returned are DOS errors, not NT status codes. */
31 #include "../librpc/gen_ndr/spoolss.h"
33 struct notify_back_channel
;
35 #define SPLHND_PRINTER 1
36 #define SPLHND_SERVER 2
37 #define SPLHND_PORTMON_TCP 3
38 #define SPLHND_PORTMON_LOCAL 4
40 /* structure to store the printer handles */
41 /* and a reference to what it's pointing to */
42 /* and the notify info asked about */
43 /* that's the central struct */
44 struct printer_handle
{
45 struct printer_handle
*prev
, *next
;
46 bool document_started
;
48 uint32_t jobid
; /* jobid in printing backend */
50 const char *servername
;
52 uint32_t access_granted
;
57 uint32_t printerlocal
;
58 struct spoolss_NotifyOption
*option
;
59 struct policy_handle cli_hnd
;
60 struct notify_back_channel
*cli_chan
;
62 /* are we in a FindNextPrinterChangeNotify() call? */
64 struct messaging_context
*msg_ctx
;
71 /* devmode sent in the OpenPrinter() call */
72 struct spoolss_DeviceMode
*devmode
;
74 /* TODO cache the printer info2 structure */
75 struct spoolss_PrinterInfo2
*info2
;