| 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 | } | 
|---|