Print this page
1575 untangle libmlrpc ... (smbsrv)
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/common/smbsrv/ndl/spoolss.ndl
+++ new/usr/src/uts/common/smbsrv/ndl/spoolss.ndl
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License (the "License").
6 6 * You may not use this file except in compliance with the License.
7 7 *
8 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 * or http://www.opensolaris.org/os/licensing.
10 10 * See the License for the specific language governing permissions
11 11 * and limitations under the License.
12 12 *
↓ open down ↓ |
12 lines elided |
↑ open up ↑ |
13 13 * When distributing Covered Code, include this CDDL HEADER in each
14 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 15 * If applicable, add the following below this CDDL HEADER, with the
16 16 * fields enclosed by brackets "[]" replaced with your own identifying
17 17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 18 *
19 19 * CDDL HEADER END
20 20 */
21 21 /*
22 22 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
23 + * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
23 24 */
24 25
25 26 #ifndef _SPOOLSS_NDL_
26 27 #define _SPOOLSS_NDL_
27 28
28 -#include "ndrtypes.ndl"
29 +#include <libmlrpc/ndrtypes.ndl>
29 30 #include "security.ndl"
30 31
31 32 #define TABLE_STRING 1
32 33 #define TABLE_DWORD 2
33 34 #define TABLE_TIME 3
34 35 #define TABLE_DEVMODE 4
35 36 #define TABLE_SECURITY_DESCRIPTOR 5
36 37
37 38 #define SPOOLSS_OPNUM_EnumPrinters 0x00
38 39 #define SPOOLSS_OPNUM_OpenPrinter 0x01
39 40 #define SPOOLSS_OPNUM_GetJob 0x03
40 41 #define SPOOLSS_OPNUM_EnumJobs 0x04
41 42 #define SPOOLSS_OPNUM_DeletePrinter 0x06
42 43 #define SPOOLSS_OPNUM_GetPrinter 0x08
43 44 #define SPOOLSS_OPNUM_GetPrinterDriver 0x0b
44 45 #define SPOOLSS_OPNUM_DeletePrinterDriver 0x0d
45 46 #define SPOOLSS_OPNUM_StartDocPrinter 0x11
46 47 #define SPOOLSS_OPNUM_StartPagePrinter 0x12
47 48 #define SPOOLSS_OPNUM_WritePrinter 0x13
48 49 #define SPOOLSS_OPNUM_EndPagePrinter 0x14
49 50 #define SPOOLSS_OPNUM_AbortPrinter 0x15
50 51 #define SPOOLSS_OPNUM_AddJob 0x18
51 52 #define SPOOLSS_OPNUM_ScheduleJob 0x19
52 53 #define SPOOLSS_OPNUM_GetPrinterData 0x1a
53 54 #define SPOOLSS_OPNUM_ClosePrinter 0x1d
54 55 #define SPOOLSS_OPNUM_AddForm 0x1e
55 56 #define SPOOLSS_OPNUM_DeleteForm 0x1f
56 57 #define SPOOLSS_OPNUM_EndDocPrinter 0x17
57 58 #define SPOOLSS_OPNUM_EnumForms 0x22
58 59 #define SPOOLSS_OPNUM_EnumPorts 0x23
59 60 #define SPOOLSS_OPNUM_EnumMonitor 0x24
60 61 #define SPOOLSS_OPNUM_DeletePort 0x27
61 62 #define SPOOLSS_OPNUM_CreatePrinterIC 0x28
62 63 #define SPOOLSS_OPNUM_AddMonitor 0x2e
63 64 #define SPOOLSS_OPNUM_DeleteMonitor 0x2f
64 65 #define SPOOLSS_OPNUM_ResetPrinter 0x34
65 66 #define SPOOLSS_OPNUM_GetPrinterDriver2 0x35
66 67 #define SPOOLSS_OPNUM_FCPN 0x38
67 68 #define SPOOLSS_OPNUM_ReplyOpenPrinter 0x3a
68 69 #define SPOOLSS_OPNUM_ReplyClosePrinter 0x3c
69 70 #define SPOOLSS_OPNUM_AddPortEx 0x3d
70 71 #define SPOOLSS_OPNUM_RFFPCNEX 0x41
71 72 #define SPOOLSS_OPNUM_RRPCN 0x42
72 73 #define SPOOLSS_OPNUM_RFNPCNEX 0x43
73 74 #define SPOOLSS_OPNUM_OpenPrinterEx 0x45
74 75 #define SPOOLSS_OPNUM_SetPort 0x47
75 76 #define SPOOLSS_OPNUM_EnumPrinterData 0x48
76 77 #define SPOOLSS_OPNUM_EnumPrinterDataEx 0x4f
77 78 #define SPOOLSS_OPNUM_EnumPrinterKey 0x50
78 79
79 80 CONTEXT_HANDLE(spoolss_handle) spoolss_handle_t;
80 81
81 82 struct spoolssDevmodeContainer {
82 83 BYTE DevContCount;
83 84 SIZE_IS(DevContCount)
84 85 BYTE *DevMode;
85 86 };
86 87
87 88
88 89 struct spoolss_DeviceMode {
89 90 BYTE devicename[64];
90 91 WORD specversion;
91 92 WORD driverversion;
92 93 WORD size;
93 94 WORD driverextra_length;
94 95 DWORD fields;
95 96 WORD orientation;
96 97 WORD papersize;
97 98 WORD paperlength;
98 99 WORD paperwidth;
99 100 WORD scale;
100 101 WORD copies;
101 102 WORD defaultsource;
102 103 WORD printquality;
103 104 WORD color;
104 105 WORD duplex;
105 106 WORD yresolution;
106 107 WORD ttoption;
107 108 WORD collate;
108 109 BYTE formname[64];
109 110 WORD logpixels;
110 111 DWORD bitsperpel;
111 112 DWORD pelswidth;
112 113 DWORD pelsheight;
113 114 DWORD displayflags;
114 115 DWORD displayfrequency;
115 116 DWORD icmmethod;
116 117 DWORD icmintent;
117 118 DWORD mediatype;
118 119 DWORD dithertype;
119 120 DWORD reserved1;
120 121 DWORD reserved2;
121 122 DWORD panningwidth;
122 123 DWORD panningheight;
123 124 struct spoolssDevmodeContainer driverextra_data;
124 125 };
125 126
126 127 OPERATION(SPOOLSS_OPNUM_CreatePrinterIC)
127 128 struct spoolss_CreatePrinterIC {
128 129 IN spoolss_handle_t handle;
129 130 OUT spoolss_handle_t gdi_handle;
130 131 IN struct spoolssDevmodeContainer dmodeContainer;
131 132 OUT DWORD status;
132 133 };
133 134
134 135 OPERATION(SPOOLSS_OPNUM_OpenPrinter)
135 136 struct spoolss_OpenPrinter {
136 137 IN LPTSTR printer_name;
137 138 OUT spoolss_handle_t handle;
138 139 IN LPTSTR data_type;
139 140 /* IN struct spoolssDevmodeContainer dmodeContainer; */
140 141 /* IN DWORD AccessRequired; */
141 142 OUT DWORD status;
142 143 };
143 144
144 145 OPERATION(SPOOLSS_OPNUM_EnumJobs)
145 146 struct spoolss_EnumJobs {
146 147 IN spoolss_handle_t handle;
147 148 IN DWORD FirstJob;
148 149 IN DWORD NoJobs;
149 150 IN DWORD level;
150 151 IN DWORD Buf2;
151 152 IN DWORD BufCount;
152 153 SIZE_IS(BufCount)
153 154 OUT BYTE *pJob;
154 155 OUT DWORD needed;
155 156 OUT DWORD needed2;
156 157 OUT DWORD status;
157 158 };
158 159
159 160 OPERATION(SPOOLSS_OPNUM_DeletePrinter)
160 161 struct spoolss_DeletePrinter {
161 162 IN DWORD dontcare;
162 163 OUT DWORD status;
163 164 };
164 165
165 166 #define SPOOLSS_ARCHITECTURE_NT_X86 ( "Windows NT x86" )
166 167 struct spoolss_Time {
167 168 WORD year;
168 169 WORD month;
169 170 WORD day_of_week;
170 171 WORD day;
171 172 WORD hour;
172 173 WORD minute;
173 174 WORD second;
174 175 WORD millisecond;
175 176 };
176 177
177 178 struct spoolss_GetPrinter0 {
178 179 DWORD printername;
179 180 DWORD servername;
180 181 DWORD cjobs;
181 182 DWORD total_jobs;
182 183 DWORD total_bytes;
183 184 DWORD time0;
184 185 DWORD time1;
185 186 DWORD time2;
186 187 DWORD time3;
187 188 DWORD global_counter;
188 189 DWORD total_pages;
189 190 DWORD version;
190 191 DWORD ffreebuild;
191 192 DWORD cspooling;
192 193 DWORD cmaxspooling;
193 194 DWORD session_counter;
194 195 DWORD out_of_paper;
195 196 DWORD not_ready;
196 197 DWORD job_error;
197 198 DWORD num_processors;
198 199 DWORD type_processor;
199 200 DWORD high_part_total_bytes;
200 201 DWORD change_id;
201 202 DWORD last_error;
202 203 DWORD status;
203 204 DWORD enum_network_printers;
204 205 DWORD c_setprinter;
205 206 WORD processor_arch;
206 207 WORD processor_level;
207 208 DWORD ref;
208 209 DWORD reserved2;
209 210 DWORD reserved3;
210 211 };
211 212
212 213 /* bitmap spoolss_EnumPrinterFlags */
213 214 #define PRINTER_ENUM_DEFAULT ( 0x00000001 )
214 215 #define PRINTER_ENUM_LOCAL ( 0x00000002 )
215 216 #define PRINTER_ENUM_CONNECTIONS ( 0x00000004 )
216 217 #define PRINTER_ENUM_FAVORITE ( 0x00000004 )
217 218 #define PRINTER_ENUM_NAME ( 0x00000008 )
218 219 #define PRINTER_ENUM_REMOTE ( 0x00000010 )
219 220 #define PRINTER_ENUM_SHARED ( 0x00000020 )
220 221 #define PRINTER_ENUM_NETWORK ( 0x00000040 )
221 222 #define PRINTER_ENUM_EXPAND ( 0x00004000 )
222 223 #define PRINTER_ENUM_CONTAINER ( 0x00008000 )
223 224 #define PRINTER_ENUM_ICON1 ( 0x00010000 )
224 225 #define PRINTER_ENUM_ICON2 ( 0x00020000 )
225 226 #define PRINTER_ENUM_ICON3 ( 0x00040000 )
226 227 #define PRINTER_ENUM_ICON4 ( 0x00080000 )
227 228 #define PRINTER_ENUM_ICON5 ( 0x00100000 )
228 229 #define PRINTER_ENUM_ICON6 ( 0x00200000 )
229 230 #define PRINTER_ENUM_ICON7 ( 0x00400000 )
230 231 #define PRINTER_ENUM_ICON8 ( 0x00800000 )
231 232 #define PRINTER_ENUM_HIDE ( 0x01000000 )
232 233
233 234 struct spoolss_GetPrinter1 {
234 235 DWORD flags;
235 236 DWORD name;
236 237 DWORD description;
237 238 DWORD comment;
238 239 };
239 240
240 241 /* bitmap spoolss_PrinterAttributes */
241 242 #define PRINTER_ATTRIBUTE_QUEUED ( 0x00000001 )
242 243 #define PRINTER_ATTRIBUTE_DIRECT ( 0x00000002 )
243 244 #define PRINTER_ATTRIBUTE_DEFAULT ( 0x00000004 )
244 245 #define PRINTER_ATTRIBUTE_SHARED ( 0x00000008 )
245 246 #define PRINTER_ATTRIBUTE_NETWORK ( 0x00000010 )
246 247 #define PRINTER_ATTRIBUTE_HIDDEN ( 0x00000020 )
247 248 #define PRINTER_ATTRIBUTE_LOCAL ( 0x00000040 )
248 249 #define PRINTER_ATTRIBUTE_ENABLE_DEVQ ( 0x00000080 )
249 250 #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS ( 0x00000100 )
250 251 #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST ( 0x00000200 )
251 252 #define PRINTER_ATTRIBUTE_WORK_OFFLINE ( 0x00000400 )
252 253 #define PRINTER_ATTRIBUTE_ENABLE_BIDI ( 0x00000800 )
253 254 #define PRINTER_ATTRIBUTE_RAW_ONLY ( 0x00001000 )
254 255 #define PRINTER_ATTRIBUTE_PUBLISHED ( 0x00002000 )
255 256 #define PRINTER_ATTRIBUTE_FAX ( 0x00004000 )
256 257 #define PRINTER_ATTRIBUTE_TS ( 0x00008000 )
257 258
258 259 /* bitmap spoolss_PrinterStatus */
259 260 #define PRINTER_STATUS_PAUSED ( 0x00000001 )
260 261 #define PRINTER_STATUS_ERROR ( 0x00000002 )
261 262 #define PRINTER_STATUS_PENDING_DELETION ( 0x00000004 )
262 263 #define PRINTER_STATUS_PAPER_JAM ( 0x00000008 )
263 264 #define PRINTER_STATUS_PAPER_OUT ( 0x00000010 )
264 265 #define PRINTER_STATUS_MANUAL_FEED ( 0x00000020 )
265 266 #define PRINTER_STATUS_PAPER_PROBLEM ( 0x00000040 )
266 267 #define PRINTER_STATUS_OFFLINE ( 0x00000080 )
267 268 #define PRINTER_STATUS_IO_ACTIVE ( 0x00000100 )
268 269 #define PRINTER_STATUS_BUSY ( 0x00000200 )
269 270 #define PRINTER_STATUS_PRINTING ( 0x00000400 )
270 271 #define PRINTER_STATUS_OUTPUT_BIN_FULL ( 0x00000800 )
271 272 #define PRINTER_STATUS_NOT_AVAILABLE ( 0x00001000 )
272 273 #define PRINTER_STATUS_WAITING ( 0x00002000 )
273 274 #define PRINTER_STATUS_PROCESSING ( 0x00004000 )
274 275 #define PRINTER_STATUS_INITIALIZING ( 0x00008000 )
275 276 #define PRINTER_STATUS_WARMING_UP ( 0x00010000 )
276 277 #define PRINTER_STATUS_TONER_LOW ( 0x00020000 )
277 278 #define PRINTER_STATUS_NO_TONER ( 0x00040000 )
278 279 #define PRINTER_STATUS_PAGE_PUNT ( 0x00080000 )
279 280 #define PRINTER_STATUS_USER_INTERVENTION ( 0x00100000 )
280 281 #define PRINTER_STATUS_OUT_OF_MEMORY ( 0x00200000 )
281 282 #define PRINTER_STATUS_DOOR_OPEN ( 0x00400000 )
282 283 #define PRINTER_STATUS_SERVER_UNKNOWN ( 0x00800000 )
283 284 #define PRINTER_STATUS_POWER_SAVE ( 0x01000000 )
284 285
285 286 struct spoolss_GetPrinter2 {
286 287 DWORD servername;
287 288 DWORD printername;
288 289 DWORD sharename;
289 290 DWORD portname;
290 291 DWORD drivername;
291 292 DWORD comment;
292 293 DWORD location;
293 294 DWORD devmode;
294 295 DWORD sepfile;
295 296 DWORD printprocessor;
296 297 DWORD datatype;
297 298 DWORD parameters;
298 299 DWORD secdesc;
299 300 DWORD attributes;
300 301 DWORD priority;
301 302 DWORD defaultpriority;
302 303 DWORD starttime;
303 304 DWORD untiltime;
304 305 DWORD status;
305 306 DWORD cjobs;
306 307 DWORD averageppm;
307 308 };
308 309
309 310 typedef struct spoolss_GetPrinter2 spoolss_GetPrinter2_t;
310 311
311 312 struct spoolss_GetPrinter3 {
312 313 DWORD dummy;
313 314 };
314 315
315 316 struct spoolss_GetPrinter4 {
316 317 DWORD printername;
317 318 DWORD servername;
318 319 DWORD attributes;
319 320 };
320 321
321 322 struct spoolss_GetPrinter5 {
322 323 DWORD printername;
323 324 DWORD portname;
324 325 DWORD attributes;
325 326 DWORD device_not_selected_timeout;
326 327 DWORD transmission_retry_timeout;
327 328 };
328 329
329 330 struct spoolss_GetPrinter6 {
330 331 DWORD status;
331 332 };
332 333
333 334 /* bitmap spoolss_DsPrintAction */
334 335 #define DSPRINT_PUBLISH ( 0x00000001 )
335 336 #define DSPRINT_UPDATE ( 0x00000002 )
336 337 #define DSPRINT_UNPUBLISH ( 0x00000004 )
337 338 #define DSPRINT_REPUBLISH ( 0x00000008 )
338 339 #define DSPRINT_PENDING ( 0x80000000 )
339 340
340 341 struct spoolss_GetPrinter7 {
341 342 DWORD guid;
342 343 DWORD action;
343 344 };
344 345
345 346 struct spoolss_GetPrinter8 {
346 347 DWORD flags;
347 348 DWORD name;
348 349 DWORD description;
349 350 DWORD comment;
350 351 };
351 352
352 353 union spoolss_GetPrinter_result_u {
353 354 UNION_INFO_ENT(0, spoolss_GetPrinter);
354 355 UNION_INFO_ENT(1, spoolss_GetPrinter);
355 356 UNION_INFO_ENT(2, spoolss_GetPrinter);
356 357 UNION_INFO_ENT(3, spoolss_GetPrinter);
357 358 UNION_INFO_ENT(4, spoolss_GetPrinter);
358 359 UNION_INFO_ENT(5, spoolss_GetPrinter);
359 360 UNION_INFO_ENT(6, spoolss_GetPrinter);
360 361 UNION_INFO_ENT(7, spoolss_GetPrinter);
361 362 UNION_INFO_ENT(8, spoolss_GetPrinter);
362 363 DEFAULT char *nullptr;
363 364 };
364 365
365 366 struct spoolss_GetPrinter_result {
366 367 DWORD switch_value;
367 368 SWITCH(switch_value)
368 369 union spoolss_GetPrinter_result_u ru;
369 370 };
370 371
371 372 struct spoolss_RPC_V2_NOTIFY_OPTIONS_TYPE {
372 373 WORD type;
373 374 WORD reserved0;
374 375 DWORD reserved1;
375 376 DWORD reserved2;
376 377 DWORD count;
377 378 SIZE_IS(count)
378 379 WORD *pFields;
379 380 };
380 381
381 382 struct spoolss_RPC_V2_NOTIFY_OPTIONS {
382 383 DWORD version;
383 384 DWORD reserved;
384 385 DWORD count;
385 386 SIZE_IS(count)
386 387 struct spoolss_RPC_V2_NOTIFY_OPTIONS_TYPE *ptypes;
387 388 };
388 389
389 390 struct SYSTEMTIME {
390 391 WORD year;
391 392 WORD month;
392 393 WORD dayofweek;
393 394 WORD day;
394 395 WORD hour;
395 396 WORD minute;
396 397 WORD second;
397 398 WORD millisecs;
398 399 };
399 400
400 401 struct SECURITY_CONTAINER {
401 402 DWORD count;
402 403 SIZE_IS(count)
403 404 BYTE *psecurity;
404 405 };
405 406
406 407 struct SYSTEMTIME_CONTAINER {
407 408 DWORD count;
408 409 struct SYSTEMTIME *psystemtime;
409 410 };
410 411
411 412 struct STRING_CONTAINER {
412 413 DWORD count;
413 414 SIZE_IS(count / 2)
414 415 LPTSTR pstring;
415 416 };
416 417
417 418 union spoolss_RPC_V2_NOTIFY_INFO_DATA_DATA {
418 419 CASE(TABLE_STRING)
419 420 struct STRING_CONTAINER pcont;
420 421 CASE(TABLE_DWORD)
421 422 DWORD data[2];
422 423 CASE(TABLE_TIME)
423 424 struct SYSTEMTIME_CONTAINER system_time;
424 425 CASE(TABLE_DEVMODE)
425 426 struct spoolssDevmodeContainer devmode;
426 427 CASE(TABLE_SECURITY_DESCRIPTOR)
427 428 struct SECURITY_CONTAINER security_descriptor;
428 429 };
429 430
430 431 struct spoolss_RPC_V2_NOTIFY_INFO_DATA {
431 432 WORD Type;
432 433 WORD Field;
433 434 DWORD Reserved;
434 435 DWORD Id;
435 436 SWITCH(Reserved & 0x0000FFFF)
436 437 union spoolss_RPC_V2_NOTIFY_INFO_DATA_DATA data;
437 438 };
438 439
439 440 struct spoolss_RPC_V2_NOTIFY_INFO {
440 441 DWORD Version;
441 442 DWORD Flags;
442 443 DWORD Count;
443 444 SIZE_IS(Count)
444 445 struct spoolss_RPC_V2_NOTIFY_INFO_DATA *aData;
445 446 };
446 447
447 448 OPERATION(SPOOLSS_OPNUM_GetPrinter)
448 449 struct spoolss_GetPrinter {
449 450 IN spoolss_handle_t handle;
450 451 IN DWORD switch_value;
451 452 IN DWORD Buf2;
452 453 IN DWORD BufCount;
453 454 SIZE_IS(BufCount)
454 455 OUT BYTE *Buf;
455 456 OUT DWORD needed;
456 457 OUT DWORD status;
457 458 };
458 459
459 460 OPERATION(SPOOLSS_OPNUM_GetPrinterData)
460 461 struct spoolss_GetPrinterData {
461 462 IN spoolss_handle_t handle;
462 463 IN REFERENCE LPTSTR pValueName;
463 464 OUT DWORD pType;
464 465 SIZE_IS(Size)
465 466 OUT REFERENCE LPBYTE Buf;
466 467 IN DWORD Size;
467 468 OUT DWORD Needed;
468 469 OUT DWORD status;
469 470 };
470 471
471 472 OPERATION(SPOOLSS_OPNUM_GetPrinterDriver)
472 473 struct spoolss_GetPrinterDriver {
473 474 IN DWORD dontcare;
474 475 OUT DWORD status;
475 476 };
476 477
477 478 OPERATION(SPOOLSS_OPNUM_DeletePrinterDriver)
478 479 struct spoolss_DeletePrinterDriver {
479 480 IN DWORD dontcare;
480 481 OUT DWORD status;
481 482 };
482 483
483 484 struct spoolss_DocInfo {
484 485 LPTSTR doc_name;
485 486 LPTSTR printer_name;
486 487 LPTSTR type;
487 488 };
488 489 typedef struct spoolss_DocInfo spoolss_DocInfo_t;
489 490
490 491 struct spoolss_DocInfo_Container {
491 492 DWORD level;
492 493 DWORD switch_value;
493 494 spoolss_DocInfo_t *DocInfoContainer;
494 495 };
495 496 typedef struct spoolss_DocInfo_Container spoolss_DocInfo_Container_t;
496 497
497 498 OPERATION(SPOOLSS_OPNUM_StartDocPrinter)
498 499 struct spoolss_StartDocPrinter {
499 500 IN spoolss_handle_t handle;
500 501 IN spoolss_DocInfo_Container_t dinfo;
501 502 OUT DWORD JobId;
502 503 OUT DWORD status;
503 504 };
504 505
505 506 OPERATION(SPOOLSS_OPNUM_AbortPrinter)
506 507 struct spoolss_AbortPrinter {
507 508 IN spoolss_handle_t handle;
508 509 OUT DWORD status;
509 510 };
510 511
511 512 OPERATION(SPOOLSS_OPNUM_EnumPorts)
512 513 struct spoolss_EnumPorts {
513 514 IN LPTSTR name;
514 515 IN DWORD level;
515 516 OUT DWORD needed;
516 517 OUT DWORD returned;
517 518 OUT DWORD status;
518 519 };
519 520
520 521 OPERATION(SPOOLSS_OPNUM_DeletePort)
521 522 struct spoolss_DeletePort {
522 523 IN LPTSTR name;
523 524 OUT DWORD status;
524 525 };
525 526
526 527 OPERATION(SPOOLSS_OPNUM_AddPortEx)
527 528 struct spoolss_AddPortEx {
528 529 IN LPTSTR name;
529 530 OUT DWORD status;
530 531 };
531 532
532 533 OPERATION(SPOOLSS_OPNUM_SetPort)
533 534 struct spoolss_SetPort {
534 535 IN LPTSTR name;
535 536 OUT DWORD status;
536 537 };
537 538
538 539 OPERATION(SPOOLSS_OPNUM_EnumMonitor)
539 540 struct spoolss_EnumMonitor {
540 541 IN LPTSTR name;
541 542 IN DWORD level;
542 543 OUT DWORD needed;
543 544 OUT DWORD returned;
544 545 OUT DWORD status;
545 546 };
546 547
547 548 OPERATION(SPOOLSS_OPNUM_AddMonitor)
548 549 struct spoolss_AddMonitor {
549 550 IN LPTSTR name;
550 551 OUT DWORD status;
551 552 };
552 553
553 554 OPERATION(SPOOLSS_OPNUM_DeleteMonitor)
554 555 struct spoolss_DeleteMonitor {
555 556 IN LPTSTR name;
556 557 OUT DWORD status;
557 558 };
558 559
559 560 OPERATION(SPOOLSS_OPNUM_ResetPrinter)
560 561 struct spoolss_ResetPrinter {
561 562 IN spoolss_handle_t handle;
562 563 OUT DWORD status;
563 564 };
564 565
565 566 OPERATION(SPOOLSS_OPNUM_StartPagePrinter)
566 567 struct spoolss_StartPagePrinter {
567 568 IN spoolss_handle_t handle;
568 569 OUT DWORD status;
569 570 };
570 571
571 572 OPERATION(SPOOLSS_OPNUM_EndPagePrinter)
572 573 struct spoolss_EndPagePrinter {
573 574 IN spoolss_handle_t handle;
574 575 OUT DWORD status;
575 576 };
576 577
577 578 OPERATION(SPOOLSS_OPNUM_WritePrinter)
578 579 struct spoolss_WritePrinter {
579 580 IN spoolss_handle_t handle;
580 581 IN DWORD BufCount;
581 582 SIZE_IS(BufCount)
582 583 IN REFERENCE LPBYTE pBuf;
583 584 OUT DWORD written;
584 585 OUT DWORD status;
585 586 };
586 587
587 588 OPERATION(SPOOLSS_OPNUM_ScheduleJob)
588 589 struct spoolss_ScheduleJob {
589 590 IN spoolss_handle_t handle;
590 591 IN DWORD JobId;
591 592 OUT DWORD status;
592 593 };
593 594
594 595 OPERATION(SPOOLSS_OPNUM_GetJob)
595 596 struct spoolss_GetJob {
596 597 IN spoolss_handle_t handle;
597 598 IN DWORD JobId;
598 599 IN DWORD level;
599 600 SIZE_IS(BufCount)
600 601 INOUT BYTE *pJob;
601 602 IN DWORD BufCount;
602 603 OUT DWORD needed;
603 604 OUT DWORD status;
604 605 };
605 606
606 607 OPERATION(SPOOLSS_OPNUM_AddJob)
607 608 struct spoolss_AddJob {
608 609 IN spoolss_handle_t handle;
609 610 IN DWORD level;
610 611 IN DWORD Buf2;
611 612 IN DWORD BufCount;
612 613 SIZE_IS(BufCount)
613 614 OUT BYTE *pAddJob;
614 615 OUT DWORD needed;
615 616 OUT DWORD status;
616 617 };
617 618
618 619 OPERATION(SPOOLSS_OPNUM_ClosePrinter)
619 620 struct spoolss_ClosePrinter {
620 621 IN spoolss_handle_t handle;
621 622 OUT spoolss_handle_t result_handle;
622 623 OUT DWORD status;
623 624 };
624 625
625 626 OPERATION(SPOOLSS_OPNUM_EndDocPrinter)
626 627 struct spoolss_EndDocPrinter {
627 628 IN spoolss_handle_t handle;
628 629 OUT DWORD status;
629 630 };
630 631
631 632 OPERATION(SPOOLSS_OPNUM_AddForm)
632 633 struct spoolss_AddForm {
633 634 IN spoolss_handle_t handle;
634 635 /* FORM_CONTAINER *form_container; */
635 636 OUT DWORD status;
636 637 };
637 638
638 639 OPERATION(SPOOLSS_OPNUM_DeleteForm)
639 640 struct spoolss_DeleteForm {
640 641 IN spoolss_handle_t handle;
641 642 /* IN REFERENCE LPTSTR form_name; */
642 643 OUT DWORD status;
643 644 };
644 645
645 646 OPERATION(SPOOLSS_OPNUM_EnumForms)
646 647 struct spoolss_EnumForms {
647 648 IN spoolss_handle_t handle;
648 649 IN DWORD level;
649 650 IN DWORD BufCount;
650 651 SIZE_IS(BufCount)
651 652 INOUT BYTE *pEnumForms;
652 653 OUT DWORD needed;
653 654 OUT DWORD pcRet;
654 655 OUT DWORD status;
655 656 };
656 657
657 658 OPERATION(SPOOLSS_OPNUM_GetPrinterDriver2)
658 659 struct spoolss_GetPrinterDriver2 {
659 660 IN DWORD dontcare;
660 661 OUT DWORD status;
661 662 };
662 663
663 664 OPERATION(SPOOLSS_OPNUM_FCPN)
664 665 struct spoolss_FCPN {
665 666 IN DWORD dontcare;
666 667 OUT DWORD status;
667 668 };
668 669
669 670 OPERATION(SPOOLSS_OPNUM_ReplyOpenPrinter)
670 671 struct spoolss_ReplyOpenPrinter {
671 672 IN DWORD dontcare;
672 673 OUT DWORD status;
673 674 };
674 675
675 676 OPERATION(SPOOLSS_OPNUM_ReplyClosePrinter)
676 677 struct spoolss_ReplyClosePrinter {
677 678 IN DWORD dontcare;
678 679 OUT DWORD status;
679 680 };
680 681
681 682
682 683 OPERATION(SPOOLSS_OPNUM_RFFPCNEX)
683 684 struct spoolss_RFFPCNEX {
684 685 IN spoolss_handle_t handle;
685 686 OUT DWORD status;
686 687 };
687 688
688 689 struct spoolss_infores {
689 690 DWORD entriesread;
690 691 struct spoolss_RPC_V2_NOTIFY_INFO *pinfo;
691 692 };
692 693
693 694 OPERATION(SPOOLSS_OPNUM_RFNPCNEX)
694 695 struct spoolss_RFNPCNEX {
695 696 IN spoolss_handle_t handle;
696 697 IN DWORD color;
697 698 IN struct spoolss_RPC_V2_NOTIFY_OPTIONS *poptions;
698 699 OUT struct spoolss_infores *ppinfo;
699 700 OUT DWORD status;
700 701 };
701 702
702 703 OPERATION(SPOOLSS_OPNUM_RRPCN)
703 704 struct spoolss_RRPCN {
704 705 IN DWORD dontcare;
705 706 OUT DWORD status;
706 707 };
707 708
708 709 OPERATION(SPOOLSS_OPNUM_OpenPrinterEx)
709 710 struct spoolss_OpenPrinterEx {
710 711 IN LPTSTR printer_name;
711 712 OUT spoolss_handle_t handle;
712 713 IN LPTSTR data_type;
713 714 /* IN struct spoolssDevmodeContainer dmodeContainer; */
714 715 /* IN DWORD AccessRequired; */
715 716 /* IN CLIENT_CONTAINER client_info; */
716 717 OUT DWORD status;
717 718 };
718 719
719 720 OPERATION(SPOOLSS_OPNUM_EnumPrinterData)
720 721 struct spoolss_EnumPrinterData {
721 722 IN DWORD dontcare;
722 723 OUT DWORD status;
723 724 };
724 725
725 726 OPERATION(SPOOLSS_OPNUM_EnumPrinterDataEx)
726 727 struct spoolss_EnumPrinterDataEx {
727 728 IN DWORD dontcare;
728 729 OUT DWORD status;
729 730 };
730 731
731 732 OPERATION(SPOOLSS_OPNUM_EnumPrinterKey)
732 733 struct spoolss_EnumPrinterKey {
733 734 IN DWORD dontcare;
734 735 OUT DWORD status;
735 736 };
736 737
737 738 /*
738 739 ***********************************************************************
739 740 * The spoolss interface definition.
740 741 ***********************************************************************
741 742 */
742 743
743 744 INTERFACE(0)
744 745 union spoolss_interface {
745 746 CASE(SPOOLSS_OPNUM_OpenPrinter)
746 747 struct spoolss_OpenPrinter OpenPrinter;
747 748
748 749 CASE(SPOOLSS_OPNUM_DeletePrinter)
749 750 struct spoolss_DeletePrinter DeletePrinter;
750 751
751 752 CASE(SPOOLSS_OPNUM_GetPrinter)
752 753 struct spoolss_GetPrinter GetPrinter;
753 754
754 755 CASE(SPOOLSS_OPNUM_GetPrinterData)
755 756 struct spoolss_GetPrinterData GetPrinterData;
756 757
757 758 CASE(SPOOLSS_OPNUM_AbortPrinter)
758 759 struct spoolss_AbortPrinter AbortPrinter;
759 760
760 761 CASE(SPOOLSS_OPNUM_StartDocPrinter)
761 762 struct spoolss_StartDocPrinter StartDocPrinter;
762 763
763 764 CASE(SPOOLSS_OPNUM_EndDocPrinter)
764 765 struct spoolss_EndDocPrinter EndDocPrinter;
765 766
766 767 CASE(SPOOLSS_OPNUM_CreatePrinterIC)
767 768 struct spoolss_CreatePrinterIC CreatePrinterIC;
768 769
769 770 CASE(SPOOLSS_OPNUM_ResetPrinter)
770 771 struct spoolss_ResetPrinter ResetPrinter;
771 772
772 773 CASE(SPOOLSS_OPNUM_EnumMonitor)
773 774 struct spoolss_EnumMonitor EnumMonitor;
774 775
775 776 CASE(SPOOLSS_OPNUM_AddMonitor)
776 777 struct spoolss_AddMonitor AddMonitor;
777 778
778 779 CASE(SPOOLSS_OPNUM_DeleteMonitor)
779 780 struct spoolss_DeleteMonitor DeleteMonitor;
780 781
781 782 CASE(SPOOLSS_OPNUM_WritePrinter)
782 783 struct spoolss_WritePrinter WritePrinter;
783 784
784 785 CASE(SPOOLSS_OPNUM_StartPagePrinter)
785 786 struct spoolss_StartPagePrinter StartPagePrinter;
786 787
787 788 CASE(SPOOLSS_OPNUM_EndPagePrinter)
788 789 struct spoolss_EndPagePrinter EndPagePrinter;
789 790
790 791 CASE(SPOOLSS_OPNUM_ClosePrinter)
791 792 struct spoolss_ClosePrinter ClosePrinter;
792 793
793 794 CASE(SPOOLSS_OPNUM_OpenPrinterEx)
794 795 struct spoolss_OpenPrinterEx OpenPrinterEx;
795 796
796 797 CASE(SPOOLSS_OPNUM_AddJob)
797 798 struct spoolss_AddJob AddJob;
798 799
799 800 CASE(SPOOLSS_OPNUM_GetJob)
800 801 struct spoolss_GetJob GetJob;
801 802
802 803 CASE(SPOOLSS_OPNUM_ScheduleJob)
803 804 struct spoolss_ScheduleJob ScheduleJob;
804 805
805 806 CASE(SPOOLSS_OPNUM_AddForm)
806 807 struct spoolss_AddForm AddForm;
807 808
808 809 CASE(SPOOLSS_OPNUM_DeleteForm)
809 810 struct spoolss_DeleteForm DeleteForm;
810 811
811 812 CASE(SPOOLSS_OPNUM_EnumForms)
812 813 struct spoolss_EnumForms EnumForms;
813 814
814 815 CASE(SPOOLSS_OPNUM_EnumPorts)
815 816 struct spoolss_EnumPorts EnumPorts;
816 817
817 818 CASE(SPOOLSS_OPNUM_DeletePort)
818 819 struct spoolss_DeletePort DeletePort;
819 820
820 821 CASE(SPOOLSS_OPNUM_AddPortEx)
821 822 struct spoolss_AddPortEx AddPortEx;
822 823
823 824 CASE(SPOOLSS_OPNUM_SetPort)
824 825 struct spoolss_SetPort SetPort;
825 826
826 827 CASE(SPOOLSS_OPNUM_RFNPCNEX)
827 828 struct spoolss_RFNPCNEX RFNPCNEX;
828 829
829 830 };
830 831 typedef union spoolss_interface spoolss_interface_t;
831 832 EXTERNTYPEINFO(spoolss_interface)
832 833
833 834 #endif /* _SPOOLSS_NDL_ */
↓ open down ↓ |
795 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX