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