Adding RPC spoolss code support and some new low-level printing functions.
[abartlet/samba.git/.git] / source3 / include / nt_printing.h
1 typedef struct nt_printer_driver_info_level_3
2 {
3         uint32 cversion;
4
5         fstring name;
6         fstring environment;
7         fstring driverpath;
8         fstring datafile;
9         fstring configfile;
10         fstring helpfile;
11         fstring monitorname;
12         fstring defaultdatatype;
13         char    **dependentfiles;
14
15 } NT_PRINTER_DRIVER_INFO_LEVEL_3;
16
17 typedef struct nt_printer_driver_info_level
18 {
19         NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3;
20 } NT_PRINTER_DRIVER_INFO_LEVEL;
21
22 typedef struct nt_printer_param
23 {
24         fstring value;
25         uint32 type;
26         uint8 *data;
27         int data_len;
28         struct nt_printer_param *next;
29 } NT_PRINTER_PARAM;
30
31 typedef struct ntdevicemode
32 {
33         fstring devicename;
34         uint16  specversion;
35         uint16  driverversion;
36         uint16  size;
37         uint16  driverextra;
38         uint32  fields;
39         uint16  orientation;
40         uint16  papersize;
41         uint16  paperlength;
42         uint16  paperwidth;
43         uint16  scale;
44         uint16  copies;
45         uint16  defaultsource;
46         uint16  printquality;
47         uint16  color;
48         uint16  duplex;
49         uint16  yresolution;
50         uint16  ttoption;
51         uint16  collate;
52         fstring formname;
53         uint16  logpixels;
54         uint32  bitsperpel;
55         uint32  pelswidth;
56         uint32  pelsheight;
57         uint32  displayflags;
58         uint32  displayfrequency;
59         uint32  icmmethod;
60         uint32  icmintent;
61         uint32  mediatype;
62         uint32  dithertype;
63         uint32  reserved1;
64         uint32  reserved2;
65         uint32  panningwidth;
66         uint32  panningheight;
67         uint8   *private;
68 } NT_DEVICEMODE; 
69
70 typedef struct nt_printer_info_level_2
71 {
72         uint32 attributes;
73         uint32 priority;
74         uint32 default_priority;
75         uint32 starttime;
76         uint32 untiltime;
77         uint32 status;
78         uint32 cjobs;
79         uint32 averageppm;
80         fstring servername;
81         fstring printername;
82         fstring sharename;
83         fstring portname;
84         fstring drivername;
85         fstring comment;
86         fstring location;
87         NT_DEVICEMODE *devmode;
88         fstring sepfile;
89         fstring printprocessor;
90         fstring datatype;
91         fstring parameters;
92         NT_PRINTER_PARAM *specific;
93         /* SEC_DESC_BUF *secdesc; */
94         /* not used but ... and how ??? */
95 } NT_PRINTER_INFO_LEVEL_2;
96
97 typedef struct nt_printer_info_level
98 {
99         NT_PRINTER_INFO_LEVEL_2 *info_2;
100 } NT_PRINTER_INFO_LEVEL;
101
102