summaryrefslogtreecommitdiff
path: root/librpc/gen_ndr/rap.h
blob: 97ece533787e193769e1cb0e82e638242c89fda6 (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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
/* header auto-generated by pidl */

#include <stdint.h>

#include "libcli/util/ntstatus.h"

#ifndef _HEADER_rap
#define _HEADER_rap

#define RAP_WshareEnum	( 0 )
#define RAP_WshareGetInfo	( 1 )
#define RAP_WshareSetInfo	( 2 )
#define RAP_WshareAdd	( 3 )
#define RAP_WshareDel	( 4 )
#define RAP_NetShareCheck	( 5 )
#define RAP_WsessionEnum	( 6 )
#define RAP_WsessionGetInfo	( 7 )
#define RAP_WsessionDel	( 8 )
#define RAP_WconnectionEnum	( 9 )
#define RAP_WfileEnum	( 10 )
#define RAP_WfileGetInfo	( 11 )
#define RAP_WfileClose	( 12 )
#define RAP_WserverGetInfo	( 13 )
#define RAP_WserverSetInfo	( 14 )
#define RAP_WserverDiskEnum	( 15 )
#define RAP_WserverAdminCommand	( 16 )
#define RAP_NetAuditOpen	( 17 )
#define RAP_WauditClear	( 18 )
#define RAP_NetErrorLogOpen	( 19 )
#define RAP_WerrorLogClear	( 20 )
#define RAP_NetCharDevEnum	( 21 )
#define RAP_NetCharDevGetInfo	( 22 )
#define RAP_WCharDevControl	( 23 )
#define RAP_NetCharDevQEnum	( 24 )
#define RAP_NetCharDevQGetInfo	( 25 )
#define RAP_WCharDevQSetInfo	( 26 )
#define RAP_WCharDevQPurge	( 27 )
#define RAP_WCharDevQPurgeSelf	( 28 )
#define RAP_WMessageNameEnum	( 29 )
#define RAP_WMessageNameGetInfo	( 30 )
#define RAP_WMessageNameAdd	( 31 )
#define RAP_WMessageNameDel	( 32 )
#define RAP_WMessageNameFwd	( 33 )
#define RAP_WMessageNameUnFwd	( 34 )
#define RAP_WMessageBufferSend	( 35 )
#define RAP_WMessageFileSend	( 36 )
#define RAP_WMessageLogFileSet	( 37 )
#define RAP_WMessageLogFileGet	( 38 )
#define RAP_WServiceEnum	( 39 )
#define RAP_WServiceInstall	( 40 )
#define RAP_WServiceControl	( 41 )
#define RAP_WAccessEnum	( 42 )
#define RAP_WAccessGetInfo	( 43 )
#define RAP_WAccessSetInfo	( 44 )
#define RAP_WAccessAdd	( 45 )
#define RAP_WAccessDel	( 46 )
#define RAP_WGroupEnum	( 47 )
#define RAP_WGroupAdd	( 48 )
#define RAP_WGroupDel	( 49 )
#define RAP_WGroupAddUser	( 50 )
#define RAP_WGroupDelUser	( 51 )
#define RAP_WGroupGetUsers	( 52 )
#define RAP_WUserEnum	( 53 )
#define RAP_WUserAdd	( 54 )
#define RAP_WUserDel	( 55 )
#define RAP_WUserGetInfo	( 56 )
#define RAP_WUserSetInfo	( 57 )
#define RAP_WUserPasswordSet	( 58 )
#define RAP_WUserGetGroups	( 59 )
#define RAP_WWkstaSetUID	( 62 )
#define RAP_WWkstaGetInfo	( 63 )
#define RAP_WWkstaSetInfo	( 64 )
#define RAP_WUseEnum	( 65 )
#define RAP_WUseAdd	( 66 )
#define RAP_WUseDel	( 67 )
#define RAP_WUseGetInfo	( 68 )
#define RAP_WPrintQEnum	( 69 )
#define RAP_WPrintQGetInfo	( 70 )
#define RAP_WPrintQSetInfo	( 71 )
#define RAP_WPrintQAdd	( 72 )
#define RAP_WPrintQDel	( 73 )
#define RAP_WPrintQPause	( 74 )
#define RAP_WPrintQContinue	( 75 )
#define RAP_WPrintJobEnum	( 76 )
#define RAP_WPrintJobGetInfo	( 77 )
#define RAP_WPrintJobSetInfo_OLD	( 78 )
#define RAP_WPrintJobDel	( 81 )
#define RAP_WPrintJobPause	( 82 )
#define RAP_WPrintJobContinue	( 83 )
#define RAP_WPrintDestEnum	( 84 )
#define RAP_WPrintDestGetInfo	( 85 )
#define RAP_WPrintDestControl	( 86 )
#define RAP_WProfileSave	( 87 )
#define RAP_WProfileLoad	( 88 )
#define RAP_WStatisticsGet	( 89 )
#define RAP_WStatisticsClear	( 90 )
#define RAP_NetRemoteTOD	( 91 )
#define RAP_WNetBiosEnum	( 92 )
#define RAP_WNetBiosGetInfo	( 93 )
#define RAP_NetServerEnum	( 94 )
#define RAP_I_NetServerEnum	( 95 )
#define RAP_WServiceGetInfo	( 96 )
#define RAP_WPrintQPurge	( 103 )
#define RAP_NetServerEnum2	( 104 )
#define RAP_WAccessGetUserPerms	( 105 )
#define RAP_WGroupGetInfo	( 106 )
#define RAP_WGroupSetInfo	( 107 )
#define RAP_WGroupSetUsers	( 108 )
#define RAP_WUserSetGroups	( 109 )
#define RAP_WUserModalsGet	( 110 )
#define RAP_WUserModalsSet	( 111 )
#define RAP_WFileEnum2	( 112 )
#define RAP_WUserAdd2	( 113 )
#define RAP_WUserSetInfo2	( 114 )
#define RAP_WUserPasswordSet2	( 115 )
#define RAP_I_NetServerEnum2	( 116 )
#define RAP_WConfigGet2	( 117 )
#define RAP_WConfigGetAll2	( 118 )
#define RAP_WGetDCName	( 119 )
#define RAP_NetHandleGetInfo	( 120 )
#define RAP_NetHandleSetInfo	( 121 )
#define RAP_WStatisticsGet2	( 122 )
#define RAP_WBuildGetInfo	( 123 )
#define RAP_WFileGetInfo2	( 124 )
#define RAP_WFileClose2	( 125 )
#define RAP_WNetServerReqChallenge	( 126 )
#define RAP_WNetServerAuthenticate	( 127 )
#define RAP_WNetServerPasswordSet	( 128 )
#define RAP_WNetAccountDeltas	( 129 )
#define RAP_WNetAccountSync	( 130 )
#define RAP_WUserEnum2	( 131 )
#define RAP_WWkstaUserLogon	( 132 )
#define RAP_WWkstaUserLogoff	( 133 )
#define RAP_WLogonEnum	( 134 )
#define RAP_WErrorLogRead	( 135 )
#define RAP_NetPathType	( 136 )
#define RAP_NetPathCanonicalize	( 137 )
#define RAP_NetPathCompare	( 138 )
#define RAP_NetNameValidate	( 139 )
#define RAP_NetNameCanonicalize	( 140 )
#define RAP_NetNameCompare	( 141 )
#define RAP_WAuditRead	( 142 )
#define RAP_WPrintDestAdd	( 143 )
#define RAP_WPrintDestSetInfo	( 144 )
#define RAP_WPrintDestDel	( 145 )
#define RAP_WUserValidate2	( 146 )
#define RAP_WPrintJobSetInfo	( 147 )
#define RAP_TI_NetServerDiskEnum	( 148 )
#define RAP_TI_NetServerDiskGetInfo	( 149 )
#define RAP_TI_FTVerifyMirror	( 150 )
#define RAP_TI_FTAbortVerify	( 151 )
#define RAP_TI_FTGetInfo	( 152 )
#define RAP_TI_FTSetInfo	( 153 )
#define RAP_TI_FTLockDisk	( 154 )
#define RAP_TI_FTFixError	( 155 )
#define RAP_TI_FTAbortFix	( 156 )
#define RAP_TI_FTDiagnoseError	( 157 )
#define RAP_TI_FTGetDriveStats	( 158 )
#define RAP_TI_FTErrorGetInfo	( 160 )
#define RAP_NetAccessCheck	( 163 )
#define RAP_NetAlertRaise	( 164 )
#define RAP_NetAlertStart	( 165 )
#define RAP_NetAlertStop	( 166 )
#define RAP_NetAuditWrite	( 167 )
#define RAP_NetIRemoteAPI	( 168 )
#define RAP_NetServiceStatus	( 169 )
#define RAP_NetServerRegister	( 170 )
#define RAP_NetServerDeregister	( 171 )
#define RAP_NetSessionEntryMake	( 172 )
#define RAP_NetSessionEntryClear	( 173 )
#define RAP_NetSessionEntryGetInfo	( 174 )
#define RAP_NetSessionEntrySetInfo	( 175 )
#define RAP_NetConnectionEntryMake	( 176 )
#define RAP_NetConnectionEntryClear	( 177 )
#define RAP_NetConnectionEntrySetInfo	( 178 )
#define RAP_NetConnectionEntryGetInfo	( 179 )
#define RAP_NetFileEntryMake	( 180 )
#define RAP_NetFileEntryClear	( 181 )
#define RAP_NetFileEntrySetInfo	( 182 )
#define RAP_NetFileEntryGetInfo	( 183 )
#define RAP_AltSrvMessageBufferSend	( 184 )
#define RAP_AltSrvMessageFileSend	( 185 )
#define RAP_wI_NetRplWkstaEnum	( 186 )
#define RAP_wI_NetRplWkstaGetInfo	( 187 )
#define RAP_wI_NetRplWkstaSetInfo	( 188 )
#define RAP_wI_NetRplWkstaAdd	( 189 )
#define RAP_wI_NetRplWkstaDel	( 190 )
#define RAP_wI_NetRplProfileEnum	( 191 )
#define RAP_wI_NetRplProfileGetInfo	( 192 )
#define RAP_wI_NetRplProfileSetInfo	( 193 )
#define RAP_wI_NetRplProfileAdd	( 194 )
#define RAP_wI_NetRplProfileDel	( 195 )
#define RAP_wI_NetRplProfileClone	( 196 )
#define RAP_wI_NetRplBaseProfileEnum	( 197 )
#define RAP_WIServerSetInfo	( 201 )
#define RAP_WPrintDriverEnum	( 205 )
#define RAP_WPrintQProcessorEnum	( 206 )
#define RAP_WPrintPortEnum	( 207 )
#define RAP_WNetWriteUpdateLog	( 208 )
#define RAP_WNetAccountUpdate	( 209 )
#define RAP_WNetAccountConfirmUpdate	( 210 )
#define RAP_WConfigSet	( 211 )
#define RAP_WAccountsReplicate	( 212 )
#define RAP_SamOEMChgPasswordUser2_P	( 214 )
#define RAP_NetServerEnum3	( 215 )
#define RAP_WprintDriverGetInfo	( 250 )
#define RAP_WprintDriverSetInfo	( 251 )
#define RAP_WaliasAdd	( 252 )
#define RAP_WaliasDel	( 253 )
#define RAP_WaliasGetInfo	( 254 )
#define RAP_WaliasSetInfo	( 255 )
#define RAP_WaliasEnum	( 256 )
#define RAP_WuserGetLogonAsn	( 257 )
#define RAP_WuserSetLogonAsn	( 258 )
#define RAP_WuserGetAppSel	( 259 )
#define RAP_WuserSetAppSel	( 260 )
#define RAP_WappAdd	( 261 )
#define RAP_WappDel	( 262 )
#define RAP_WappGetInfo	( 263 )
#define RAP_WappSetInfo	( 264 )
#define RAP_WappEnum	( 265 )
#define RAP_WUserDCDBInit	( 266 )
#define RAP_WDASDAdd	( 267 )
#define RAP_WDASDDel	( 268 )
#define RAP_WDASDGetInfo	( 269 )
#define RAP_WDASDSetInfo	( 270 )
#define RAP_WDASDEnum	( 271 )
#define RAP_WDASDCheck	( 272 )
#define RAP_WDASDCtl	( 273 )
#define RAP_WuserRemoteLogonCheck	( 274 )
#define RAP_WUserPasswordSet3	( 275 )
#define RAP_WCreateRIPLMachine	( 276 )
#define RAP_WDeleteRIPLMachine	( 277 )
#define RAP_WGetRIPLMachineInfo	( 278 )
#define RAP_WSetRIPLMachineInfo	( 279 )
#define RAP_WEnumRIPLMachine	( 280 )
#define RAP_I_ShareAdd	( 281 )
#define RAP_AliasEnum	( 282 )
#define RAP_WaccessApply	( 283 )
#define RAP_WPrt16Query	( 284 )
#define RAP_WPrt16Set	( 285 )
#define RAP_WUserDel100	( 286 )
#define RAP_WUserRemoteLogonCheck2	( 287 )
#define RAP_WRemoteTODSet	( 294 )
#define RAP_WprintJobMoveAll	( 295 )
#define RAP_W16AppParmAdd	( 296 )
#define RAP_W16AppParmDel	( 297 )
#define RAP_W16AppParmGet	( 298 )
#define RAP_W16AppParmSet	( 299 )
#define RAP_W16RIPLMachineCreate	( 300 )
#define RAP_W16RIPLMachineGetInfo	( 301 )
#define RAP_W16RIPLMachineSetInfo	( 302 )
#define RAP_W16RIPLMachineEnum	( 303 )
#define RAP_W16RIPLMachineListParmEnum	( 304 )
#define RAP_W16RIPLMachClassGetInfo	( 305 )
#define RAP_W16RIPLMachClassEnum	( 306 )
#define RAP_W16RIPLMachClassCreate	( 307 )
#define RAP_W16RIPLMachClassSetInfo	( 308 )
#define RAP_W16RIPLMachClassDelete	( 309 )
#define RAP_W16RIPLMachClassLPEnum	( 310 )
#define RAP_W16RIPLMachineDelete	( 311 )
#define RAP_W16WSLevelGetInfo	( 312 )
#define RAP_WserverNameAdd	( 313 )
#define RAP_WserverNameDel	( 314 )
#define RAP_WserverNameEnum	( 315 )
#define RAP_I_WDASDEnum	( 316 )
#define RAP_WDASDEnumTerminate	( 317 )
#define RAP_WDASDSetInfo2	( 318 )
#define MAX_API	( 318 )
#define RAP_GROUPNAME_LEN	( 21 )
#define RAP_USERNAME_LEN	( 21 )
#define RAP_SHARENAME_LEN	( 13 )
#define RAP_UPASSWD_LEN	( 16 )
#define RAP_SPASSWD_LEN	( 9 )
#define RAP_MACHNAME_LEN	( 16 )
#define RAP_SRVCNAME_LEN	( 16 )
#define RAP_SRVCCMNT_LEN	( 64 )
#define RAP_DATATYPE_LEN	( 10 )
#define RAP_WFileEnum2_REQ	( "zzWrLehb8g8" )
#define RAP_WFileGetInfo2_REQ	( "DWrLh" )
#define RAP_WFileClose2_REQ	( "D" )
#define RAP_NetGroupEnum_REQ	( "WrLeh" )
#define RAP_NetGroupAdd_REQ	( "WsT" )
#define RAP_NetGroupDel_REQ	( "z" )
#define RAP_NetGroupAddUser_REQ	( "zz" )
#define RAP_NetGroupDelUser_REQ	( "zz" )
#define RAP_NetGroupGetUsers_REQ	( "zWrLeh" )
#define RAP_NetGroupSetUsers_REQ	( "zWsTW" )
#define RAP_NetUserAdd2_REQ	( "WsTWW" )
#define RAP_NetUserEnum_REQ	( "WrLeh" )
#define RAP_NetUserEnum2_REQ	( "WrLDieh" )
#define RAP_NetUserGetGroups_REQ	( "zWrLeh" )
#define RAP_NetUserSetGroups_REQ	( "zWsTW" )
#define RAP_NetUserPasswordSet_REQ	( "zb16b16w" )
#define RAP_NetUserPasswordSet2_REQ	( "zb16b16WW" )
#define RAP_SAMOEMChgPasswordUser2_REQ	( "B516B16" )
#define RAP_NetUserValidate2_REQ	( "Wb62WWrLhWW" )
#define RAP_NetServerEnum2_REQ	( "WrLehDz" )
#define RAP_WserverGetInfo_REQ	( "WrLh" )
#define RAP_NetWkstatGetInfo	( "WrLh" )
#define RAP_WShareAdd_REQ	( "WsT" )
#define RAP_WShareEnum_REQ	( "WrLeh" )
#define RAP_WShareDel_REQ	( "zW" )
#define RAP_WWkstaGetInfo_REQ	( "WrLh" )
#define RAP_NetPrintQEnum_REQ	( "WrLeh" )
#define RAP_NetPrintQGetInfo_REQ	( "zWrLh" )
#define RAP_NetServerAdminCommand_REQ	( "zhrLeh" )
#define RAP_NetServiceEnum_REQ	( "WrLeh" )
#define RAP_NetServiceControl_REQ	( "zWWrL" )
#define RAP_NetServiceInstall_REQ	( "zF88sg88T" )
#define RAP_NetServiceGetInfo_REQ	( "zWrLh" )
#define RAP_NetSessionEnum_REQ	( "WrLeh" )
#define RAP_NetSessionGetInfo_REQ	( "zWrLh" )
#define RAP_NetSessionDel_REQ	( "zW" )
#define RAP_NetConnectionEnum_REQ	( "zWrLeh" )
#define RAP_NetWkstaUserLogoff_REQ	( "zzWb38WrLh" )
#define RAP_FILE_INFO_L2	( "D" )
#define RAP_FILE_INFO_L3	( "DWWzz" )
#define RAP_GROUP_INFO_L0	( "B21" )
#define RAP_GROUP_INFO_L1	( "B21Bz" )
#define RAP_GROUP_USERS_INFO_0	( "B21" )
#define RAP_GROUP_USERS_INFO_1	( "B21BN" )
#define RAP_USER_INFO_L0	( "B21" )
#define RAP_USER_INFO_L1	( "B21BB16DWzzWz" )
#define RAP_SERVER_INFO_L0	( "B16" )
#define RAP_SERVER_INFO_L1	( "B16BBDz" )
#define RAP_SERVER_INFO_L2	( "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWz" )
#define RAP_SERVER_INFO_L3	( "B16BBDzDDDWWzWWWWWWWB21BzWWWWWWWWWWWWWWWWWWWWWWzDWz" )
#define RAP_SERVICE_INFO_L0	( "B16" )
#define RAP_SERVICE_INFO_L2	( "B16WDWB64" )
#define RAP_SHARE_INFO_L0	( "B13" )
#define RAP_SHARE_INFO_L1	( "B13BWz" )
#define RAP_SHARE_INFO_L2	( "B13BWzWWWzB9B" )
#define RAP_PRINTQ_INFO_L2	( "B13BWWWzzzzzWN" )
#define RAP_SMB_PRINT_JOB_L1	( "WB21BB16B10zWWzDDz" )
#define RAP_SESSION_INFO_L2	( "zzWWWDDDz" )
#define RAP_CONNECTION_INFO_L1	( "WWWWDzz" )
#define RAP_USER_LOGOFF_INFO_L1	( "WDW" )
#define RAP_WKSTA_INFO_L1	( "WDzzzzBBDWDWWWWWWWWWWWWWWWWWWWzzWzzW" )
#define RAP_WKSTA_INFO_L10	( "zzzBBzz" )
struct rap_group_info_1 {
	uint8_t group_name[21];
	uint8_t reserved1;
	const char *comment;/* [unique,charset(DOS)] */
};

struct rap_user_info_1 {
	uint8_t user_name[21];
	uint8_t reserved1;
	uint8_t passwrd[16];
	uint32_t pwage;
	uint16_t priv;
	const char *home_dir;/* [unique,charset(DOS)] */
	const char *comment;/* [unique,charset(DOS)] */
	uint16_t userflags;
	const char *logon_script;/* [unique,charset(DOS)] */
};

struct rap_service_info_2 {
	uint8_t service_name[16];
	uint16_t status;
	uint32_t installcode;
	uint16_t process_num;
	const char *comment;/* [unique,charset(DOS)] */
};

struct rap_share_info_0 {
	uint8_t share_name[13];
};

struct rap_share_info_1 {
	uint8_t share_name[13];
	uint8_t reserved1;
	uint16_t share_type;
	const char *comment;/* [unique,charset(DOS)] */
};

struct rap_share_info_2 {
	uint8_t share_name[13];
	uint8_t reserved1;
	uint16_t share_type;
	const char *comment;/* [unique,charset(DOS)] */
	uint16_t perms;
	uint16_t maximum_users;
	uint16_t active_users;
	const char *path;/* [unique,charset(DOS)] */
	uint8_t password[9];
	uint8_t reserved2;
};

union rap_share_info {
	struct rap_share_info_0 info0;/* [case(0)] */
	struct rap_share_info_1 info1;/* [case] */
	struct rap_share_info_2 info2;/* [case(2)] */
}/* [nodiscriminant] */;

struct rap_server_info_0 {
	uint8_t name[16];
};

struct rap_server_info_1 {
	uint8_t name[16];
	uint8_t version_major;
	uint8_t version_minor;
	uint32_t servertype;
	const char *comment;/* [unique,charset(DOS)] */
};

union rap_server_info {
	struct rap_server_info_0 info0;/* [case(0)] */
	struct rap_server_info_1 info1;/* [case] */
}/* [nodiscriminant] */;

enum rap_PrintJStatusCode
#ifndef USE_UINT_ENUMS
 {
	PRJ_QS_QUEUED=(int)(0x0000),
	PRJ_QS_PAUSED=(int)(0x0001),
	PRJ_QS_SPOOLING=(int)(0x0002),
	PRJ_QS_PRINTING=(int)(0x0003),
	PRJ_QS_ERROR=(int)(0x0010)
}
#else
 { __donnot_use_enum_rap_PrintJStatusCode=0x7FFFFFFF}
#define PRJ_QS_QUEUED ( 0x0000 )
#define PRJ_QS_PAUSED ( 0x0001 )
#define PRJ_QS_SPOOLING ( 0x0002 )
#define PRJ_QS_PRINTING ( 0x0003 )
#define PRJ_QS_ERROR ( 0x0010 )
#endif
;

struct rap_PrintJobInfo0 {
	uint16_t JobID;
};

struct rap_PrintJobInfo1 {
	uint16_t JobID;
	const char *UserName;/* [charset(DOS)] */
	uint8_t Pad;
	const char *NotifyName;/* [charset(DOS)] */
	const char *DataType;/* [charset(DOS)] */
	const char *PrintParameterString;/* [charset(DOS),relative_short] */
	uint16_t PrintParameterStringHigh;
	uint16_t JobPosition;
	enum rap_PrintJStatusCode JobStatus;
	const char *JobStatusString;/* [charset(DOS),relative_short] */
	uint16_t JobStatusStringHigh;
	time_t TimeSubmitted;
	uint32_t JobSize;
	const char *JobCommentString;/* [charset(DOS),relative_short] */
	uint16_t JobCommentStringHigh;
};

struct rap_PrintJobInfo2 {
	uint16_t JobID;
	uint16_t Priority;
	const char *UserName;/* [charset(DOS),relative_short] */
	uint16_t UserNameHigh;
	uint16_t JobPosition;
	enum rap_PrintJStatusCode JobStatus;
	time_t TimeSubmitted;
	uint32_t JobSize;
	const char *JobCommentString;/* [charset(DOS),relative_short] */
	uint16_t JobCommentStringHigh;
	const char *DocumentName;/* [charset(DOS),relative_short] */
	uint16_t DocumentNameHigh;
};

struct rap_PrintJobInfo3 {
	uint16_t JobID;
	uint16_t Priority;
	const char *UserName;/* [charset(DOS),relative_short] */
	uint16_t UserNameHigh;
	uint16_t JobPosition;
	enum rap_PrintJStatusCode JobStatus;
	time_t TimeSubmitted;
	uint32_t JobSize;
	const char *JobCommentString;/* [charset(DOS),relative_short] */
	uint16_t JobCommentStringHigh;
	const char *DocumentName;/* [charset(DOS),relative_short] */
	uint16_t DocumentNameHigh;
	const char *NotifyName;/* [charset(DOS),relative_short] */
	uint16_t NotifyNameHigh;
	const char *DataType;/* [charset(DOS),relative_short] */
	uint16_t DataTypeHigh;
	const char *PrintParameterString;/* [charset(DOS),relative_short] */
	uint16_t PrintParameterStringHigh;
	const char *StatusString;/* [charset(DOS),relative_short] */
	uint16_t StatusStringHigh;
	const char *QueueName;/* [charset(DOS),relative_short] */
	uint16_t QueueNameHigh;
	const char *PrintProcessorName;/* [charset(DOS),relative_short] */
	uint16_t PrintProcessorNameHigh;
	const char *PrintProcessorParams;/* [charset(DOS),relative_short] */
	uint16_t PrintProcessorParamsHigh;
	const char *DriverName;/* [charset(DOS),relative_short] */
	uint16_t DriverNameHigh;
	const char *DriverDataOffset;/* [charset(DOS),relative_short] */
	uint16_t DriverDataOffsetHigh;
	const char *PrinterNameOffset;/* [charset(DOS),relative_short] */
	uint16_t PrinterNameOffsetHigh;
};

enum rap_PrintQStatusCode
#ifndef USE_UINT_ENUMS
 {
	PRQ_ACTIVE=(int)(0x0000),
	PRQ_PAUSE=(int)(0x0001),
	PRQ_ERROR=(int)(0x0002),
	PRQ_PENDING=(int)(0x0003)
}
#else
 { __donnot_use_enum_rap_PrintQStatusCode=0x7FFFFFFF}
#define PRQ_ACTIVE ( 0x0000 )
#define PRQ_PAUSE ( 0x0001 )
#define PRQ_ERROR ( 0x0002 )
#define PRQ_PENDING ( 0x0003 )
#endif
;

struct rap_PrintQueue0 {
	const char *PrintQName;/* [charset(DOS)] */
};

struct rap_PrintQueue1 {
	const char *PrintQName;/* [charset(DOS)] */
	uint8_t Pad1;
	uint16_t Priority;
	uint16_t StartTime;
	uint16_t UntilTime;
	const char *SeparatorPageFilename;/* [charset(DOS),relative_short] */
	uint16_t SeparatorPageFilenameHigh;
	const char *PrintProcessorDllName;/* [charset(DOS),relative_short] */
	uint16_t PrintProcessorDllNameHigh;
	const char *PrintDestinationsName;/* [charset(DOS),relative_short] */
	uint16_t PrintDestinationsNameHigh;
	const char *PrintParameterString;/* [charset(DOS),relative_short] */
	uint16_t PrintParameterStringHigh;
	const char *CommentString;/* [charset(DOS),relative_short] */
	uint16_t CommentStringHigh;
	enum rap_PrintQStatusCode PrintQStatus;
	uint16_t PrintJobCount;
};

struct rap_PrintQueue2 {
	struct rap_PrintQueue1 queue;
	struct rap_PrintJobInfo1 job;
};

struct rap_PrintQueue3 {
	const char *PrintQueueName;/* [charset(DOS),relative_short] */
	uint16_t PrintQueueNameHigh;
	uint16_t Priority;
	uint16_t StartTime;
	uint16_t UntilTime;
	uint16_t Pad;
	const char *SeparatorPageFilename;/* [charset(DOS),relative_short] */
	uint16_t SeparatorPageFilenameHigh;
	const char *PrintProcessorDllName;/* [charset(DOS),relative_short] */
	uint16_t PrintProcessorDllNameHigh;
	const char *PrintParameterString;/* [charset(DOS),relative_short] */
	uint16_t PrintParameterStringHigh;
	const char *CommentString;/* [charset(DOS),relative_short] */
	uint16_t CommentStringHigh;
	enum rap_PrintQStatusCode PrintQStatus;
	uint16_t PrintJobCount;
	const char *Printers;/* [charset(DOS),relative_short] */
	uint16_t PrintersHigh;
	const char *DriverName;/* [charset(DOS),relative_short] */
	uint16_t DriverNameHigh;
	const char *PrintDriverData;/* [charset(DOS),relative_short] */
	uint16_t PrintDriverDataHigh;
};

struct rap_PrintQueue4 {
	struct rap_PrintQueue3 queue;
	struct rap_PrintJobInfo2 job;
};

struct rap_PrintQueue5 {
	const char *PrintQueueName;/* [charset(DOS),relative_short] */
	uint16_t PrintQueueNameHigh;
};

union rap_printq_info {
	struct rap_PrintQueue0 info0;/* [case(0)] */
	struct rap_PrintQueue1 info1;/* [case] */
	struct rap_PrintQueue2 info2;/* [case(2)] */
	struct rap_PrintQueue3 info3;/* [case(3)] */
	struct rap_PrintQueue4 info4;/* [case(4)] */
	struct rap_PrintQueue5 info5;/* [case(5)] */
}/* [nodiscriminant] */;


struct rap_NetShareEnum {
	struct {
		uint16_t level;
		uint16_t bufsize;
	} in;

	struct {
		uint16_t status;
		uint16_t convert;
		uint16_t count;
		uint16_t available;
		union rap_share_info *info;/* [ref,switch_is(level)] */
	} out;

};


struct rap_NetServerEnum2 {
	struct {
		uint16_t level;
		uint16_t bufsize;
		uint32_t servertype;
		const char *domain;/* [ref,charset(DOS)] */
	} in;

	struct {
		uint16_t status;
		uint16_t convert;
		uint16_t count;
		uint16_t available;
		union rap_server_info *info;/* [ref,switch_is(level)] */
	} out;

};


struct rap_WserverGetInfo {
	struct {
		uint16_t level;
		uint16_t bufsize;
	} in;

	struct {
		uint16_t status;
		uint16_t convert;
		uint16_t available;
		union rap_server_info info;/* [switch_is(level)] */
	} out;

};


struct rap_NetPrintQEnum {
	struct {
		uint16_t level;
		uint16_t bufsize;
	} in;

	struct {
		uint16_t status;
		uint16_t convert;
		uint16_t count;
		uint16_t available;
		union rap_printq_info *info;/* [ref,switch_is(level)] */
	} out;

};


struct rap_NetPrintQGetInfo {
	struct {
		const char *PrintQueueName;/* [ref,charset(DOS)] */
		uint16_t level;
		uint16_t bufsize;
	} in;

	struct {
		uint16_t status;
		uint16_t convert;
		uint16_t available;
		union rap_printq_info info;/* [switch_is(level)] */
	} out;

};


struct rap_NetPrintJobPause {
	struct {
		uint16_t JobID;
	} in;

	struct {
		uint16_t status;
		uint16_t convert;
	} out;

};


struct rap_NetPrintJobContinue {
	struct {
		uint16_t JobID;
	} in;

	struct {
		uint16_t status;
		uint16_t convert;
	} out;

};


struct rap_NetPrintJobDelete {
	struct {
		uint16_t JobID;
	} in;

	struct {
		uint16_t status;
		uint16_t convert;
	} out;

};

#endif /* _HEADER_rap */