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