WHATSNEW: Add release notes for Samba 4.15.0rc6.
[Samba.git] / librpc / idl / ntprinting.idl
blobcfb1922d0a2c4a7ba3a0e35fcfe7a76da346ecdb
1 #include "idl_types.h"
3 /*
4 old s3 spoolss tdb on-disc interface definitions
5 */
8 pointer_default(unique),
9 helpstring("s3 printing tdb formats"),
10 uuid("a025d3cb-c605-40d6-86e1-4cff18e7dd94"),
11 helper("../librpc/ndr/ndr_ntprinting.h")
13 interface ntprinting
15 /* Samba 3 tdb storage format: forms
16 * "dddddddd" */
18 typedef [flag(NDR_NOALIGN),public] struct {
19 uint32 position;
20 uint32 flag;
21 uint32 width;
22 uint32 length;
23 uint32 left;
24 uint32 top;
25 uint32 right;
26 uint32 bottom;
27 } ntprinting_form;
30 * First the string flags and then the Samba 3 tdb storage
31 * format: drivers
32 * "dffffffff" followed by a remaining buffer of "f" array */
34 typedef [flag(NDR_NOALIGN),public] struct {
35 [skip_noinit] uint32 string_flags;
37 uint32 version;
38 [flag(ndr_ntprinting_string_flags(r->string_flags))] string name;
39 [flag(ndr_ntprinting_string_flags(r->string_flags))] string environment;
40 [flag(ndr_ntprinting_string_flags(r->string_flags))] string driverpath;
41 [flag(ndr_ntprinting_string_flags(r->string_flags))] string datafile;
42 [flag(ndr_ntprinting_string_flags(r->string_flags))] string configfile;
43 [flag(ndr_ntprinting_string_flags(r->string_flags))] string helpfile;
44 [flag(ndr_ntprinting_string_flags(r->string_flags))] string monitorname;
45 [flag(ndr_ntprinting_string_flags(r->string_flags))] string defaultdatatype;
46 [flag((ndr_ntprinting_string_flags(r->string_flags)&~STR_NULLTERM)|STR_NOTERM|NDR_REMAINING)] string_array dependent_files;
47 } ntprinting_driver;
49 /* Samba 3 tdb storage format: devicemode
50 * "p" ptr to devicemode
51 * "ffwwwwwwwwwwwwwwwwwwdddddddddddddd"
52 * "p" ptr to devicemode private data
53 * "B" private data blob */
55 typedef [flag(NDR_NOALIGN),public] struct {
56 [skip_noinit] uint32 string_flags;
58 /* uint32 devicemode_ptr; */
59 [flag(ndr_ntprinting_string_flags(r->string_flags))] string devicename;
60 [flag(ndr_ntprinting_string_flags(r->string_flags))] string formname;
61 uint16 specversion;
62 uint16 driverversion;
63 uint16 size;
64 uint16 driverextra;
65 uint16 orientation;
66 uint16 papersize;
67 uint16 paperlength;
68 uint16 paperwidth;
69 uint16 scale;
70 uint16 copies;
71 uint16 defaultsource;
72 uint16 printquality;
73 uint16 color;
74 uint16 duplex;
75 uint16 yresolution;
76 uint16 ttoption;
77 uint16 collate;
78 uint16 logpixels;
79 uint32 fields;
80 uint32 bitsperpel;
81 uint32 pelswidth;
82 uint32 pelsheight;
83 uint32 displayflags;
84 uint32 displayfrequency;
85 uint32 icmmethod;
86 uint32 icmintent;
87 uint32 mediatype;
88 uint32 dithertype;
89 uint32 reserved1;
90 uint32 reserved2;
91 uint32 panningwidth;
92 uint32 panningheight;
93 DATA_BLOB *nt_dev_private;
94 } ntprinting_devicemode;
97 * First the string flags and then the Samba 3 tdb storage
98 * format: printer_data
99 * "p" ptr to printer_data
100 * "fdB" */
102 typedef [flag(NDR_NOALIGN),public] struct {
103 [skip_noinit] uint32 string_flags;
105 uint32 ptr;
106 [flag(ndr_ntprinting_string_flags(r->string_flags))] string name;
107 uint32 type;
108 DATA_BLOB data;
109 } ntprinting_printer_data;
112 * First the string flags and then the Samba 3 tdb storage
113 * format: printer_info
114 * "dddddddddddfffffPfffff"
117 typedef [flag(NDR_NOALIGN),public] struct {
118 [skip_noinit] uint32 string_flags;
120 uint32 attributes;
121 uint32 priority;
122 uint32 default_priority;
123 uint32 starttime;
124 uint32 untiltime;
125 uint32 status;
126 uint32 cjobs;
127 uint32 averageppm;
128 uint32 changeid;
129 uint32 c_setprinter;
130 uint32 setuptime;
131 [flag(ndr_ntprinting_string_flags(r->string_flags))] string servername;
132 [flag(ndr_ntprinting_string_flags(r->string_flags))] string printername;
133 [flag(ndr_ntprinting_string_flags(r->string_flags))] string sharename;
134 [flag(ndr_ntprinting_string_flags(r->string_flags))] string portname;
135 [flag(ndr_ntprinting_string_flags(r->string_flags))] string drivername;
136 [flag(ndr_ntprinting_string_flags(r->string_flags))] string comment;
137 [flag(ndr_ntprinting_string_flags(r->string_flags))] string location;
138 [flag(ndr_ntprinting_string_flags(r->string_flags))] string sepfile;
139 [flag(ndr_ntprinting_string_flags(r->string_flags))] string printprocessor;
140 [flag(ndr_ntprinting_string_flags(r->string_flags))] string datatype;
141 [flag(ndr_ntprinting_string_flags(r->string_flags))] string parameters;
142 } ntprinting_printer_info;
144 /* Abstract Samba 3 printer
145 * printer_info
146 * followed by ntprinting_devicemode
147 * followed by remaining buffer of ntprinting_printer_data array */
149 typedef [flag(NDR_NOALIGN),public,nopull] struct {
150 ntprinting_printer_info info;
151 ntprinting_devicemode *devmode;
152 uint32 count;
153 ntprinting_printer_data printer_data[count];
154 } ntprinting_printer;