1 | #include "idl_types.h"
|
---|
2 |
|
---|
3 | /*
|
---|
4 | old s3 spoolss tdb on-disc interface definitions
|
---|
5 | */
|
---|
6 |
|
---|
7 | [
|
---|
8 | pointer_default(unique),
|
---|
9 | helpstring("s3 printing tdb formats"),
|
---|
10 | uuid("a025d3cb-c605-40d6-86e1-4cff18e7dd94"),
|
---|
11 | helper("../librpc/ndr/ndr_ntprinting.h")
|
---|
12 | ]
|
---|
13 | interface ntprinting
|
---|
14 | {
|
---|
15 | /* Samba 3 tdb storage format: forms
|
---|
16 | * "dddddddd" */
|
---|
17 |
|
---|
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;
|
---|
28 |
|
---|
29 | [public] void decode_ntprinting_form(
|
---|
30 | [in] ntprinting_form form
|
---|
31 | );
|
---|
32 |
|
---|
33 | /*
|
---|
34 | * First the string flags and then the Samba 3 tdb storage
|
---|
35 | * format: drivers
|
---|
36 | * "dffffffff" followed by a remaining buffer of "f" array */
|
---|
37 |
|
---|
38 | typedef [flag(NDR_NOALIGN),public] struct {
|
---|
39 | [skip] uint32 string_flags;
|
---|
40 |
|
---|
41 | uint32 version;
|
---|
42 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string name;
|
---|
43 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string environment;
|
---|
44 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string driverpath;
|
---|
45 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string datafile;
|
---|
46 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string configfile;
|
---|
47 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string helpfile;
|
---|
48 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string monitorname;
|
---|
49 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string defaultdatatype;
|
---|
50 | [flag((ndr_ntprinting_string_flags(r->string_flags)&~STR_NULLTERM)|STR_NOTERM|NDR_REMAINING)] string_array dependent_files;
|
---|
51 | } ntprinting_driver;
|
---|
52 |
|
---|
53 | [public] void decode_ntprinting_driver(
|
---|
54 | [in] ntprinting_driver driver
|
---|
55 | );
|
---|
56 |
|
---|
57 | /* Samba 3 tdb storage format: devicemode
|
---|
58 | * "p" ptr to devicemode
|
---|
59 | * "ffwwwwwwwwwwwwwwwwwwdddddddddddddd"
|
---|
60 | * "p" ptr to devicemode private data
|
---|
61 | * "B" private data blob */
|
---|
62 |
|
---|
63 | typedef [flag(NDR_NOALIGN),public] struct {
|
---|
64 | [skip] uint32 string_flags;
|
---|
65 |
|
---|
66 | /* uint32 devicemode_ptr; */
|
---|
67 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string devicename;
|
---|
68 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string formname;
|
---|
69 | uint16 specversion;
|
---|
70 | uint16 driverversion;
|
---|
71 | uint16 size;
|
---|
72 | uint16 driverextra;
|
---|
73 | uint16 orientation;
|
---|
74 | uint16 papersize;
|
---|
75 | uint16 paperlength;
|
---|
76 | uint16 paperwidth;
|
---|
77 | uint16 scale;
|
---|
78 | uint16 copies;
|
---|
79 | uint16 defaultsource;
|
---|
80 | uint16 printquality;
|
---|
81 | uint16 color;
|
---|
82 | uint16 duplex;
|
---|
83 | uint16 yresolution;
|
---|
84 | uint16 ttoption;
|
---|
85 | uint16 collate;
|
---|
86 | uint16 logpixels;
|
---|
87 | uint32 fields;
|
---|
88 | uint32 bitsperpel;
|
---|
89 | uint32 pelswidth;
|
---|
90 | uint32 pelsheight;
|
---|
91 | uint32 displayflags;
|
---|
92 | uint32 displayfrequency;
|
---|
93 | uint32 icmmethod;
|
---|
94 | uint32 icmintent;
|
---|
95 | uint32 mediatype;
|
---|
96 | uint32 dithertype;
|
---|
97 | uint32 reserved1;
|
---|
98 | uint32 reserved2;
|
---|
99 | uint32 panningwidth;
|
---|
100 | uint32 panningheight;
|
---|
101 | DATA_BLOB *nt_dev_private;
|
---|
102 | } ntprinting_devicemode;
|
---|
103 |
|
---|
104 | /*
|
---|
105 | * First the string flags and then the Samba 3 tdb storage
|
---|
106 | * format: printer_data
|
---|
107 | * "p" ptr to printer_data
|
---|
108 | * "fdB" */
|
---|
109 |
|
---|
110 | typedef [flag(NDR_NOALIGN),public] struct {
|
---|
111 | [skip] uint32 string_flags;
|
---|
112 |
|
---|
113 | uint32 ptr;
|
---|
114 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string name;
|
---|
115 | uint32 type;
|
---|
116 | DATA_BLOB data;
|
---|
117 | } ntprinting_printer_data;
|
---|
118 |
|
---|
119 | /*
|
---|
120 | * First the string flags and then the Samba 3 tdb storage
|
---|
121 | * format: printer_info
|
---|
122 | * "dddddddddddfffffPfffff"
|
---|
123 | */
|
---|
124 |
|
---|
125 | typedef [flag(NDR_NOALIGN),public] struct {
|
---|
126 | [skip] uint32 string_flags;
|
---|
127 |
|
---|
128 | uint32 attributes;
|
---|
129 | uint32 priority;
|
---|
130 | uint32 default_priority;
|
---|
131 | uint32 starttime;
|
---|
132 | uint32 untiltime;
|
---|
133 | uint32 status;
|
---|
134 | uint32 cjobs;
|
---|
135 | uint32 averageppm;
|
---|
136 | uint32 changeid;
|
---|
137 | uint32 c_setprinter;
|
---|
138 | uint32 setuptime;
|
---|
139 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string servername;
|
---|
140 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string printername;
|
---|
141 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string sharename;
|
---|
142 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string portname;
|
---|
143 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string drivername;
|
---|
144 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string comment;
|
---|
145 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string location;
|
---|
146 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string sepfile;
|
---|
147 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string printprocessor;
|
---|
148 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string datatype;
|
---|
149 | [flag(ndr_ntprinting_string_flags(r->string_flags))] string parameters;
|
---|
150 | } ntprinting_printer_info;
|
---|
151 |
|
---|
152 | /* Abstract Samba 3 printer
|
---|
153 | * printer_info
|
---|
154 | * followed by ntprinting_devicemode
|
---|
155 | * followed by remaining buffer of ntprinting_printer_data array */
|
---|
156 |
|
---|
157 | typedef [flag(NDR_NOALIGN),public,nopull] struct {
|
---|
158 | ntprinting_printer_info info;
|
---|
159 | ntprinting_devicemode *devmode;
|
---|
160 | uint32 count;
|
---|
161 | ntprinting_printer_data printer_data[count];
|
---|
162 | } ntprinting_printer;
|
---|
163 |
|
---|
164 | [public] void decode_ntprinting_printer(
|
---|
165 | [in] ntprinting_printer printer
|
---|
166 | );
|
---|
167 | }
|
---|