1# SPDX-License-Identifier: GPL-2.0-only
2# This file is part of Scapy RPC
3# See https://scapy.net/ for more information
4# Copyright (C) Gabriel Potter
5
6# [ms-srvs] v39.0 (Mon, 16 Sep 2024)
7
8"""
9RPC definitions for the following interfaces:
10- srvsvc (v3.0): 4B324FC8-1670-01D3-1278-5A47BF6EE188
11This file is auto-generated by midl-to-scapy, do not modify.
12"""
13
14import uuid
15
16from scapy.fields import PacketListField, StrFixedLenField
17from scapy.layers.dcerpc import (
18 NDRPacket,
19 DceRpcOp,
20 NDRByteField,
21 NDRConfFieldListField,
22 NDRConfPacketListField,
23 NDRConfStrLenField,
24 NDRConfVarPacketListField,
25 NDRConfVarStrNullField,
26 NDRConfVarStrNullFieldUtf16,
27 NDRContextHandle,
28 NDRFullEmbPointerField,
29 NDRFullPointerField,
30 NDRIntField,
31 NDRPacketField,
32 NDRShortField,
33 NDRSignedIntField,
34 NDRUnionField,
35 NDRVarStrNullField,
36 NDRVarStrNullFieldUtf16,
37 register_dcerpc_interface,
38)
39
40
41class LPCONNECTION_INFO_0(NDRPacket):
42 ALIGNMENT = (4, 4)
43 fields_desc = [NDRIntField("coni0_id", 0)]
44
45
46class CONNECT_INFO_0_CONTAINER(NDRPacket):
47 ALIGNMENT = (4, 8)
48 fields_desc = [
49 NDRIntField("EntriesRead", None, size_of="Buffer"),
50 NDRFullEmbPointerField(
51 NDRConfPacketListField(
52 "Buffer", [], LPCONNECTION_INFO_0, size_is=lambda pkt: pkt.EntriesRead
53 )
54 ),
55 ]
56
57
58class LPCONNECTION_INFO_1(NDRPacket):
59 ALIGNMENT = (4, 8)
60 fields_desc = [
61 NDRIntField("coni1_id", 0),
62 NDRIntField("coni1_type", 0),
63 NDRIntField("coni1_num_opens", 0),
64 NDRIntField("coni1_num_users", 0),
65 NDRIntField("coni1_time", 0),
66 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("coni1_username", "")),
67 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("coni1_netname", "")),
68 ]
69
70
71class CONNECT_INFO_1_CONTAINER(NDRPacket):
72 ALIGNMENT = (4, 8)
73 fields_desc = [
74 NDRIntField("EntriesRead", None, size_of="Buffer"),
75 NDRFullEmbPointerField(
76 NDRConfPacketListField(
77 "Buffer", [], LPCONNECTION_INFO_1, size_is=lambda pkt: pkt.EntriesRead
78 )
79 ),
80 ]
81
82
83class LPCONNECT_ENUM_STRUCT(NDRPacket):
84 ALIGNMENT = (4, 8)
85 fields_desc = [
86 NDRIntField("Level", 0),
87 NDRUnionField(
88 [
89 (
90 NDRFullEmbPointerField(
91 NDRPacketField(
92 "ConnectInfo",
93 CONNECT_INFO_0_CONTAINER(),
94 CONNECT_INFO_0_CONTAINER,
95 )
96 ),
97 (
98 (lambda pkt: getattr(pkt, "Level", None) == 0),
99 (lambda _, val: val.tag == 0),
100 ),
101 ),
102 (
103 NDRFullEmbPointerField(
104 NDRPacketField(
105 "ConnectInfo",
106 CONNECT_INFO_1_CONTAINER(),
107 CONNECT_INFO_1_CONTAINER,
108 )
109 ),
110 (
111 (lambda pkt: getattr(pkt, "Level", None) == 1),
112 (lambda _, val: val.tag == 1),
113 ),
114 ),
115 ],
116 StrFixedLenField("ConnectInfo", "", length=0),
117 align=(4, 8),
118 switch_fmt=("L", "L"),
119 ),
120 ]
121
122
123class NetrConnectionEnum_Request(NDRPacket):
124 fields_desc = [
125 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
126 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("Qualifier", "")),
127 NDRPacketField("InfoStruct", LPCONNECT_ENUM_STRUCT(), LPCONNECT_ENUM_STRUCT),
128 NDRIntField("PreferedMaximumLength", 0),
129 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
130 ]
131
132
133class NetrConnectionEnum_Response(NDRPacket):
134 fields_desc = [
135 NDRPacketField("InfoStruct", LPCONNECT_ENUM_STRUCT(), LPCONNECT_ENUM_STRUCT),
136 NDRIntField("TotalEntries", 0),
137 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
138 NDRIntField("status", 0),
139 ]
140
141
142class LPFILE_INFO_2(NDRPacket):
143 ALIGNMENT = (4, 4)
144 fields_desc = [NDRIntField("fi2_id", 0)]
145
146
147class FILE_INFO_2_CONTAINER(NDRPacket):
148 ALIGNMENT = (4, 8)
149 fields_desc = [
150 NDRIntField("EntriesRead", None, size_of="Buffer"),
151 NDRFullEmbPointerField(
152 NDRConfPacketListField(
153 "Buffer", [], LPFILE_INFO_2, size_is=lambda pkt: pkt.EntriesRead
154 )
155 ),
156 ]
157
158
159class LPFILE_INFO_3(NDRPacket):
160 ALIGNMENT = (4, 8)
161 fields_desc = [
162 NDRIntField("fi3_id", 0),
163 NDRIntField("fi3_permissions", 0),
164 NDRIntField("fi3_num_locks", 0),
165 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("fi3_pathname", "")),
166 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("fi3_username", "")),
167 ]
168
169
170class FILE_INFO_3_CONTAINER(NDRPacket):
171 ALIGNMENT = (4, 8)
172 fields_desc = [
173 NDRIntField("EntriesRead", None, size_of="Buffer"),
174 NDRFullEmbPointerField(
175 NDRConfPacketListField(
176 "Buffer", [], LPFILE_INFO_3, size_is=lambda pkt: pkt.EntriesRead
177 )
178 ),
179 ]
180
181
182class PFILE_ENUM_STRUCT(NDRPacket):
183 ALIGNMENT = (4, 8)
184 fields_desc = [
185 NDRIntField("Level", 0),
186 NDRUnionField(
187 [
188 (
189 NDRFullEmbPointerField(
190 NDRPacketField(
191 "FileInfo", FILE_INFO_2_CONTAINER(), FILE_INFO_2_CONTAINER
192 )
193 ),
194 (
195 (lambda pkt: getattr(pkt, "Level", None) == 2),
196 (lambda _, val: val.tag == 2),
197 ),
198 ),
199 (
200 NDRFullEmbPointerField(
201 NDRPacketField(
202 "FileInfo", FILE_INFO_3_CONTAINER(), FILE_INFO_3_CONTAINER
203 )
204 ),
205 (
206 (lambda pkt: getattr(pkt, "Level", None) == 3),
207 (lambda _, val: val.tag == 3),
208 ),
209 ),
210 ],
211 StrFixedLenField("FileInfo", "", length=0),
212 align=(4, 8),
213 switch_fmt=("L", "L"),
214 ),
215 ]
216
217
218class NetrFileEnum_Request(NDRPacket):
219 fields_desc = [
220 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
221 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("BasePath", "")),
222 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("UserName", "")),
223 NDRPacketField("InfoStruct", PFILE_ENUM_STRUCT(), PFILE_ENUM_STRUCT),
224 NDRIntField("PreferedMaximumLength", 0),
225 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
226 ]
227
228
229class NetrFileEnum_Response(NDRPacket):
230 fields_desc = [
231 NDRPacketField("InfoStruct", PFILE_ENUM_STRUCT(), PFILE_ENUM_STRUCT),
232 NDRIntField("TotalEntries", 0),
233 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
234 NDRIntField("status", 0),
235 ]
236
237
238class NetrFileGetInfo_Request(NDRPacket):
239 fields_desc = [
240 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
241 NDRIntField("FileId", 0),
242 NDRIntField("Level", 0),
243 ]
244
245
246class NetrFileGetInfo_Response(NDRPacket):
247 fields_desc = [
248 NDRUnionField(
249 [
250 (
251 NDRFullPointerField(
252 NDRPacketField("InfoStruct", LPFILE_INFO_2(), LPFILE_INFO_2)
253 ),
254 (
255 (lambda pkt: getattr(pkt, "Level", None) == 2),
256 (lambda _, val: val.tag == 2),
257 ),
258 ),
259 (
260 NDRFullPointerField(
261 NDRPacketField("InfoStruct", LPFILE_INFO_3(), LPFILE_INFO_3)
262 ),
263 (
264 (lambda pkt: getattr(pkt, "Level", None) == 3),
265 (lambda _, val: val.tag == 3),
266 ),
267 ),
268 ],
269 StrFixedLenField("InfoStruct", "", length=0),
270 align=(4, 8),
271 switch_fmt=("L", "L"),
272 ),
273 NDRIntField("status", 0),
274 ]
275
276
277class NetrFileClose_Request(NDRPacket):
278 fields_desc = [
279 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
280 NDRIntField("FileId", 0),
281 ]
282
283
284class NetrFileClose_Response(NDRPacket):
285 fields_desc = [NDRIntField("status", 0)]
286
287
288class LPSESSION_INFO_0(NDRPacket):
289 ALIGNMENT = (4, 8)
290 fields_desc = [
291 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi0_cname", ""))
292 ]
293
294
295class SESSION_INFO_0_CONTAINER(NDRPacket):
296 ALIGNMENT = (4, 8)
297 fields_desc = [
298 NDRIntField("EntriesRead", None, size_of="Buffer"),
299 NDRFullEmbPointerField(
300 NDRConfPacketListField(
301 "Buffer", [], LPSESSION_INFO_0, size_is=lambda pkt: pkt.EntriesRead
302 )
303 ),
304 ]
305
306
307class LPSESSION_INFO_1(NDRPacket):
308 ALIGNMENT = (4, 8)
309 fields_desc = [
310 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi1_cname", "")),
311 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi1_username", "")),
312 NDRIntField("sesi1_num_opens", 0),
313 NDRIntField("sesi1_time", 0),
314 NDRIntField("sesi1_idle_time", 0),
315 NDRIntField("sesi1_user_flags", 0),
316 ]
317
318
319class SESSION_INFO_1_CONTAINER(NDRPacket):
320 ALIGNMENT = (4, 8)
321 fields_desc = [
322 NDRIntField("EntriesRead", None, size_of="Buffer"),
323 NDRFullEmbPointerField(
324 NDRConfPacketListField(
325 "Buffer", [], LPSESSION_INFO_1, size_is=lambda pkt: pkt.EntriesRead
326 )
327 ),
328 ]
329
330
331class LPSESSION_INFO_2(NDRPacket):
332 ALIGNMENT = (4, 8)
333 fields_desc = [
334 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi2_cname", "")),
335 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi2_username", "")),
336 NDRIntField("sesi2_num_opens", 0),
337 NDRIntField("sesi2_time", 0),
338 NDRIntField("sesi2_idle_time", 0),
339 NDRIntField("sesi2_user_flags", 0),
340 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi2_cltype_name", "")),
341 ]
342
343
344class SESSION_INFO_2_CONTAINER(NDRPacket):
345 ALIGNMENT = (4, 8)
346 fields_desc = [
347 NDRIntField("EntriesRead", None, size_of="Buffer"),
348 NDRFullEmbPointerField(
349 NDRConfPacketListField(
350 "Buffer", [], LPSESSION_INFO_2, size_is=lambda pkt: pkt.EntriesRead
351 )
352 ),
353 ]
354
355
356class LPSESSION_INFO_10(NDRPacket):
357 ALIGNMENT = (4, 8)
358 fields_desc = [
359 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi10_cname", "")),
360 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi10_username", "")),
361 NDRIntField("sesi10_time", 0),
362 NDRIntField("sesi10_idle_time", 0),
363 ]
364
365
366class SESSION_INFO_10_CONTAINER(NDRPacket):
367 ALIGNMENT = (4, 8)
368 fields_desc = [
369 NDRIntField("EntriesRead", None, size_of="Buffer"),
370 NDRFullEmbPointerField(
371 NDRConfPacketListField(
372 "Buffer", [], LPSESSION_INFO_10, size_is=lambda pkt: pkt.EntriesRead
373 )
374 ),
375 ]
376
377
378class LPSESSION_INFO_502(NDRPacket):
379 ALIGNMENT = (4, 8)
380 fields_desc = [
381 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi502_cname", "")),
382 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi502_username", "")),
383 NDRIntField("sesi502_num_opens", 0),
384 NDRIntField("sesi502_time", 0),
385 NDRIntField("sesi502_idle_time", 0),
386 NDRIntField("sesi502_user_flags", 0),
387 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi502_cltype_name", "")),
388 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sesi502_transport", "")),
389 ]
390
391
392class SESSION_INFO_502_CONTAINER(NDRPacket):
393 ALIGNMENT = (4, 8)
394 fields_desc = [
395 NDRIntField("EntriesRead", None, size_of="Buffer"),
396 NDRFullEmbPointerField(
397 NDRConfPacketListField(
398 "Buffer", [], LPSESSION_INFO_502, size_is=lambda pkt: pkt.EntriesRead
399 )
400 ),
401 ]
402
403
404class PSESSION_ENUM_STRUCT(NDRPacket):
405 ALIGNMENT = (4, 8)
406 fields_desc = [
407 NDRIntField("Level", 0),
408 NDRUnionField(
409 [
410 (
411 NDRFullEmbPointerField(
412 NDRPacketField(
413 "SessionInfo",
414 SESSION_INFO_0_CONTAINER(),
415 SESSION_INFO_0_CONTAINER,
416 )
417 ),
418 (
419 (lambda pkt: getattr(pkt, "Level", None) == 0),
420 (lambda _, val: val.tag == 0),
421 ),
422 ),
423 (
424 NDRFullEmbPointerField(
425 NDRPacketField(
426 "SessionInfo",
427 SESSION_INFO_1_CONTAINER(),
428 SESSION_INFO_1_CONTAINER,
429 )
430 ),
431 (
432 (lambda pkt: getattr(pkt, "Level", None) == 1),
433 (lambda _, val: val.tag == 1),
434 ),
435 ),
436 (
437 NDRFullEmbPointerField(
438 NDRPacketField(
439 "SessionInfo",
440 SESSION_INFO_2_CONTAINER(),
441 SESSION_INFO_2_CONTAINER,
442 )
443 ),
444 (
445 (lambda pkt: getattr(pkt, "Level", None) == 2),
446 (lambda _, val: val.tag == 2),
447 ),
448 ),
449 (
450 NDRFullEmbPointerField(
451 NDRPacketField(
452 "SessionInfo",
453 SESSION_INFO_10_CONTAINER(),
454 SESSION_INFO_10_CONTAINER,
455 )
456 ),
457 (
458 (lambda pkt: getattr(pkt, "Level", None) == 10),
459 (lambda _, val: val.tag == 10),
460 ),
461 ),
462 (
463 NDRFullEmbPointerField(
464 NDRPacketField(
465 "SessionInfo",
466 SESSION_INFO_502_CONTAINER(),
467 SESSION_INFO_502_CONTAINER,
468 )
469 ),
470 (
471 (lambda pkt: getattr(pkt, "Level", None) == 502),
472 (lambda _, val: val.tag == 502),
473 ),
474 ),
475 ],
476 StrFixedLenField("SessionInfo", "", length=0),
477 align=(4, 8),
478 switch_fmt=("L", "L"),
479 ),
480 ]
481
482
483class NetrSessionEnum_Request(NDRPacket):
484 fields_desc = [
485 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
486 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ClientName", "")),
487 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("UserName", "")),
488 NDRPacketField("InfoStruct", PSESSION_ENUM_STRUCT(), PSESSION_ENUM_STRUCT),
489 NDRIntField("PreferedMaximumLength", 0),
490 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
491 ]
492
493
494class NetrSessionEnum_Response(NDRPacket):
495 fields_desc = [
496 NDRPacketField("InfoStruct", PSESSION_ENUM_STRUCT(), PSESSION_ENUM_STRUCT),
497 NDRIntField("TotalEntries", 0),
498 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
499 NDRIntField("status", 0),
500 ]
501
502
503class NetrSessionDel_Request(NDRPacket):
504 fields_desc = [
505 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
506 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ClientName", "")),
507 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("UserName", "")),
508 ]
509
510
511class NetrSessionDel_Response(NDRPacket):
512 fields_desc = [NDRIntField("status", 0)]
513
514
515class LPSHARE_INFO_0(NDRPacket):
516 ALIGNMENT = (4, 8)
517 fields_desc = [
518 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi0_netname", ""))
519 ]
520
521
522class LPSHARE_INFO_1(NDRPacket):
523 ALIGNMENT = (4, 8)
524 fields_desc = [
525 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi1_netname", "")),
526 NDRIntField("shi1_type", 0),
527 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi1_remark", "")),
528 ]
529
530
531class LPSHARE_INFO_2(NDRPacket):
532 ALIGNMENT = (4, 8)
533 fields_desc = [
534 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi2_netname", "")),
535 NDRIntField("shi2_type", 0),
536 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi2_remark", "")),
537 NDRIntField("shi2_permissions", 0),
538 NDRIntField("shi2_max_uses", 0),
539 NDRIntField("shi2_current_uses", 0),
540 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi2_path", "")),
541 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi2_passwd", "")),
542 ]
543
544
545class LPSHARE_INFO_502_I(NDRPacket):
546 ALIGNMENT = (4, 8)
547 fields_desc = [
548 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi502_netname", "")),
549 NDRIntField("shi502_type", 0),
550 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi502_remark", "")),
551 NDRIntField("shi502_permissions", 0),
552 NDRIntField("shi502_max_uses", 0),
553 NDRIntField("shi502_current_uses", 0),
554 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi502_path", "")),
555 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi502_passwd", "")),
556 NDRIntField("shi502_reserved", None, size_of="shi502_security_descriptor"),
557 NDRFullEmbPointerField(
558 NDRConfStrLenField(
559 "shi502_security_descriptor",
560 "",
561 size_is=lambda pkt: pkt.shi502_reserved,
562 )
563 ),
564 ]
565
566
567class LPSHARE_INFO_1004(NDRPacket):
568 ALIGNMENT = (4, 8)
569 fields_desc = [
570 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi1004_remark", ""))
571 ]
572
573
574class LPSHARE_INFO_1006(NDRPacket):
575 ALIGNMENT = (4, 4)
576 fields_desc = [NDRIntField("shi1006_max_uses", 0)]
577
578
579class LPSHARE_INFO_1501_I(NDRPacket):
580 ALIGNMENT = (4, 8)
581 fields_desc = [
582 NDRIntField("shi1501_reserved", None, size_of="shi1501_security_descriptor"),
583 NDRFullEmbPointerField(
584 NDRConfStrLenField(
585 "shi1501_security_descriptor",
586 "",
587 size_is=lambda pkt: pkt.shi1501_reserved,
588 )
589 ),
590 ]
591
592
593class LPSHARE_INFO_1005(NDRPacket):
594 ALIGNMENT = (4, 4)
595 fields_desc = [NDRIntField("shi1005_flags", 0)]
596
597
598class LPSHARE_INFO_501(NDRPacket):
599 ALIGNMENT = (4, 8)
600 fields_desc = [
601 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi501_netname", "")),
602 NDRIntField("shi501_type", 0),
603 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi501_remark", "")),
604 NDRIntField("shi501_flags", 0),
605 ]
606
607
608class LPSHARE_INFO_503_I(NDRPacket):
609 ALIGNMENT = (4, 8)
610 fields_desc = [
611 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi503_netname", "")),
612 NDRIntField("shi503_type", 0),
613 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi503_remark", "")),
614 NDRIntField("shi503_permissions", 0),
615 NDRIntField("shi503_max_uses", 0),
616 NDRIntField("shi503_current_uses", 0),
617 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi503_path", "")),
618 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi503_passwd", "")),
619 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("shi503_servername", "")),
620 NDRIntField("shi503_reserved", None, size_of="shi503_security_descriptor"),
621 NDRFullEmbPointerField(
622 NDRConfStrLenField(
623 "shi503_security_descriptor",
624 "",
625 size_is=lambda pkt: pkt.shi503_reserved,
626 )
627 ),
628 ]
629
630
631class NetrShareAdd_Request(NDRPacket):
632 fields_desc = [
633 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
634 NDRIntField("Level", 0),
635 NDRUnionField(
636 [
637 (
638 NDRFullPointerField(
639 NDRPacketField("InfoStruct", LPSHARE_INFO_0(), LPSHARE_INFO_0)
640 ),
641 (
642 (lambda pkt: getattr(pkt, "Level", None) == 0),
643 (lambda _, val: val.tag == 0),
644 ),
645 ),
646 (
647 NDRFullPointerField(
648 NDRPacketField("InfoStruct", LPSHARE_INFO_1(), LPSHARE_INFO_1)
649 ),
650 (
651 (lambda pkt: getattr(pkt, "Level", None) == 1),
652 (lambda _, val: val.tag == 1),
653 ),
654 ),
655 (
656 NDRFullPointerField(
657 NDRPacketField("InfoStruct", LPSHARE_INFO_2(), LPSHARE_INFO_2)
658 ),
659 (
660 (lambda pkt: getattr(pkt, "Level", None) == 2),
661 (lambda _, val: val.tag == 2),
662 ),
663 ),
664 (
665 NDRFullPointerField(
666 NDRPacketField(
667 "InfoStruct", LPSHARE_INFO_502_I(), LPSHARE_INFO_502_I
668 )
669 ),
670 (
671 (lambda pkt: getattr(pkt, "Level", None) == 502),
672 (lambda _, val: val.tag == 502),
673 ),
674 ),
675 (
676 NDRFullPointerField(
677 NDRPacketField(
678 "InfoStruct", LPSHARE_INFO_1004(), LPSHARE_INFO_1004
679 )
680 ),
681 (
682 (lambda pkt: getattr(pkt, "Level", None) == 1004),
683 (lambda _, val: val.tag == 1004),
684 ),
685 ),
686 (
687 NDRFullPointerField(
688 NDRPacketField(
689 "InfoStruct", LPSHARE_INFO_1006(), LPSHARE_INFO_1006
690 )
691 ),
692 (
693 (lambda pkt: getattr(pkt, "Level", None) == 1006),
694 (lambda _, val: val.tag == 1006),
695 ),
696 ),
697 (
698 NDRFullPointerField(
699 NDRPacketField(
700 "InfoStruct", LPSHARE_INFO_1501_I(), LPSHARE_INFO_1501_I
701 )
702 ),
703 (
704 (lambda pkt: getattr(pkt, "Level", None) == 1501),
705 (lambda _, val: val.tag == 1501),
706 ),
707 ),
708 (
709 NDRFullPointerField(
710 NDRPacketField(
711 "InfoStruct", LPSHARE_INFO_1005(), LPSHARE_INFO_1005
712 )
713 ),
714 (
715 (lambda pkt: getattr(pkt, "Level", None) == 1005),
716 (lambda _, val: val.tag == 1005),
717 ),
718 ),
719 (
720 NDRFullPointerField(
721 NDRPacketField(
722 "InfoStruct", LPSHARE_INFO_501(), LPSHARE_INFO_501
723 )
724 ),
725 (
726 (lambda pkt: getattr(pkt, "Level", None) == 501),
727 (lambda _, val: val.tag == 501),
728 ),
729 ),
730 (
731 NDRFullPointerField(
732 NDRPacketField(
733 "InfoStruct", LPSHARE_INFO_503_I(), LPSHARE_INFO_503_I
734 )
735 ),
736 (
737 (lambda pkt: getattr(pkt, "Level", None) == 503),
738 (lambda _, val: val.tag == 503),
739 ),
740 ),
741 ],
742 StrFixedLenField("InfoStruct", "", length=0),
743 align=(4, 8),
744 switch_fmt=("L", "L"),
745 ),
746 NDRFullPointerField(NDRIntField("ParmErr", 0)),
747 ]
748
749
750class NetrShareAdd_Response(NDRPacket):
751 fields_desc = [
752 NDRFullPointerField(NDRIntField("ParmErr", 0)),
753 NDRIntField("status", 0),
754 ]
755
756
757class SHARE_INFO_0_CONTAINER(NDRPacket):
758 ALIGNMENT = (4, 8)
759 fields_desc = [
760 NDRIntField("EntriesRead", None, size_of="Buffer"),
761 NDRFullEmbPointerField(
762 NDRConfPacketListField(
763 "Buffer", [], LPSHARE_INFO_0, size_is=lambda pkt: pkt.EntriesRead
764 )
765 ),
766 ]
767
768
769class SHARE_INFO_1_CONTAINER(NDRPacket):
770 ALIGNMENT = (4, 8)
771 fields_desc = [
772 NDRIntField("EntriesRead", None, size_of="Buffer"),
773 NDRFullEmbPointerField(
774 NDRConfPacketListField(
775 "Buffer", [], LPSHARE_INFO_1, size_is=lambda pkt: pkt.EntriesRead
776 )
777 ),
778 ]
779
780
781class SHARE_INFO_2_CONTAINER(NDRPacket):
782 ALIGNMENT = (4, 8)
783 fields_desc = [
784 NDRIntField("EntriesRead", None, size_of="Buffer"),
785 NDRFullEmbPointerField(
786 NDRConfPacketListField(
787 "Buffer", [], LPSHARE_INFO_2, size_is=lambda pkt: pkt.EntriesRead
788 )
789 ),
790 ]
791
792
793class SHARE_INFO_501_CONTAINER(NDRPacket):
794 ALIGNMENT = (4, 8)
795 fields_desc = [
796 NDRIntField("EntriesRead", None, size_of="Buffer"),
797 NDRFullEmbPointerField(
798 NDRConfPacketListField(
799 "Buffer", [], LPSHARE_INFO_501, size_is=lambda pkt: pkt.EntriesRead
800 )
801 ),
802 ]
803
804
805class SHARE_INFO_502_CONTAINER(NDRPacket):
806 ALIGNMENT = (4, 8)
807 fields_desc = [
808 NDRIntField("EntriesRead", None, size_of="Buffer"),
809 NDRFullEmbPointerField(
810 NDRConfPacketListField(
811 "Buffer", [], LPSHARE_INFO_502_I, size_is=lambda pkt: pkt.EntriesRead
812 )
813 ),
814 ]
815
816
817class SHARE_INFO_503_CONTAINER(NDRPacket):
818 ALIGNMENT = (4, 8)
819 fields_desc = [
820 NDRIntField("EntriesRead", None, size_of="Buffer"),
821 NDRFullEmbPointerField(
822 NDRConfPacketListField(
823 "Buffer", [], LPSHARE_INFO_503_I, size_is=lambda pkt: pkt.EntriesRead
824 )
825 ),
826 ]
827
828
829class LPSHARE_ENUM_STRUCT(NDRPacket):
830 ALIGNMENT = (4, 8)
831 fields_desc = [
832 NDRIntField("Level", 0),
833 NDRUnionField(
834 [
835 (
836 NDRFullEmbPointerField(
837 NDRPacketField(
838 "ShareInfo",
839 SHARE_INFO_0_CONTAINER(),
840 SHARE_INFO_0_CONTAINER,
841 )
842 ),
843 (
844 (lambda pkt: getattr(pkt, "Level", None) == 0),
845 (lambda _, val: val.tag == 0),
846 ),
847 ),
848 (
849 NDRFullEmbPointerField(
850 NDRPacketField(
851 "ShareInfo",
852 SHARE_INFO_1_CONTAINER(),
853 SHARE_INFO_1_CONTAINER,
854 )
855 ),
856 (
857 (lambda pkt: getattr(pkt, "Level", None) == 1),
858 (lambda _, val: val.tag == 1),
859 ),
860 ),
861 (
862 NDRFullEmbPointerField(
863 NDRPacketField(
864 "ShareInfo",
865 SHARE_INFO_2_CONTAINER(),
866 SHARE_INFO_2_CONTAINER,
867 )
868 ),
869 (
870 (lambda pkt: getattr(pkt, "Level", None) == 2),
871 (lambda _, val: val.tag == 2),
872 ),
873 ),
874 (
875 NDRFullEmbPointerField(
876 NDRPacketField(
877 "ShareInfo",
878 SHARE_INFO_501_CONTAINER(),
879 SHARE_INFO_501_CONTAINER,
880 )
881 ),
882 (
883 (lambda pkt: getattr(pkt, "Level", None) == 501),
884 (lambda _, val: val.tag == 501),
885 ),
886 ),
887 (
888 NDRFullEmbPointerField(
889 NDRPacketField(
890 "ShareInfo",
891 SHARE_INFO_502_CONTAINER(),
892 SHARE_INFO_502_CONTAINER,
893 )
894 ),
895 (
896 (lambda pkt: getattr(pkt, "Level", None) == 502),
897 (lambda _, val: val.tag == 502),
898 ),
899 ),
900 (
901 NDRFullEmbPointerField(
902 NDRPacketField(
903 "ShareInfo",
904 SHARE_INFO_503_CONTAINER(),
905 SHARE_INFO_503_CONTAINER,
906 )
907 ),
908 (
909 (lambda pkt: getattr(pkt, "Level", None) == 503),
910 (lambda _, val: val.tag == 503),
911 ),
912 ),
913 ],
914 StrFixedLenField("ShareInfo", "", length=0),
915 align=(4, 8),
916 switch_fmt=("L", "L"),
917 ),
918 ]
919
920
921class NetrShareEnum_Request(NDRPacket):
922 fields_desc = [
923 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
924 NDRPacketField("InfoStruct", LPSHARE_ENUM_STRUCT(), LPSHARE_ENUM_STRUCT),
925 NDRIntField("PreferedMaximumLength", 0),
926 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
927 ]
928
929
930class NetrShareEnum_Response(NDRPacket):
931 fields_desc = [
932 NDRPacketField("InfoStruct", LPSHARE_ENUM_STRUCT(), LPSHARE_ENUM_STRUCT),
933 NDRIntField("TotalEntries", 0),
934 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
935 NDRIntField("status", 0),
936 ]
937
938
939class NetrShareGetInfo_Request(NDRPacket):
940 fields_desc = [
941 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
942 NDRConfVarStrNullFieldUtf16("NetName", ""),
943 NDRIntField("Level", 0),
944 ]
945
946
947class NetrShareGetInfo_Response(NDRPacket):
948 fields_desc = [
949 NDRUnionField(
950 [
951 (
952 NDRFullPointerField(
953 NDRPacketField("InfoStruct", LPSHARE_INFO_0(), LPSHARE_INFO_0)
954 ),
955 (
956 (lambda pkt: getattr(pkt, "Level", None) == 0),
957 (lambda _, val: val.tag == 0),
958 ),
959 ),
960 (
961 NDRFullPointerField(
962 NDRPacketField("InfoStruct", LPSHARE_INFO_1(), LPSHARE_INFO_1)
963 ),
964 (
965 (lambda pkt: getattr(pkt, "Level", None) == 1),
966 (lambda _, val: val.tag == 1),
967 ),
968 ),
969 (
970 NDRFullPointerField(
971 NDRPacketField("InfoStruct", LPSHARE_INFO_2(), LPSHARE_INFO_2)
972 ),
973 (
974 (lambda pkt: getattr(pkt, "Level", None) == 2),
975 (lambda _, val: val.tag == 2),
976 ),
977 ),
978 (
979 NDRFullPointerField(
980 NDRPacketField(
981 "InfoStruct", LPSHARE_INFO_502_I(), LPSHARE_INFO_502_I
982 )
983 ),
984 (
985 (lambda pkt: getattr(pkt, "Level", None) == 502),
986 (lambda _, val: val.tag == 502),
987 ),
988 ),
989 (
990 NDRFullPointerField(
991 NDRPacketField(
992 "InfoStruct", LPSHARE_INFO_1004(), LPSHARE_INFO_1004
993 )
994 ),
995 (
996 (lambda pkt: getattr(pkt, "Level", None) == 1004),
997 (lambda _, val: val.tag == 1004),
998 ),
999 ),
1000 (
1001 NDRFullPointerField(
1002 NDRPacketField(
1003 "InfoStruct", LPSHARE_INFO_1006(), LPSHARE_INFO_1006
1004 )
1005 ),
1006 (
1007 (lambda pkt: getattr(pkt, "Level", None) == 1006),
1008 (lambda _, val: val.tag == 1006),
1009 ),
1010 ),
1011 (
1012 NDRFullPointerField(
1013 NDRPacketField(
1014 "InfoStruct", LPSHARE_INFO_1501_I(), LPSHARE_INFO_1501_I
1015 )
1016 ),
1017 (
1018 (lambda pkt: getattr(pkt, "Level", None) == 1501),
1019 (lambda _, val: val.tag == 1501),
1020 ),
1021 ),
1022 (
1023 NDRFullPointerField(
1024 NDRPacketField(
1025 "InfoStruct", LPSHARE_INFO_1005(), LPSHARE_INFO_1005
1026 )
1027 ),
1028 (
1029 (lambda pkt: getattr(pkt, "Level", None) == 1005),
1030 (lambda _, val: val.tag == 1005),
1031 ),
1032 ),
1033 (
1034 NDRFullPointerField(
1035 NDRPacketField(
1036 "InfoStruct", LPSHARE_INFO_501(), LPSHARE_INFO_501
1037 )
1038 ),
1039 (
1040 (lambda pkt: getattr(pkt, "Level", None) == 501),
1041 (lambda _, val: val.tag == 501),
1042 ),
1043 ),
1044 (
1045 NDRFullPointerField(
1046 NDRPacketField(
1047 "InfoStruct", LPSHARE_INFO_503_I(), LPSHARE_INFO_503_I
1048 )
1049 ),
1050 (
1051 (lambda pkt: getattr(pkt, "Level", None) == 503),
1052 (lambda _, val: val.tag == 503),
1053 ),
1054 ),
1055 ],
1056 StrFixedLenField("InfoStruct", "", length=0),
1057 align=(4, 8),
1058 switch_fmt=("L", "L"),
1059 ),
1060 NDRIntField("status", 0),
1061 ]
1062
1063
1064class NetrShareSetInfo_Request(NDRPacket):
1065 fields_desc = [
1066 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
1067 NDRConfVarStrNullFieldUtf16("NetName", ""),
1068 NDRIntField("Level", 0),
1069 NDRUnionField(
1070 [
1071 (
1072 NDRFullPointerField(
1073 NDRPacketField("ShareInfo", LPSHARE_INFO_0(), LPSHARE_INFO_0)
1074 ),
1075 (
1076 (lambda pkt: getattr(pkt, "Level", None) == 0),
1077 (lambda _, val: val.tag == 0),
1078 ),
1079 ),
1080 (
1081 NDRFullPointerField(
1082 NDRPacketField("ShareInfo", LPSHARE_INFO_1(), LPSHARE_INFO_1)
1083 ),
1084 (
1085 (lambda pkt: getattr(pkt, "Level", None) == 1),
1086 (lambda _, val: val.tag == 1),
1087 ),
1088 ),
1089 (
1090 NDRFullPointerField(
1091 NDRPacketField("ShareInfo", LPSHARE_INFO_2(), LPSHARE_INFO_2)
1092 ),
1093 (
1094 (lambda pkt: getattr(pkt, "Level", None) == 2),
1095 (lambda _, val: val.tag == 2),
1096 ),
1097 ),
1098 (
1099 NDRFullPointerField(
1100 NDRPacketField(
1101 "ShareInfo", LPSHARE_INFO_502_I(), LPSHARE_INFO_502_I
1102 )
1103 ),
1104 (
1105 (lambda pkt: getattr(pkt, "Level", None) == 502),
1106 (lambda _, val: val.tag == 502),
1107 ),
1108 ),
1109 (
1110 NDRFullPointerField(
1111 NDRPacketField(
1112 "ShareInfo", LPSHARE_INFO_1004(), LPSHARE_INFO_1004
1113 )
1114 ),
1115 (
1116 (lambda pkt: getattr(pkt, "Level", None) == 1004),
1117 (lambda _, val: val.tag == 1004),
1118 ),
1119 ),
1120 (
1121 NDRFullPointerField(
1122 NDRPacketField(
1123 "ShareInfo", LPSHARE_INFO_1006(), LPSHARE_INFO_1006
1124 )
1125 ),
1126 (
1127 (lambda pkt: getattr(pkt, "Level", None) == 1006),
1128 (lambda _, val: val.tag == 1006),
1129 ),
1130 ),
1131 (
1132 NDRFullPointerField(
1133 NDRPacketField(
1134 "ShareInfo", LPSHARE_INFO_1501_I(), LPSHARE_INFO_1501_I
1135 )
1136 ),
1137 (
1138 (lambda pkt: getattr(pkt, "Level", None) == 1501),
1139 (lambda _, val: val.tag == 1501),
1140 ),
1141 ),
1142 (
1143 NDRFullPointerField(
1144 NDRPacketField(
1145 "ShareInfo", LPSHARE_INFO_1005(), LPSHARE_INFO_1005
1146 )
1147 ),
1148 (
1149 (lambda pkt: getattr(pkt, "Level", None) == 1005),
1150 (lambda _, val: val.tag == 1005),
1151 ),
1152 ),
1153 (
1154 NDRFullPointerField(
1155 NDRPacketField(
1156 "ShareInfo", LPSHARE_INFO_501(), LPSHARE_INFO_501
1157 )
1158 ),
1159 (
1160 (lambda pkt: getattr(pkt, "Level", None) == 501),
1161 (lambda _, val: val.tag == 501),
1162 ),
1163 ),
1164 (
1165 NDRFullPointerField(
1166 NDRPacketField(
1167 "ShareInfo", LPSHARE_INFO_503_I(), LPSHARE_INFO_503_I
1168 )
1169 ),
1170 (
1171 (lambda pkt: getattr(pkt, "Level", None) == 503),
1172 (lambda _, val: val.tag == 503),
1173 ),
1174 ),
1175 ],
1176 StrFixedLenField("ShareInfo", "", length=0),
1177 align=(4, 8),
1178 switch_fmt=("L", "L"),
1179 ),
1180 NDRFullPointerField(NDRIntField("ParmErr", 0)),
1181 ]
1182
1183
1184class NetrShareSetInfo_Response(NDRPacket):
1185 fields_desc = [
1186 NDRFullPointerField(NDRIntField("ParmErr", 0)),
1187 NDRIntField("status", 0),
1188 ]
1189
1190
1191class NetrShareDel_Request(NDRPacket):
1192 fields_desc = [
1193 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
1194 NDRConfVarStrNullFieldUtf16("NetName", ""),
1195 NDRIntField("Reserved", 0),
1196 ]
1197
1198
1199class NetrShareDel_Response(NDRPacket):
1200 fields_desc = [NDRIntField("status", 0)]
1201
1202
1203class NetrShareDelSticky_Request(NDRPacket):
1204 fields_desc = [
1205 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
1206 NDRConfVarStrNullFieldUtf16("NetName", ""),
1207 NDRIntField("Reserved", 0),
1208 ]
1209
1210
1211class NetrShareDelSticky_Response(NDRPacket):
1212 fields_desc = [NDRIntField("status", 0)]
1213
1214
1215class NetrShareCheck_Request(NDRPacket):
1216 fields_desc = [
1217 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
1218 NDRConfVarStrNullFieldUtf16("Device", ""),
1219 ]
1220
1221
1222class NetrShareCheck_Response(NDRPacket):
1223 fields_desc = [NDRIntField("Type", 0), NDRIntField("status", 0)]
1224
1225
1226class LPSERVER_INFO_100(NDRPacket):
1227 ALIGNMENT = (4, 8)
1228 fields_desc = [
1229 NDRIntField("sv100_platform_id", 0),
1230 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv100_name", "")),
1231 ]
1232
1233
1234class LPSERVER_INFO_101(NDRPacket):
1235 ALIGNMENT = (4, 8)
1236 fields_desc = [
1237 NDRIntField("sv101_platform_id", 0),
1238 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv101_name", "")),
1239 NDRIntField("sv101_version_major", 0),
1240 NDRIntField("sv101_version_minor", 0),
1241 NDRIntField("sv101_version_type", 0),
1242 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv101_comment", "")),
1243 ]
1244
1245
1246class LPSERVER_INFO_102(NDRPacket):
1247 ALIGNMENT = (4, 8)
1248 fields_desc = [
1249 NDRIntField("sv102_platform_id", 0),
1250 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv102_name", "")),
1251 NDRIntField("sv102_version_major", 0),
1252 NDRIntField("sv102_version_minor", 0),
1253 NDRIntField("sv102_type", 0),
1254 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv102_comment", "")),
1255 NDRIntField("sv102_users", 0),
1256 NDRSignedIntField("sv102_disc", 0),
1257 NDRSignedIntField("sv102_hidden", 0),
1258 NDRIntField("sv102_announce", 0),
1259 NDRIntField("sv102_anndelta", 0),
1260 NDRIntField("sv102_licenses", 0),
1261 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv102_userpath", "")),
1262 ]
1263
1264
1265class LPSERVER_INFO_103(NDRPacket):
1266 ALIGNMENT = (4, 8)
1267 fields_desc = [
1268 NDRIntField("sv103_platform_id", 0),
1269 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv103_name", "")),
1270 NDRIntField("sv103_version_major", 0),
1271 NDRIntField("sv103_version_minor", 0),
1272 NDRIntField("sv103_type", 0),
1273 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv103_comment", "")),
1274 NDRIntField("sv103_users", 0),
1275 NDRSignedIntField("sv103_disc", 0),
1276 NDRSignedIntField("sv103_hidden", 0),
1277 NDRIntField("sv103_announce", 0),
1278 NDRIntField("sv103_anndelta", 0),
1279 NDRIntField("sv103_licenses", 0),
1280 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv103_userpath", "")),
1281 NDRIntField("sv103_capabilities", 0),
1282 ]
1283
1284
1285class LPSERVER_INFO_502(NDRPacket):
1286 ALIGNMENT = (4, 4)
1287 fields_desc = [
1288 NDRIntField("sv502_sessopens", 0),
1289 NDRIntField("sv502_sessvcs", 0),
1290 NDRIntField("sv502_opensearch", 0),
1291 NDRIntField("sv502_sizreqbuf", 0),
1292 NDRIntField("sv502_initworkitems", 0),
1293 NDRIntField("sv502_maxworkitems", 0),
1294 NDRIntField("sv502_rawworkitems", 0),
1295 NDRIntField("sv502_irpstacksize", 0),
1296 NDRIntField("sv502_maxrawbuflen", 0),
1297 NDRIntField("sv502_sessusers", 0),
1298 NDRIntField("sv502_sessconns", 0),
1299 NDRIntField("sv502_maxpagedmemoryusage", 0),
1300 NDRIntField("sv502_maxnonpagedmemoryusage", 0),
1301 NDRSignedIntField("sv502_enablesoftcompat", 0),
1302 NDRSignedIntField("sv502_enableforcedlogoff", 0),
1303 NDRSignedIntField("sv502_timesource", 0),
1304 NDRSignedIntField("sv502_acceptdownlevelapis", 0),
1305 NDRSignedIntField("sv502_lmannounce", 0),
1306 ]
1307
1308
1309class LPSERVER_INFO_503(NDRPacket):
1310 ALIGNMENT = (4, 8)
1311 fields_desc = [
1312 NDRIntField("sv503_sessopens", 0),
1313 NDRIntField("sv503_sessvcs", 0),
1314 NDRIntField("sv503_opensearch", 0),
1315 NDRIntField("sv503_sizreqbuf", 0),
1316 NDRIntField("sv503_initworkitems", 0),
1317 NDRIntField("sv503_maxworkitems", 0),
1318 NDRIntField("sv503_rawworkitems", 0),
1319 NDRIntField("sv503_irpstacksize", 0),
1320 NDRIntField("sv503_maxrawbuflen", 0),
1321 NDRIntField("sv503_sessusers", 0),
1322 NDRIntField("sv503_sessconns", 0),
1323 NDRIntField("sv503_maxpagedmemoryusage", 0),
1324 NDRIntField("sv503_maxnonpagedmemoryusage", 0),
1325 NDRSignedIntField("sv503_enablesoftcompat", 0),
1326 NDRSignedIntField("sv503_enableforcedlogoff", 0),
1327 NDRSignedIntField("sv503_timesource", 0),
1328 NDRSignedIntField("sv503_acceptdownlevelapis", 0),
1329 NDRSignedIntField("sv503_lmannounce", 0),
1330 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv503_domain", "")),
1331 NDRIntField("sv503_maxcopyreadlen", 0),
1332 NDRIntField("sv503_maxcopywritelen", 0),
1333 NDRIntField("sv503_minkeepsearch", 0),
1334 NDRIntField("sv503_maxkeepsearch", 0),
1335 NDRIntField("sv503_minkeepcomplsearch", 0),
1336 NDRIntField("sv503_maxkeepcomplsearch", 0),
1337 NDRIntField("sv503_threadcountadd", 0),
1338 NDRIntField("sv503_numblockthreads", 0),
1339 NDRIntField("sv503_scavtimeout", 0),
1340 NDRIntField("sv503_minrcvqueue", 0),
1341 NDRIntField("sv503_minfreeworkitems", 0),
1342 NDRIntField("sv503_xactmemsize", 0),
1343 NDRIntField("sv503_threadpriority", 0),
1344 NDRIntField("sv503_maxmpxct", 0),
1345 NDRIntField("sv503_oplockbreakwait", 0),
1346 NDRIntField("sv503_oplockbreakresponsewait", 0),
1347 NDRSignedIntField("sv503_enableoplocks", 0),
1348 NDRSignedIntField("sv503_enableoplockforceclose", 0),
1349 NDRSignedIntField("sv503_enablefcbopens", 0),
1350 NDRSignedIntField("sv503_enableraw", 0),
1351 NDRSignedIntField("sv503_enablesharednetdrives", 0),
1352 NDRIntField("sv503_minfreeconnections", 0),
1353 NDRIntField("sv503_maxfreeconnections", 0),
1354 ]
1355
1356
1357class LPSERVER_INFO_599(NDRPacket):
1358 ALIGNMENT = (4, 8)
1359 fields_desc = [
1360 NDRIntField("sv599_sessopens", 0),
1361 NDRIntField("sv599_sessvcs", 0),
1362 NDRIntField("sv599_opensearch", 0),
1363 NDRIntField("sv599_sizreqbuf", 0),
1364 NDRIntField("sv599_initworkitems", 0),
1365 NDRIntField("sv599_maxworkitems", 0),
1366 NDRIntField("sv599_rawworkitems", 0),
1367 NDRIntField("sv599_irpstacksize", 0),
1368 NDRIntField("sv599_maxrawbuflen", 0),
1369 NDRIntField("sv599_sessusers", 0),
1370 NDRIntField("sv599_sessconns", 0),
1371 NDRIntField("sv599_maxpagedmemoryusage", 0),
1372 NDRIntField("sv599_maxnonpagedmemoryusage", 0),
1373 NDRSignedIntField("sv599_enablesoftcompat", 0),
1374 NDRSignedIntField("sv599_enableforcedlogoff", 0),
1375 NDRSignedIntField("sv599_timesource", 0),
1376 NDRSignedIntField("sv599_acceptdownlevelapis", 0),
1377 NDRSignedIntField("sv599_lmannounce", 0),
1378 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv599_domain", "")),
1379 NDRIntField("sv599_maxcopyreadlen", 0),
1380 NDRIntField("sv599_maxcopywritelen", 0),
1381 NDRIntField("sv599_minkeepsearch", 0),
1382 NDRIntField("sv599_maxkeepsearch", 0),
1383 NDRIntField("sv599_minkeepcomplsearch", 0),
1384 NDRIntField("sv599_maxkeepcomplsearch", 0),
1385 NDRIntField("sv599_threadcountadd", 0),
1386 NDRIntField("sv599_numblockthreads", 0),
1387 NDRIntField("sv599_scavtimeout", 0),
1388 NDRIntField("sv599_minrcvqueue", 0),
1389 NDRIntField("sv599_minfreeworkitems", 0),
1390 NDRIntField("sv599_xactmemsize", 0),
1391 NDRIntField("sv599_threadpriority", 0),
1392 NDRIntField("sv599_maxmpxct", 0),
1393 NDRIntField("sv599_oplockbreakwait", 0),
1394 NDRIntField("sv599_oplockbreakresponsewait", 0),
1395 NDRSignedIntField("sv599_enableoplocks", 0),
1396 NDRSignedIntField("sv599_enableoplockforceclose", 0),
1397 NDRSignedIntField("sv599_enablefcbopens", 0),
1398 NDRSignedIntField("sv599_enableraw", 0),
1399 NDRSignedIntField("sv599_enablesharednetdrives", 0),
1400 NDRIntField("sv599_minfreeconnections", 0),
1401 NDRIntField("sv599_maxfreeconnections", 0),
1402 NDRIntField("sv599_initsesstable", 0),
1403 NDRIntField("sv599_initconntable", 0),
1404 NDRIntField("sv599_initfiletable", 0),
1405 NDRIntField("sv599_initsearchtable", 0),
1406 NDRIntField("sv599_alertschedule", 0),
1407 NDRIntField("sv599_errorthreshold", 0),
1408 NDRIntField("sv599_networkerrorthreshold", 0),
1409 NDRIntField("sv599_diskspacethreshold", 0),
1410 NDRIntField("sv599_reserved", 0),
1411 NDRIntField("sv599_maxlinkdelay", 0),
1412 NDRIntField("sv599_minlinkthroughput", 0),
1413 NDRIntField("sv599_linkinfovalidtime", 0),
1414 NDRIntField("sv599_scavqosinfoupdatetime", 0),
1415 NDRIntField("sv599_maxworkitemidletime", 0),
1416 ]
1417
1418
1419class LPSERVER_INFO_1005(NDRPacket):
1420 ALIGNMENT = (4, 8)
1421 fields_desc = [
1422 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("sv1005_comment", ""))
1423 ]
1424
1425
1426class LPSERVER_INFO_1107(NDRPacket):
1427 ALIGNMENT = (4, 4)
1428 fields_desc = [NDRIntField("sv1107_users", 0)]
1429
1430
1431class LPSERVER_INFO_1010(NDRPacket):
1432 ALIGNMENT = (4, 4)
1433 fields_desc = [NDRSignedIntField("sv1010_disc", 0)]
1434
1435
1436class LPSERVER_INFO_1016(NDRPacket):
1437 ALIGNMENT = (4, 4)
1438 fields_desc = [NDRSignedIntField("sv1016_hidden", 0)]
1439
1440
1441class LPSERVER_INFO_1017(NDRPacket):
1442 ALIGNMENT = (4, 4)
1443 fields_desc = [NDRIntField("sv1017_announce", 0)]
1444
1445
1446class LPSERVER_INFO_1018(NDRPacket):
1447 ALIGNMENT = (4, 4)
1448 fields_desc = [NDRIntField("sv1018_anndelta", 0)]
1449
1450
1451class LPSERVER_INFO_1501(NDRPacket):
1452 ALIGNMENT = (4, 4)
1453 fields_desc = [NDRIntField("sv1501_sessopens", 0)]
1454
1455
1456class LPSERVER_INFO_1502(NDRPacket):
1457 ALIGNMENT = (4, 4)
1458 fields_desc = [NDRIntField("sv1502_sessvcs", 0)]
1459
1460
1461class LPSERVER_INFO_1503(NDRPacket):
1462 ALIGNMENT = (4, 4)
1463 fields_desc = [NDRIntField("sv1503_opensearch", 0)]
1464
1465
1466class LPSERVER_INFO_1506(NDRPacket):
1467 ALIGNMENT = (4, 4)
1468 fields_desc = [NDRIntField("sv1506_maxworkitems", 0)]
1469
1470
1471class LPSERVER_INFO_1510(NDRPacket):
1472 ALIGNMENT = (4, 4)
1473 fields_desc = [NDRIntField("sv1510_sessusers", 0)]
1474
1475
1476class LPSERVER_INFO_1511(NDRPacket):
1477 ALIGNMENT = (4, 4)
1478 fields_desc = [NDRIntField("sv1511_sessconns", 0)]
1479
1480
1481class LPSERVER_INFO_1512(NDRPacket):
1482 ALIGNMENT = (4, 4)
1483 fields_desc = [NDRIntField("sv1512_maxnonpagedmemoryusage", 0)]
1484
1485
1486class LPSERVER_INFO_1513(NDRPacket):
1487 ALIGNMENT = (4, 4)
1488 fields_desc = [NDRIntField("sv1513_maxpagedmemoryusage", 0)]
1489
1490
1491class LPSERVER_INFO_1514(NDRPacket):
1492 ALIGNMENT = (4, 4)
1493 fields_desc = [NDRSignedIntField("sv1514_enablesoftcompat", 0)]
1494
1495
1496class LPSERVER_INFO_1515(NDRPacket):
1497 ALIGNMENT = (4, 4)
1498 fields_desc = [NDRSignedIntField("sv1515_enableforcedlogoff", 0)]
1499
1500
1501class LPSERVER_INFO_1516(NDRPacket):
1502 ALIGNMENT = (4, 4)
1503 fields_desc = [NDRSignedIntField("sv1516_timesource", 0)]
1504
1505
1506class LPSERVER_INFO_1518(NDRPacket):
1507 ALIGNMENT = (4, 4)
1508 fields_desc = [NDRSignedIntField("sv1518_lmannounce", 0)]
1509
1510
1511class LPSERVER_INFO_1523(NDRPacket):
1512 ALIGNMENT = (4, 4)
1513 fields_desc = [NDRIntField("sv1523_maxkeepsearch", 0)]
1514
1515
1516class LPSERVER_INFO_1528(NDRPacket):
1517 ALIGNMENT = (4, 4)
1518 fields_desc = [NDRIntField("sv1528_scavtimeout", 0)]
1519
1520
1521class LPSERVER_INFO_1529(NDRPacket):
1522 ALIGNMENT = (4, 4)
1523 fields_desc = [NDRIntField("sv1529_minrcvqueue", 0)]
1524
1525
1526class LPSERVER_INFO_1530(NDRPacket):
1527 ALIGNMENT = (4, 4)
1528 fields_desc = [NDRIntField("sv1530_minfreeworkitems", 0)]
1529
1530
1531class LPSERVER_INFO_1533(NDRPacket):
1532 ALIGNMENT = (4, 4)
1533 fields_desc = [NDRIntField("sv1533_maxmpxct", 0)]
1534
1535
1536class LPSERVER_INFO_1534(NDRPacket):
1537 ALIGNMENT = (4, 4)
1538 fields_desc = [NDRIntField("sv1534_oplockbreakwait", 0)]
1539
1540
1541class LPSERVER_INFO_1535(NDRPacket):
1542 ALIGNMENT = (4, 4)
1543 fields_desc = [NDRIntField("sv1535_oplockbreakresponsewait", 0)]
1544
1545
1546class LPSERVER_INFO_1536(NDRPacket):
1547 ALIGNMENT = (4, 4)
1548 fields_desc = [NDRSignedIntField("sv1536_enableoplocks", 0)]
1549
1550
1551class LPSERVER_INFO_1538(NDRPacket):
1552 ALIGNMENT = (4, 4)
1553 fields_desc = [NDRSignedIntField("sv1538_enablefcbopens", 0)]
1554
1555
1556class LPSERVER_INFO_1539(NDRPacket):
1557 ALIGNMENT = (4, 4)
1558 fields_desc = [NDRSignedIntField("sv1539_enableraw", 0)]
1559
1560
1561class LPSERVER_INFO_1540(NDRPacket):
1562 ALIGNMENT = (4, 4)
1563 fields_desc = [NDRSignedIntField("sv1540_enablesharednetdrives", 0)]
1564
1565
1566class LPSERVER_INFO_1541(NDRPacket):
1567 ALIGNMENT = (4, 4)
1568 fields_desc = [NDRSignedIntField("sv1541_minfreeconnections", 0)]
1569
1570
1571class LPSERVER_INFO_1542(NDRPacket):
1572 ALIGNMENT = (4, 4)
1573 fields_desc = [NDRSignedIntField("sv1542_maxfreeconnections", 0)]
1574
1575
1576class LPSERVER_INFO_1543(NDRPacket):
1577 ALIGNMENT = (4, 4)
1578 fields_desc = [NDRIntField("sv1543_initsesstable", 0)]
1579
1580
1581class LPSERVER_INFO_1544(NDRPacket):
1582 ALIGNMENT = (4, 4)
1583 fields_desc = [NDRIntField("sv1544_initconntable", 0)]
1584
1585
1586class LPSERVER_INFO_1545(NDRPacket):
1587 ALIGNMENT = (4, 4)
1588 fields_desc = [NDRIntField("sv1545_initfiletable", 0)]
1589
1590
1591class LPSERVER_INFO_1546(NDRPacket):
1592 ALIGNMENT = (4, 4)
1593 fields_desc = [NDRIntField("sv1546_initsearchtable", 0)]
1594
1595
1596class LPSERVER_INFO_1547(NDRPacket):
1597 ALIGNMENT = (4, 4)
1598 fields_desc = [NDRIntField("sv1547_alertschedule", 0)]
1599
1600
1601class LPSERVER_INFO_1548(NDRPacket):
1602 ALIGNMENT = (4, 4)
1603 fields_desc = [NDRIntField("sv1548_errorthreshold", 0)]
1604
1605
1606class LPSERVER_INFO_1549(NDRPacket):
1607 ALIGNMENT = (4, 4)
1608 fields_desc = [NDRIntField("sv1549_networkerrorthreshold", 0)]
1609
1610
1611class LPSERVER_INFO_1550(NDRPacket):
1612 ALIGNMENT = (4, 4)
1613 fields_desc = [NDRIntField("sv1550_diskspacethreshold", 0)]
1614
1615
1616class LPSERVER_INFO_1552(NDRPacket):
1617 ALIGNMENT = (4, 4)
1618 fields_desc = [NDRIntField("sv1552_maxlinkdelay", 0)]
1619
1620
1621class LPSERVER_INFO_1553(NDRPacket):
1622 ALIGNMENT = (4, 4)
1623 fields_desc = [NDRIntField("sv1553_minlinkthroughput", 0)]
1624
1625
1626class LPSERVER_INFO_1554(NDRPacket):
1627 ALIGNMENT = (4, 4)
1628 fields_desc = [NDRIntField("sv1554_linkinfovalidtime", 0)]
1629
1630
1631class LPSERVER_INFO_1555(NDRPacket):
1632 ALIGNMENT = (4, 4)
1633 fields_desc = [NDRIntField("sv1555_scavqosinfoupdatetime", 0)]
1634
1635
1636class LPSERVER_INFO_1556(NDRPacket):
1637 ALIGNMENT = (4, 4)
1638 fields_desc = [NDRIntField("sv1556_maxworkitemidletime", 0)]
1639
1640
1641class NetrServerGetInfo_Request(NDRPacket):
1642 fields_desc = [
1643 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
1644 NDRIntField("Level", 0),
1645 ]
1646
1647
1648class NetrServerGetInfo_Response(NDRPacket):
1649 fields_desc = [
1650 NDRUnionField(
1651 [
1652 (
1653 NDRFullPointerField(
1654 NDRPacketField(
1655 "InfoStruct", LPSERVER_INFO_100(), LPSERVER_INFO_100
1656 )
1657 ),
1658 (
1659 (lambda pkt: getattr(pkt, "Level", None) == 100),
1660 (lambda _, val: val.tag == 100),
1661 ),
1662 ),
1663 (
1664 NDRFullPointerField(
1665 NDRPacketField(
1666 "InfoStruct", LPSERVER_INFO_101(), LPSERVER_INFO_101
1667 )
1668 ),
1669 (
1670 (lambda pkt: getattr(pkt, "Level", None) == 101),
1671 (lambda _, val: val.tag == 101),
1672 ),
1673 ),
1674 (
1675 NDRFullPointerField(
1676 NDRPacketField(
1677 "InfoStruct", LPSERVER_INFO_102(), LPSERVER_INFO_102
1678 )
1679 ),
1680 (
1681 (lambda pkt: getattr(pkt, "Level", None) == 102),
1682 (lambda _, val: val.tag == 102),
1683 ),
1684 ),
1685 (
1686 NDRFullPointerField(
1687 NDRPacketField(
1688 "InfoStruct", LPSERVER_INFO_103(), LPSERVER_INFO_103
1689 )
1690 ),
1691 (
1692 (lambda pkt: getattr(pkt, "Level", None) == 103),
1693 (lambda _, val: val.tag == 103),
1694 ),
1695 ),
1696 (
1697 NDRFullPointerField(
1698 NDRPacketField(
1699 "InfoStruct", LPSERVER_INFO_502(), LPSERVER_INFO_502
1700 )
1701 ),
1702 (
1703 (lambda pkt: getattr(pkt, "Level", None) == 502),
1704 (lambda _, val: val.tag == 502),
1705 ),
1706 ),
1707 (
1708 NDRFullPointerField(
1709 NDRPacketField(
1710 "InfoStruct", LPSERVER_INFO_503(), LPSERVER_INFO_503
1711 )
1712 ),
1713 (
1714 (lambda pkt: getattr(pkt, "Level", None) == 503),
1715 (lambda _, val: val.tag == 503),
1716 ),
1717 ),
1718 (
1719 NDRFullPointerField(
1720 NDRPacketField(
1721 "InfoStruct", LPSERVER_INFO_599(), LPSERVER_INFO_599
1722 )
1723 ),
1724 (
1725 (lambda pkt: getattr(pkt, "Level", None) == 599),
1726 (lambda _, val: val.tag == 599),
1727 ),
1728 ),
1729 (
1730 NDRFullPointerField(
1731 NDRPacketField(
1732 "InfoStruct", LPSERVER_INFO_1005(), LPSERVER_INFO_1005
1733 )
1734 ),
1735 (
1736 (lambda pkt: getattr(pkt, "Level", None) == 1005),
1737 (lambda _, val: val.tag == 1005),
1738 ),
1739 ),
1740 (
1741 NDRFullPointerField(
1742 NDRPacketField(
1743 "InfoStruct", LPSERVER_INFO_1107(), LPSERVER_INFO_1107
1744 )
1745 ),
1746 (
1747 (lambda pkt: getattr(pkt, "Level", None) == 1107),
1748 (lambda _, val: val.tag == 1107),
1749 ),
1750 ),
1751 (
1752 NDRFullPointerField(
1753 NDRPacketField(
1754 "InfoStruct", LPSERVER_INFO_1010(), LPSERVER_INFO_1010
1755 )
1756 ),
1757 (
1758 (lambda pkt: getattr(pkt, "Level", None) == 1010),
1759 (lambda _, val: val.tag == 1010),
1760 ),
1761 ),
1762 (
1763 NDRFullPointerField(
1764 NDRPacketField(
1765 "InfoStruct", LPSERVER_INFO_1016(), LPSERVER_INFO_1016
1766 )
1767 ),
1768 (
1769 (lambda pkt: getattr(pkt, "Level", None) == 1016),
1770 (lambda _, val: val.tag == 1016),
1771 ),
1772 ),
1773 (
1774 NDRFullPointerField(
1775 NDRPacketField(
1776 "InfoStruct", LPSERVER_INFO_1017(), LPSERVER_INFO_1017
1777 )
1778 ),
1779 (
1780 (lambda pkt: getattr(pkt, "Level", None) == 1017),
1781 (lambda _, val: val.tag == 1017),
1782 ),
1783 ),
1784 (
1785 NDRFullPointerField(
1786 NDRPacketField(
1787 "InfoStruct", LPSERVER_INFO_1018(), LPSERVER_INFO_1018
1788 )
1789 ),
1790 (
1791 (lambda pkt: getattr(pkt, "Level", None) == 1018),
1792 (lambda _, val: val.tag == 1018),
1793 ),
1794 ),
1795 (
1796 NDRFullPointerField(
1797 NDRPacketField(
1798 "InfoStruct", LPSERVER_INFO_1501(), LPSERVER_INFO_1501
1799 )
1800 ),
1801 (
1802 (lambda pkt: getattr(pkt, "Level", None) == 1501),
1803 (lambda _, val: val.tag == 1501),
1804 ),
1805 ),
1806 (
1807 NDRFullPointerField(
1808 NDRPacketField(
1809 "InfoStruct", LPSERVER_INFO_1502(), LPSERVER_INFO_1502
1810 )
1811 ),
1812 (
1813 (lambda pkt: getattr(pkt, "Level", None) == 1502),
1814 (lambda _, val: val.tag == 1502),
1815 ),
1816 ),
1817 (
1818 NDRFullPointerField(
1819 NDRPacketField(
1820 "InfoStruct", LPSERVER_INFO_1503(), LPSERVER_INFO_1503
1821 )
1822 ),
1823 (
1824 (lambda pkt: getattr(pkt, "Level", None) == 1503),
1825 (lambda _, val: val.tag == 1503),
1826 ),
1827 ),
1828 (
1829 NDRFullPointerField(
1830 NDRPacketField(
1831 "InfoStruct", LPSERVER_INFO_1506(), LPSERVER_INFO_1506
1832 )
1833 ),
1834 (
1835 (lambda pkt: getattr(pkt, "Level", None) == 1506),
1836 (lambda _, val: val.tag == 1506),
1837 ),
1838 ),
1839 (
1840 NDRFullPointerField(
1841 NDRPacketField(
1842 "InfoStruct", LPSERVER_INFO_1510(), LPSERVER_INFO_1510
1843 )
1844 ),
1845 (
1846 (lambda pkt: getattr(pkt, "Level", None) == 1510),
1847 (lambda _, val: val.tag == 1510),
1848 ),
1849 ),
1850 (
1851 NDRFullPointerField(
1852 NDRPacketField(
1853 "InfoStruct", LPSERVER_INFO_1511(), LPSERVER_INFO_1511
1854 )
1855 ),
1856 (
1857 (lambda pkt: getattr(pkt, "Level", None) == 1511),
1858 (lambda _, val: val.tag == 1511),
1859 ),
1860 ),
1861 (
1862 NDRFullPointerField(
1863 NDRPacketField(
1864 "InfoStruct", LPSERVER_INFO_1512(), LPSERVER_INFO_1512
1865 )
1866 ),
1867 (
1868 (lambda pkt: getattr(pkt, "Level", None) == 1512),
1869 (lambda _, val: val.tag == 1512),
1870 ),
1871 ),
1872 (
1873 NDRFullPointerField(
1874 NDRPacketField(
1875 "InfoStruct", LPSERVER_INFO_1513(), LPSERVER_INFO_1513
1876 )
1877 ),
1878 (
1879 (lambda pkt: getattr(pkt, "Level", None) == 1513),
1880 (lambda _, val: val.tag == 1513),
1881 ),
1882 ),
1883 (
1884 NDRFullPointerField(
1885 NDRPacketField(
1886 "InfoStruct", LPSERVER_INFO_1514(), LPSERVER_INFO_1514
1887 )
1888 ),
1889 (
1890 (lambda pkt: getattr(pkt, "Level", None) == 1514),
1891 (lambda _, val: val.tag == 1514),
1892 ),
1893 ),
1894 (
1895 NDRFullPointerField(
1896 NDRPacketField(
1897 "InfoStruct", LPSERVER_INFO_1515(), LPSERVER_INFO_1515
1898 )
1899 ),
1900 (
1901 (lambda pkt: getattr(pkt, "Level", None) == 1515),
1902 (lambda _, val: val.tag == 1515),
1903 ),
1904 ),
1905 (
1906 NDRFullPointerField(
1907 NDRPacketField(
1908 "InfoStruct", LPSERVER_INFO_1516(), LPSERVER_INFO_1516
1909 )
1910 ),
1911 (
1912 (lambda pkt: getattr(pkt, "Level", None) == 1516),
1913 (lambda _, val: val.tag == 1516),
1914 ),
1915 ),
1916 (
1917 NDRFullPointerField(
1918 NDRPacketField(
1919 "InfoStruct", LPSERVER_INFO_1518(), LPSERVER_INFO_1518
1920 )
1921 ),
1922 (
1923 (lambda pkt: getattr(pkt, "Level", None) == 1518),
1924 (lambda _, val: val.tag == 1518),
1925 ),
1926 ),
1927 (
1928 NDRFullPointerField(
1929 NDRPacketField(
1930 "InfoStruct", LPSERVER_INFO_1523(), LPSERVER_INFO_1523
1931 )
1932 ),
1933 (
1934 (lambda pkt: getattr(pkt, "Level", None) == 1523),
1935 (lambda _, val: val.tag == 1523),
1936 ),
1937 ),
1938 (
1939 NDRFullPointerField(
1940 NDRPacketField(
1941 "InfoStruct", LPSERVER_INFO_1528(), LPSERVER_INFO_1528
1942 )
1943 ),
1944 (
1945 (lambda pkt: getattr(pkt, "Level", None) == 1528),
1946 (lambda _, val: val.tag == 1528),
1947 ),
1948 ),
1949 (
1950 NDRFullPointerField(
1951 NDRPacketField(
1952 "InfoStruct", LPSERVER_INFO_1529(), LPSERVER_INFO_1529
1953 )
1954 ),
1955 (
1956 (lambda pkt: getattr(pkt, "Level", None) == 1529),
1957 (lambda _, val: val.tag == 1529),
1958 ),
1959 ),
1960 (
1961 NDRFullPointerField(
1962 NDRPacketField(
1963 "InfoStruct", LPSERVER_INFO_1530(), LPSERVER_INFO_1530
1964 )
1965 ),
1966 (
1967 (lambda pkt: getattr(pkt, "Level", None) == 1530),
1968 (lambda _, val: val.tag == 1530),
1969 ),
1970 ),
1971 (
1972 NDRFullPointerField(
1973 NDRPacketField(
1974 "InfoStruct", LPSERVER_INFO_1533(), LPSERVER_INFO_1533
1975 )
1976 ),
1977 (
1978 (lambda pkt: getattr(pkt, "Level", None) == 1533),
1979 (lambda _, val: val.tag == 1533),
1980 ),
1981 ),
1982 (
1983 NDRFullPointerField(
1984 NDRPacketField(
1985 "InfoStruct", LPSERVER_INFO_1534(), LPSERVER_INFO_1534
1986 )
1987 ),
1988 (
1989 (lambda pkt: getattr(pkt, "Level", None) == 1534),
1990 (lambda _, val: val.tag == 1534),
1991 ),
1992 ),
1993 (
1994 NDRFullPointerField(
1995 NDRPacketField(
1996 "InfoStruct", LPSERVER_INFO_1535(), LPSERVER_INFO_1535
1997 )
1998 ),
1999 (
2000 (lambda pkt: getattr(pkt, "Level", None) == 1535),
2001 (lambda _, val: val.tag == 1535),
2002 ),
2003 ),
2004 (
2005 NDRFullPointerField(
2006 NDRPacketField(
2007 "InfoStruct", LPSERVER_INFO_1536(), LPSERVER_INFO_1536
2008 )
2009 ),
2010 (
2011 (lambda pkt: getattr(pkt, "Level", None) == 1536),
2012 (lambda _, val: val.tag == 1536),
2013 ),
2014 ),
2015 (
2016 NDRFullPointerField(
2017 NDRPacketField(
2018 "InfoStruct", LPSERVER_INFO_1538(), LPSERVER_INFO_1538
2019 )
2020 ),
2021 (
2022 (lambda pkt: getattr(pkt, "Level", None) == 1538),
2023 (lambda _, val: val.tag == 1538),
2024 ),
2025 ),
2026 (
2027 NDRFullPointerField(
2028 NDRPacketField(
2029 "InfoStruct", LPSERVER_INFO_1539(), LPSERVER_INFO_1539
2030 )
2031 ),
2032 (
2033 (lambda pkt: getattr(pkt, "Level", None) == 1539),
2034 (lambda _, val: val.tag == 1539),
2035 ),
2036 ),
2037 (
2038 NDRFullPointerField(
2039 NDRPacketField(
2040 "InfoStruct", LPSERVER_INFO_1540(), LPSERVER_INFO_1540
2041 )
2042 ),
2043 (
2044 (lambda pkt: getattr(pkt, "Level", None) == 1540),
2045 (lambda _, val: val.tag == 1540),
2046 ),
2047 ),
2048 (
2049 NDRFullPointerField(
2050 NDRPacketField(
2051 "InfoStruct", LPSERVER_INFO_1541(), LPSERVER_INFO_1541
2052 )
2053 ),
2054 (
2055 (lambda pkt: getattr(pkt, "Level", None) == 1541),
2056 (lambda _, val: val.tag == 1541),
2057 ),
2058 ),
2059 (
2060 NDRFullPointerField(
2061 NDRPacketField(
2062 "InfoStruct", LPSERVER_INFO_1542(), LPSERVER_INFO_1542
2063 )
2064 ),
2065 (
2066 (lambda pkt: getattr(pkt, "Level", None) == 1542),
2067 (lambda _, val: val.tag == 1542),
2068 ),
2069 ),
2070 (
2071 NDRFullPointerField(
2072 NDRPacketField(
2073 "InfoStruct", LPSERVER_INFO_1543(), LPSERVER_INFO_1543
2074 )
2075 ),
2076 (
2077 (lambda pkt: getattr(pkt, "Level", None) == 1543),
2078 (lambda _, val: val.tag == 1543),
2079 ),
2080 ),
2081 (
2082 NDRFullPointerField(
2083 NDRPacketField(
2084 "InfoStruct", LPSERVER_INFO_1544(), LPSERVER_INFO_1544
2085 )
2086 ),
2087 (
2088 (lambda pkt: getattr(pkt, "Level", None) == 1544),
2089 (lambda _, val: val.tag == 1544),
2090 ),
2091 ),
2092 (
2093 NDRFullPointerField(
2094 NDRPacketField(
2095 "InfoStruct", LPSERVER_INFO_1545(), LPSERVER_INFO_1545
2096 )
2097 ),
2098 (
2099 (lambda pkt: getattr(pkt, "Level", None) == 1545),
2100 (lambda _, val: val.tag == 1545),
2101 ),
2102 ),
2103 (
2104 NDRFullPointerField(
2105 NDRPacketField(
2106 "InfoStruct", LPSERVER_INFO_1546(), LPSERVER_INFO_1546
2107 )
2108 ),
2109 (
2110 (lambda pkt: getattr(pkt, "Level", None) == 1546),
2111 (lambda _, val: val.tag == 1546),
2112 ),
2113 ),
2114 (
2115 NDRFullPointerField(
2116 NDRPacketField(
2117 "InfoStruct", LPSERVER_INFO_1547(), LPSERVER_INFO_1547
2118 )
2119 ),
2120 (
2121 (lambda pkt: getattr(pkt, "Level", None) == 1547),
2122 (lambda _, val: val.tag == 1547),
2123 ),
2124 ),
2125 (
2126 NDRFullPointerField(
2127 NDRPacketField(
2128 "InfoStruct", LPSERVER_INFO_1548(), LPSERVER_INFO_1548
2129 )
2130 ),
2131 (
2132 (lambda pkt: getattr(pkt, "Level", None) == 1548),
2133 (lambda _, val: val.tag == 1548),
2134 ),
2135 ),
2136 (
2137 NDRFullPointerField(
2138 NDRPacketField(
2139 "InfoStruct", LPSERVER_INFO_1549(), LPSERVER_INFO_1549
2140 )
2141 ),
2142 (
2143 (lambda pkt: getattr(pkt, "Level", None) == 1549),
2144 (lambda _, val: val.tag == 1549),
2145 ),
2146 ),
2147 (
2148 NDRFullPointerField(
2149 NDRPacketField(
2150 "InfoStruct", LPSERVER_INFO_1550(), LPSERVER_INFO_1550
2151 )
2152 ),
2153 (
2154 (lambda pkt: getattr(pkt, "Level", None) == 1550),
2155 (lambda _, val: val.tag == 1550),
2156 ),
2157 ),
2158 (
2159 NDRFullPointerField(
2160 NDRPacketField(
2161 "InfoStruct", LPSERVER_INFO_1552(), LPSERVER_INFO_1552
2162 )
2163 ),
2164 (
2165 (lambda pkt: getattr(pkt, "Level", None) == 1552),
2166 (lambda _, val: val.tag == 1552),
2167 ),
2168 ),
2169 (
2170 NDRFullPointerField(
2171 NDRPacketField(
2172 "InfoStruct", LPSERVER_INFO_1553(), LPSERVER_INFO_1553
2173 )
2174 ),
2175 (
2176 (lambda pkt: getattr(pkt, "Level", None) == 1553),
2177 (lambda _, val: val.tag == 1553),
2178 ),
2179 ),
2180 (
2181 NDRFullPointerField(
2182 NDRPacketField(
2183 "InfoStruct", LPSERVER_INFO_1554(), LPSERVER_INFO_1554
2184 )
2185 ),
2186 (
2187 (lambda pkt: getattr(pkt, "Level", None) == 1554),
2188 (lambda _, val: val.tag == 1554),
2189 ),
2190 ),
2191 (
2192 NDRFullPointerField(
2193 NDRPacketField(
2194 "InfoStruct", LPSERVER_INFO_1555(), LPSERVER_INFO_1555
2195 )
2196 ),
2197 (
2198 (lambda pkt: getattr(pkt, "Level", None) == 1555),
2199 (lambda _, val: val.tag == 1555),
2200 ),
2201 ),
2202 (
2203 NDRFullPointerField(
2204 NDRPacketField(
2205 "InfoStruct", LPSERVER_INFO_1556(), LPSERVER_INFO_1556
2206 )
2207 ),
2208 (
2209 (lambda pkt: getattr(pkt, "Level", None) == 1556),
2210 (lambda _, val: val.tag == 1556),
2211 ),
2212 ),
2213 ],
2214 StrFixedLenField("InfoStruct", "", length=0),
2215 align=(4, 8),
2216 switch_fmt=("L", "L"),
2217 ),
2218 NDRIntField("status", 0),
2219 ]
2220
2221
2222class NetrServerSetInfo_Request(NDRPacket):
2223 fields_desc = [
2224 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
2225 NDRIntField("Level", 0),
2226 NDRUnionField(
2227 [
2228 (
2229 NDRFullPointerField(
2230 NDRPacketField(
2231 "ServerInfo", LPSERVER_INFO_100(), LPSERVER_INFO_100
2232 )
2233 ),
2234 (
2235 (lambda pkt: getattr(pkt, "Level", None) == 100),
2236 (lambda _, val: val.tag == 100),
2237 ),
2238 ),
2239 (
2240 NDRFullPointerField(
2241 NDRPacketField(
2242 "ServerInfo", LPSERVER_INFO_101(), LPSERVER_INFO_101
2243 )
2244 ),
2245 (
2246 (lambda pkt: getattr(pkt, "Level", None) == 101),
2247 (lambda _, val: val.tag == 101),
2248 ),
2249 ),
2250 (
2251 NDRFullPointerField(
2252 NDRPacketField(
2253 "ServerInfo", LPSERVER_INFO_102(), LPSERVER_INFO_102
2254 )
2255 ),
2256 (
2257 (lambda pkt: getattr(pkt, "Level", None) == 102),
2258 (lambda _, val: val.tag == 102),
2259 ),
2260 ),
2261 (
2262 NDRFullPointerField(
2263 NDRPacketField(
2264 "ServerInfo", LPSERVER_INFO_103(), LPSERVER_INFO_103
2265 )
2266 ),
2267 (
2268 (lambda pkt: getattr(pkt, "Level", None) == 103),
2269 (lambda _, val: val.tag == 103),
2270 ),
2271 ),
2272 (
2273 NDRFullPointerField(
2274 NDRPacketField(
2275 "ServerInfo", LPSERVER_INFO_502(), LPSERVER_INFO_502
2276 )
2277 ),
2278 (
2279 (lambda pkt: getattr(pkt, "Level", None) == 502),
2280 (lambda _, val: val.tag == 502),
2281 ),
2282 ),
2283 (
2284 NDRFullPointerField(
2285 NDRPacketField(
2286 "ServerInfo", LPSERVER_INFO_503(), LPSERVER_INFO_503
2287 )
2288 ),
2289 (
2290 (lambda pkt: getattr(pkt, "Level", None) == 503),
2291 (lambda _, val: val.tag == 503),
2292 ),
2293 ),
2294 (
2295 NDRFullPointerField(
2296 NDRPacketField(
2297 "ServerInfo", LPSERVER_INFO_599(), LPSERVER_INFO_599
2298 )
2299 ),
2300 (
2301 (lambda pkt: getattr(pkt, "Level", None) == 599),
2302 (lambda _, val: val.tag == 599),
2303 ),
2304 ),
2305 (
2306 NDRFullPointerField(
2307 NDRPacketField(
2308 "ServerInfo", LPSERVER_INFO_1005(), LPSERVER_INFO_1005
2309 )
2310 ),
2311 (
2312 (lambda pkt: getattr(pkt, "Level", None) == 1005),
2313 (lambda _, val: val.tag == 1005),
2314 ),
2315 ),
2316 (
2317 NDRFullPointerField(
2318 NDRPacketField(
2319 "ServerInfo", LPSERVER_INFO_1107(), LPSERVER_INFO_1107
2320 )
2321 ),
2322 (
2323 (lambda pkt: getattr(pkt, "Level", None) == 1107),
2324 (lambda _, val: val.tag == 1107),
2325 ),
2326 ),
2327 (
2328 NDRFullPointerField(
2329 NDRPacketField(
2330 "ServerInfo", LPSERVER_INFO_1010(), LPSERVER_INFO_1010
2331 )
2332 ),
2333 (
2334 (lambda pkt: getattr(pkt, "Level", None) == 1010),
2335 (lambda _, val: val.tag == 1010),
2336 ),
2337 ),
2338 (
2339 NDRFullPointerField(
2340 NDRPacketField(
2341 "ServerInfo", LPSERVER_INFO_1016(), LPSERVER_INFO_1016
2342 )
2343 ),
2344 (
2345 (lambda pkt: getattr(pkt, "Level", None) == 1016),
2346 (lambda _, val: val.tag == 1016),
2347 ),
2348 ),
2349 (
2350 NDRFullPointerField(
2351 NDRPacketField(
2352 "ServerInfo", LPSERVER_INFO_1017(), LPSERVER_INFO_1017
2353 )
2354 ),
2355 (
2356 (lambda pkt: getattr(pkt, "Level", None) == 1017),
2357 (lambda _, val: val.tag == 1017),
2358 ),
2359 ),
2360 (
2361 NDRFullPointerField(
2362 NDRPacketField(
2363 "ServerInfo", LPSERVER_INFO_1018(), LPSERVER_INFO_1018
2364 )
2365 ),
2366 (
2367 (lambda pkt: getattr(pkt, "Level", None) == 1018),
2368 (lambda _, val: val.tag == 1018),
2369 ),
2370 ),
2371 (
2372 NDRFullPointerField(
2373 NDRPacketField(
2374 "ServerInfo", LPSERVER_INFO_1501(), LPSERVER_INFO_1501
2375 )
2376 ),
2377 (
2378 (lambda pkt: getattr(pkt, "Level", None) == 1501),
2379 (lambda _, val: val.tag == 1501),
2380 ),
2381 ),
2382 (
2383 NDRFullPointerField(
2384 NDRPacketField(
2385 "ServerInfo", LPSERVER_INFO_1502(), LPSERVER_INFO_1502
2386 )
2387 ),
2388 (
2389 (lambda pkt: getattr(pkt, "Level", None) == 1502),
2390 (lambda _, val: val.tag == 1502),
2391 ),
2392 ),
2393 (
2394 NDRFullPointerField(
2395 NDRPacketField(
2396 "ServerInfo", LPSERVER_INFO_1503(), LPSERVER_INFO_1503
2397 )
2398 ),
2399 (
2400 (lambda pkt: getattr(pkt, "Level", None) == 1503),
2401 (lambda _, val: val.tag == 1503),
2402 ),
2403 ),
2404 (
2405 NDRFullPointerField(
2406 NDRPacketField(
2407 "ServerInfo", LPSERVER_INFO_1506(), LPSERVER_INFO_1506
2408 )
2409 ),
2410 (
2411 (lambda pkt: getattr(pkt, "Level", None) == 1506),
2412 (lambda _, val: val.tag == 1506),
2413 ),
2414 ),
2415 (
2416 NDRFullPointerField(
2417 NDRPacketField(
2418 "ServerInfo", LPSERVER_INFO_1510(), LPSERVER_INFO_1510
2419 )
2420 ),
2421 (
2422 (lambda pkt: getattr(pkt, "Level", None) == 1510),
2423 (lambda _, val: val.tag == 1510),
2424 ),
2425 ),
2426 (
2427 NDRFullPointerField(
2428 NDRPacketField(
2429 "ServerInfo", LPSERVER_INFO_1511(), LPSERVER_INFO_1511
2430 )
2431 ),
2432 (
2433 (lambda pkt: getattr(pkt, "Level", None) == 1511),
2434 (lambda _, val: val.tag == 1511),
2435 ),
2436 ),
2437 (
2438 NDRFullPointerField(
2439 NDRPacketField(
2440 "ServerInfo", LPSERVER_INFO_1512(), LPSERVER_INFO_1512
2441 )
2442 ),
2443 (
2444 (lambda pkt: getattr(pkt, "Level", None) == 1512),
2445 (lambda _, val: val.tag == 1512),
2446 ),
2447 ),
2448 (
2449 NDRFullPointerField(
2450 NDRPacketField(
2451 "ServerInfo", LPSERVER_INFO_1513(), LPSERVER_INFO_1513
2452 )
2453 ),
2454 (
2455 (lambda pkt: getattr(pkt, "Level", None) == 1513),
2456 (lambda _, val: val.tag == 1513),
2457 ),
2458 ),
2459 (
2460 NDRFullPointerField(
2461 NDRPacketField(
2462 "ServerInfo", LPSERVER_INFO_1514(), LPSERVER_INFO_1514
2463 )
2464 ),
2465 (
2466 (lambda pkt: getattr(pkt, "Level", None) == 1514),
2467 (lambda _, val: val.tag == 1514),
2468 ),
2469 ),
2470 (
2471 NDRFullPointerField(
2472 NDRPacketField(
2473 "ServerInfo", LPSERVER_INFO_1515(), LPSERVER_INFO_1515
2474 )
2475 ),
2476 (
2477 (lambda pkt: getattr(pkt, "Level", None) == 1515),
2478 (lambda _, val: val.tag == 1515),
2479 ),
2480 ),
2481 (
2482 NDRFullPointerField(
2483 NDRPacketField(
2484 "ServerInfo", LPSERVER_INFO_1516(), LPSERVER_INFO_1516
2485 )
2486 ),
2487 (
2488 (lambda pkt: getattr(pkt, "Level", None) == 1516),
2489 (lambda _, val: val.tag == 1516),
2490 ),
2491 ),
2492 (
2493 NDRFullPointerField(
2494 NDRPacketField(
2495 "ServerInfo", LPSERVER_INFO_1518(), LPSERVER_INFO_1518
2496 )
2497 ),
2498 (
2499 (lambda pkt: getattr(pkt, "Level", None) == 1518),
2500 (lambda _, val: val.tag == 1518),
2501 ),
2502 ),
2503 (
2504 NDRFullPointerField(
2505 NDRPacketField(
2506 "ServerInfo", LPSERVER_INFO_1523(), LPSERVER_INFO_1523
2507 )
2508 ),
2509 (
2510 (lambda pkt: getattr(pkt, "Level", None) == 1523),
2511 (lambda _, val: val.tag == 1523),
2512 ),
2513 ),
2514 (
2515 NDRFullPointerField(
2516 NDRPacketField(
2517 "ServerInfo", LPSERVER_INFO_1528(), LPSERVER_INFO_1528
2518 )
2519 ),
2520 (
2521 (lambda pkt: getattr(pkt, "Level", None) == 1528),
2522 (lambda _, val: val.tag == 1528),
2523 ),
2524 ),
2525 (
2526 NDRFullPointerField(
2527 NDRPacketField(
2528 "ServerInfo", LPSERVER_INFO_1529(), LPSERVER_INFO_1529
2529 )
2530 ),
2531 (
2532 (lambda pkt: getattr(pkt, "Level", None) == 1529),
2533 (lambda _, val: val.tag == 1529),
2534 ),
2535 ),
2536 (
2537 NDRFullPointerField(
2538 NDRPacketField(
2539 "ServerInfo", LPSERVER_INFO_1530(), LPSERVER_INFO_1530
2540 )
2541 ),
2542 (
2543 (lambda pkt: getattr(pkt, "Level", None) == 1530),
2544 (lambda _, val: val.tag == 1530),
2545 ),
2546 ),
2547 (
2548 NDRFullPointerField(
2549 NDRPacketField(
2550 "ServerInfo", LPSERVER_INFO_1533(), LPSERVER_INFO_1533
2551 )
2552 ),
2553 (
2554 (lambda pkt: getattr(pkt, "Level", None) == 1533),
2555 (lambda _, val: val.tag == 1533),
2556 ),
2557 ),
2558 (
2559 NDRFullPointerField(
2560 NDRPacketField(
2561 "ServerInfo", LPSERVER_INFO_1534(), LPSERVER_INFO_1534
2562 )
2563 ),
2564 (
2565 (lambda pkt: getattr(pkt, "Level", None) == 1534),
2566 (lambda _, val: val.tag == 1534),
2567 ),
2568 ),
2569 (
2570 NDRFullPointerField(
2571 NDRPacketField(
2572 "ServerInfo", LPSERVER_INFO_1535(), LPSERVER_INFO_1535
2573 )
2574 ),
2575 (
2576 (lambda pkt: getattr(pkt, "Level", None) == 1535),
2577 (lambda _, val: val.tag == 1535),
2578 ),
2579 ),
2580 (
2581 NDRFullPointerField(
2582 NDRPacketField(
2583 "ServerInfo", LPSERVER_INFO_1536(), LPSERVER_INFO_1536
2584 )
2585 ),
2586 (
2587 (lambda pkt: getattr(pkt, "Level", None) == 1536),
2588 (lambda _, val: val.tag == 1536),
2589 ),
2590 ),
2591 (
2592 NDRFullPointerField(
2593 NDRPacketField(
2594 "ServerInfo", LPSERVER_INFO_1538(), LPSERVER_INFO_1538
2595 )
2596 ),
2597 (
2598 (lambda pkt: getattr(pkt, "Level", None) == 1538),
2599 (lambda _, val: val.tag == 1538),
2600 ),
2601 ),
2602 (
2603 NDRFullPointerField(
2604 NDRPacketField(
2605 "ServerInfo", LPSERVER_INFO_1539(), LPSERVER_INFO_1539
2606 )
2607 ),
2608 (
2609 (lambda pkt: getattr(pkt, "Level", None) == 1539),
2610 (lambda _, val: val.tag == 1539),
2611 ),
2612 ),
2613 (
2614 NDRFullPointerField(
2615 NDRPacketField(
2616 "ServerInfo", LPSERVER_INFO_1540(), LPSERVER_INFO_1540
2617 )
2618 ),
2619 (
2620 (lambda pkt: getattr(pkt, "Level", None) == 1540),
2621 (lambda _, val: val.tag == 1540),
2622 ),
2623 ),
2624 (
2625 NDRFullPointerField(
2626 NDRPacketField(
2627 "ServerInfo", LPSERVER_INFO_1541(), LPSERVER_INFO_1541
2628 )
2629 ),
2630 (
2631 (lambda pkt: getattr(pkt, "Level", None) == 1541),
2632 (lambda _, val: val.tag == 1541),
2633 ),
2634 ),
2635 (
2636 NDRFullPointerField(
2637 NDRPacketField(
2638 "ServerInfo", LPSERVER_INFO_1542(), LPSERVER_INFO_1542
2639 )
2640 ),
2641 (
2642 (lambda pkt: getattr(pkt, "Level", None) == 1542),
2643 (lambda _, val: val.tag == 1542),
2644 ),
2645 ),
2646 (
2647 NDRFullPointerField(
2648 NDRPacketField(
2649 "ServerInfo", LPSERVER_INFO_1543(), LPSERVER_INFO_1543
2650 )
2651 ),
2652 (
2653 (lambda pkt: getattr(pkt, "Level", None) == 1543),
2654 (lambda _, val: val.tag == 1543),
2655 ),
2656 ),
2657 (
2658 NDRFullPointerField(
2659 NDRPacketField(
2660 "ServerInfo", LPSERVER_INFO_1544(), LPSERVER_INFO_1544
2661 )
2662 ),
2663 (
2664 (lambda pkt: getattr(pkt, "Level", None) == 1544),
2665 (lambda _, val: val.tag == 1544),
2666 ),
2667 ),
2668 (
2669 NDRFullPointerField(
2670 NDRPacketField(
2671 "ServerInfo", LPSERVER_INFO_1545(), LPSERVER_INFO_1545
2672 )
2673 ),
2674 (
2675 (lambda pkt: getattr(pkt, "Level", None) == 1545),
2676 (lambda _, val: val.tag == 1545),
2677 ),
2678 ),
2679 (
2680 NDRFullPointerField(
2681 NDRPacketField(
2682 "ServerInfo", LPSERVER_INFO_1546(), LPSERVER_INFO_1546
2683 )
2684 ),
2685 (
2686 (lambda pkt: getattr(pkt, "Level", None) == 1546),
2687 (lambda _, val: val.tag == 1546),
2688 ),
2689 ),
2690 (
2691 NDRFullPointerField(
2692 NDRPacketField(
2693 "ServerInfo", LPSERVER_INFO_1547(), LPSERVER_INFO_1547
2694 )
2695 ),
2696 (
2697 (lambda pkt: getattr(pkt, "Level", None) == 1547),
2698 (lambda _, val: val.tag == 1547),
2699 ),
2700 ),
2701 (
2702 NDRFullPointerField(
2703 NDRPacketField(
2704 "ServerInfo", LPSERVER_INFO_1548(), LPSERVER_INFO_1548
2705 )
2706 ),
2707 (
2708 (lambda pkt: getattr(pkt, "Level", None) == 1548),
2709 (lambda _, val: val.tag == 1548),
2710 ),
2711 ),
2712 (
2713 NDRFullPointerField(
2714 NDRPacketField(
2715 "ServerInfo", LPSERVER_INFO_1549(), LPSERVER_INFO_1549
2716 )
2717 ),
2718 (
2719 (lambda pkt: getattr(pkt, "Level", None) == 1549),
2720 (lambda _, val: val.tag == 1549),
2721 ),
2722 ),
2723 (
2724 NDRFullPointerField(
2725 NDRPacketField(
2726 "ServerInfo", LPSERVER_INFO_1550(), LPSERVER_INFO_1550
2727 )
2728 ),
2729 (
2730 (lambda pkt: getattr(pkt, "Level", None) == 1550),
2731 (lambda _, val: val.tag == 1550),
2732 ),
2733 ),
2734 (
2735 NDRFullPointerField(
2736 NDRPacketField(
2737 "ServerInfo", LPSERVER_INFO_1552(), LPSERVER_INFO_1552
2738 )
2739 ),
2740 (
2741 (lambda pkt: getattr(pkt, "Level", None) == 1552),
2742 (lambda _, val: val.tag == 1552),
2743 ),
2744 ),
2745 (
2746 NDRFullPointerField(
2747 NDRPacketField(
2748 "ServerInfo", LPSERVER_INFO_1553(), LPSERVER_INFO_1553
2749 )
2750 ),
2751 (
2752 (lambda pkt: getattr(pkt, "Level", None) == 1553),
2753 (lambda _, val: val.tag == 1553),
2754 ),
2755 ),
2756 (
2757 NDRFullPointerField(
2758 NDRPacketField(
2759 "ServerInfo", LPSERVER_INFO_1554(), LPSERVER_INFO_1554
2760 )
2761 ),
2762 (
2763 (lambda pkt: getattr(pkt, "Level", None) == 1554),
2764 (lambda _, val: val.tag == 1554),
2765 ),
2766 ),
2767 (
2768 NDRFullPointerField(
2769 NDRPacketField(
2770 "ServerInfo", LPSERVER_INFO_1555(), LPSERVER_INFO_1555
2771 )
2772 ),
2773 (
2774 (lambda pkt: getattr(pkt, "Level", None) == 1555),
2775 (lambda _, val: val.tag == 1555),
2776 ),
2777 ),
2778 (
2779 NDRFullPointerField(
2780 NDRPacketField(
2781 "ServerInfo", LPSERVER_INFO_1556(), LPSERVER_INFO_1556
2782 )
2783 ),
2784 (
2785 (lambda pkt: getattr(pkt, "Level", None) == 1556),
2786 (lambda _, val: val.tag == 1556),
2787 ),
2788 ),
2789 ],
2790 StrFixedLenField("ServerInfo", "", length=0),
2791 align=(4, 8),
2792 switch_fmt=("L", "L"),
2793 ),
2794 NDRFullPointerField(NDRIntField("ParmErr", 0)),
2795 ]
2796
2797
2798class NetrServerSetInfo_Response(NDRPacket):
2799 fields_desc = [
2800 NDRFullPointerField(NDRIntField("ParmErr", 0)),
2801 NDRIntField("status", 0),
2802 ]
2803
2804
2805class LPDISK_INFO(NDRPacket):
2806 ALIGNMENT = (2, 2)
2807 fields_desc = [NDRVarStrNullFieldUtf16("Disk", "")]
2808
2809
2810class DISK_ENUM_CONTAINER(NDRPacket):
2811 ALIGNMENT = (4, 8)
2812 fields_desc = [
2813 NDRIntField("EntriesRead", None, size_of="Buffer"),
2814 NDRFullEmbPointerField(
2815 NDRConfVarPacketListField(
2816 "Buffer",
2817 [],
2818 LPDISK_INFO,
2819 size_is=lambda pkt: pkt.EntriesRead,
2820 length_is=lambda pkt: pkt.EntriesRead,
2821 )
2822 ),
2823 ]
2824
2825
2826class NetrServerDiskEnum_Request(NDRPacket):
2827 fields_desc = [
2828 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
2829 NDRIntField("Level", 0),
2830 NDRPacketField("DiskInfoStruct", DISK_ENUM_CONTAINER(), DISK_ENUM_CONTAINER),
2831 NDRIntField("PreferedMaximumLength", 0),
2832 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
2833 ]
2834
2835
2836class NetrServerDiskEnum_Response(NDRPacket):
2837 fields_desc = [
2838 NDRPacketField("DiskInfoStruct", DISK_ENUM_CONTAINER(), DISK_ENUM_CONTAINER),
2839 NDRIntField("TotalEntries", 0),
2840 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
2841 NDRIntField("status", 0),
2842 ]
2843
2844
2845class LPSTAT_SERVER_0(NDRPacket):
2846 ALIGNMENT = (4, 4)
2847 fields_desc = [
2848 NDRIntField("sts0_start", 0),
2849 NDRIntField("sts0_fopens", 0),
2850 NDRIntField("sts0_devopens", 0),
2851 NDRIntField("sts0_jobsqueued", 0),
2852 NDRIntField("sts0_sopens", 0),
2853 NDRIntField("sts0_stimedout", 0),
2854 NDRIntField("sts0_serrorout", 0),
2855 NDRIntField("sts0_pwerrors", 0),
2856 NDRIntField("sts0_permerrors", 0),
2857 NDRIntField("sts0_syserrors", 0),
2858 NDRIntField("sts0_bytessent_low", 0),
2859 NDRIntField("sts0_bytessent_high", 0),
2860 NDRIntField("sts0_bytesrcvd_low", 0),
2861 NDRIntField("sts0_bytesrcvd_high", 0),
2862 NDRIntField("sts0_avresponse", 0),
2863 NDRIntField("sts0_reqbufneed", 0),
2864 NDRIntField("sts0_bigbufneed", 0),
2865 ]
2866
2867
2868class NetrServerStatisticsGet_Request(NDRPacket):
2869 fields_desc = [
2870 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
2871 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("Service", "")),
2872 NDRIntField("Level", 0),
2873 NDRIntField("Options", 0),
2874 ]
2875
2876
2877class NetrServerStatisticsGet_Response(NDRPacket):
2878 fields_desc = [
2879 NDRFullPointerField(
2880 NDRPacketField("InfoStruct", LPSTAT_SERVER_0(), LPSTAT_SERVER_0)
2881 ),
2882 NDRIntField("status", 0),
2883 ]
2884
2885
2886class LPSERVER_TRANSPORT_INFO_0(NDRPacket):
2887 ALIGNMENT = (4, 8)
2888 fields_desc = [
2889 NDRIntField("svti0_numberofvcs", 0),
2890 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti0_transportname", "")),
2891 NDRFullEmbPointerField(
2892 NDRConfStrLenField(
2893 "svti0_transportaddress",
2894 "",
2895 size_is=lambda pkt: pkt.svti0_transportaddresslength,
2896 )
2897 ),
2898 NDRIntField(
2899 "svti0_transportaddresslength", None, size_of="svti0_transportaddress"
2900 ),
2901 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti0_networkaddress", "")),
2902 ]
2903
2904
2905class NetrServerTransportAdd_Request(NDRPacket):
2906 fields_desc = [
2907 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
2908 NDRIntField("Level", 0),
2909 NDRPacketField(
2910 "Buffer", LPSERVER_TRANSPORT_INFO_0(), LPSERVER_TRANSPORT_INFO_0
2911 ),
2912 ]
2913
2914
2915class NetrServerTransportAdd_Response(NDRPacket):
2916 fields_desc = [NDRIntField("status", 0)]
2917
2918
2919class PSERVER_XPORT_INFO_0_CONTAINER(NDRPacket):
2920 ALIGNMENT = (4, 8)
2921 fields_desc = [
2922 NDRIntField("EntriesRead", None, size_of="Buffer"),
2923 NDRFullEmbPointerField(
2924 NDRConfPacketListField(
2925 "Buffer",
2926 [],
2927 LPSERVER_TRANSPORT_INFO_0,
2928 size_is=lambda pkt: pkt.EntriesRead,
2929 )
2930 ),
2931 ]
2932
2933
2934class LPSERVER_TRANSPORT_INFO_1(NDRPacket):
2935 ALIGNMENT = (4, 8)
2936 fields_desc = [
2937 NDRIntField("svti1_numberofvcs", 0),
2938 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti1_transportname", "")),
2939 NDRFullEmbPointerField(
2940 NDRConfStrLenField(
2941 "svti1_transportaddress",
2942 "",
2943 size_is=lambda pkt: pkt.svti1_transportaddresslength,
2944 )
2945 ),
2946 NDRIntField(
2947 "svti1_transportaddresslength", None, size_of="svti1_transportaddress"
2948 ),
2949 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti1_networkaddress", "")),
2950 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti1_domain", "")),
2951 ]
2952
2953
2954class PSERVER_XPORT_INFO_1_CONTAINER(NDRPacket):
2955 ALIGNMENT = (4, 8)
2956 fields_desc = [
2957 NDRIntField("EntriesRead", None, size_of="Buffer"),
2958 NDRFullEmbPointerField(
2959 NDRConfPacketListField(
2960 "Buffer",
2961 [],
2962 LPSERVER_TRANSPORT_INFO_1,
2963 size_is=lambda pkt: pkt.EntriesRead,
2964 )
2965 ),
2966 ]
2967
2968
2969class LPSERVER_TRANSPORT_INFO_2(NDRPacket):
2970 ALIGNMENT = (4, 8)
2971 fields_desc = [
2972 NDRIntField("svti2_numberofvcs", 0),
2973 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti2_transportname", "")),
2974 NDRFullEmbPointerField(
2975 NDRConfStrLenField(
2976 "svti2_transportaddress",
2977 "",
2978 size_is=lambda pkt: pkt.svti2_transportaddresslength,
2979 )
2980 ),
2981 NDRIntField(
2982 "svti2_transportaddresslength", None, size_of="svti2_transportaddress"
2983 ),
2984 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti2_networkaddress", "")),
2985 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti2_domain", "")),
2986 NDRIntField("svti2_flags", 0),
2987 ]
2988
2989
2990class PSERVER_XPORT_INFO_2_CONTAINER(NDRPacket):
2991 ALIGNMENT = (4, 8)
2992 fields_desc = [
2993 NDRIntField("EntriesRead", None, size_of="Buffer"),
2994 NDRFullEmbPointerField(
2995 NDRConfPacketListField(
2996 "Buffer",
2997 [],
2998 LPSERVER_TRANSPORT_INFO_2,
2999 size_is=lambda pkt: pkt.EntriesRead,
3000 )
3001 ),
3002 ]
3003
3004
3005class LPSERVER_TRANSPORT_INFO_3(NDRPacket):
3006 ALIGNMENT = (4, 8)
3007 fields_desc = [
3008 NDRIntField("svti3_numberofvcs", 0),
3009 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti3_transportname", "")),
3010 NDRFullEmbPointerField(
3011 NDRConfStrLenField(
3012 "svti3_transportaddress",
3013 "",
3014 size_is=lambda pkt: pkt.svti3_transportaddresslength,
3015 )
3016 ),
3017 NDRIntField(
3018 "svti3_transportaddresslength", None, size_of="svti3_transportaddress"
3019 ),
3020 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti3_networkaddress", "")),
3021 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti3_domain", "")),
3022 NDRIntField("svti3_flags", 0),
3023 NDRIntField("svti3_passwordlength", 0),
3024 StrFixedLenField("svti3_password", "", length=256),
3025 ]
3026
3027
3028class PSERVER_XPORT_INFO_3_CONTAINER(NDRPacket):
3029 ALIGNMENT = (4, 8)
3030 fields_desc = [
3031 NDRIntField("EntriesRead", None, size_of="Buffer"),
3032 NDRFullEmbPointerField(
3033 NDRConfPacketListField(
3034 "Buffer",
3035 [],
3036 LPSERVER_TRANSPORT_INFO_3,
3037 size_is=lambda pkt: pkt.EntriesRead,
3038 )
3039 ),
3040 ]
3041
3042
3043class LPSERVER_XPORT_ENUM_STRUCT(NDRPacket):
3044 ALIGNMENT = (4, 8)
3045 fields_desc = [
3046 NDRIntField("Level", 0),
3047 NDRUnionField(
3048 [
3049 (
3050 NDRFullEmbPointerField(
3051 NDRPacketField(
3052 "XportInfo",
3053 PSERVER_XPORT_INFO_0_CONTAINER(),
3054 PSERVER_XPORT_INFO_0_CONTAINER,
3055 )
3056 ),
3057 (
3058 (lambda pkt: getattr(pkt, "Level", None) == 0),
3059 (lambda _, val: val.tag == 0),
3060 ),
3061 ),
3062 (
3063 NDRFullEmbPointerField(
3064 NDRPacketField(
3065 "XportInfo",
3066 PSERVER_XPORT_INFO_1_CONTAINER(),
3067 PSERVER_XPORT_INFO_1_CONTAINER,
3068 )
3069 ),
3070 (
3071 (lambda pkt: getattr(pkt, "Level", None) == 1),
3072 (lambda _, val: val.tag == 1),
3073 ),
3074 ),
3075 (
3076 NDRFullEmbPointerField(
3077 NDRPacketField(
3078 "XportInfo",
3079 PSERVER_XPORT_INFO_2_CONTAINER(),
3080 PSERVER_XPORT_INFO_2_CONTAINER,
3081 )
3082 ),
3083 (
3084 (lambda pkt: getattr(pkt, "Level", None) == 2),
3085 (lambda _, val: val.tag == 2),
3086 ),
3087 ),
3088 (
3089 NDRFullEmbPointerField(
3090 NDRPacketField(
3091 "XportInfo",
3092 PSERVER_XPORT_INFO_3_CONTAINER(),
3093 PSERVER_XPORT_INFO_3_CONTAINER,
3094 )
3095 ),
3096 (
3097 (lambda pkt: getattr(pkt, "Level", None) == 3),
3098 (lambda _, val: val.tag == 3),
3099 ),
3100 ),
3101 ],
3102 StrFixedLenField("XportInfo", "", length=0),
3103 align=(4, 8),
3104 switch_fmt=("L", "L"),
3105 ),
3106 ]
3107
3108
3109class NetrServerTransportEnum_Request(NDRPacket):
3110 fields_desc = [
3111 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3112 NDRPacketField(
3113 "InfoStruct", LPSERVER_XPORT_ENUM_STRUCT(), LPSERVER_XPORT_ENUM_STRUCT
3114 ),
3115 NDRIntField("PreferedMaximumLength", 0),
3116 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
3117 ]
3118
3119
3120class NetrServerTransportEnum_Response(NDRPacket):
3121 fields_desc = [
3122 NDRPacketField(
3123 "InfoStruct", LPSERVER_XPORT_ENUM_STRUCT(), LPSERVER_XPORT_ENUM_STRUCT
3124 ),
3125 NDRIntField("TotalEntries", 0),
3126 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
3127 NDRIntField("status", 0),
3128 ]
3129
3130
3131class NetrServerTransportDel_Request(NDRPacket):
3132 fields_desc = [
3133 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3134 NDRIntField("Level", 0),
3135 NDRPacketField(
3136 "Buffer", LPSERVER_TRANSPORT_INFO_0(), LPSERVER_TRANSPORT_INFO_0
3137 ),
3138 ]
3139
3140
3141class NetrServerTransportDel_Response(NDRPacket):
3142 fields_desc = [NDRIntField("status", 0)]
3143
3144
3145class LPTIME_OF_DAY_INFO(NDRPacket):
3146 ALIGNMENT = (4, 4)
3147 fields_desc = [
3148 NDRIntField("tod_elapsedt", 0),
3149 NDRIntField("tod_msecs", 0),
3150 NDRIntField("tod_hours", 0),
3151 NDRIntField("tod_mins", 0),
3152 NDRIntField("tod_secs", 0),
3153 NDRIntField("tod_hunds", 0),
3154 NDRSignedIntField("tod_timezone", 0),
3155 NDRIntField("tod_tinterval", 0),
3156 NDRIntField("tod_day", 0),
3157 NDRIntField("tod_month", 0),
3158 NDRIntField("tod_year", 0),
3159 NDRIntField("tod_weekday", 0),
3160 ]
3161
3162
3163class NetrRemoteTOD_Request(NDRPacket):
3164 fields_desc = [NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", ""))]
3165
3166
3167class NetrRemoteTOD_Response(NDRPacket):
3168 fields_desc = [
3169 NDRFullPointerField(
3170 NDRPacketField("BufferPtr", LPTIME_OF_DAY_INFO(), LPTIME_OF_DAY_INFO)
3171 ),
3172 NDRIntField("status", 0),
3173 ]
3174
3175
3176class NetprPathType_Request(NDRPacket):
3177 fields_desc = [
3178 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3179 NDRConfVarStrNullFieldUtf16("PathName", ""),
3180 NDRIntField("Flags", 0),
3181 ]
3182
3183
3184class NetprPathType_Response(NDRPacket):
3185 fields_desc = [NDRIntField("PathType", 0), NDRIntField("status", 0)]
3186
3187
3188class NetprPathCanonicalize_Request(NDRPacket):
3189 fields_desc = [
3190 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3191 NDRConfVarStrNullFieldUtf16("PathName", ""),
3192 NDRIntField("OutbufLen", 0),
3193 NDRConfVarStrNullFieldUtf16("Prefix", ""),
3194 NDRIntField("PathType", 0),
3195 NDRIntField("Flags", 0),
3196 ]
3197
3198
3199class NetprPathCanonicalize_Response(NDRPacket):
3200 fields_desc = [
3201 NDRConfStrLenField("Outbuf", "", size_is=lambda pkt: pkt.OutbufLen),
3202 NDRIntField("PathType", 0),
3203 NDRIntField("status", 0),
3204 ]
3205
3206
3207class NetprPathCompare_Request(NDRPacket):
3208 fields_desc = [
3209 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3210 NDRConfVarStrNullFieldUtf16("PathName1", ""),
3211 NDRConfVarStrNullFieldUtf16("PathName2", ""),
3212 NDRIntField("PathType", 0),
3213 NDRIntField("Flags", 0),
3214 ]
3215
3216
3217class NetprPathCompare_Response(NDRPacket):
3218 fields_desc = [NDRIntField("status", 0)]
3219
3220
3221class NetprNameValidate_Request(NDRPacket):
3222 fields_desc = [
3223 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3224 NDRConfVarStrNullFieldUtf16("Name", ""),
3225 NDRIntField("NameType", 0),
3226 NDRIntField("Flags", 0),
3227 ]
3228
3229
3230class NetprNameValidate_Response(NDRPacket):
3231 fields_desc = [NDRIntField("status", 0)]
3232
3233
3234class NetprNameCanonicalize_Request(NDRPacket):
3235 fields_desc = [
3236 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3237 NDRConfVarStrNullFieldUtf16("Name", ""),
3238 NDRIntField("OutbufLen", 0),
3239 NDRIntField("NameType", 0),
3240 NDRIntField("Flags", 0),
3241 ]
3242
3243
3244class NetprNameCanonicalize_Response(NDRPacket):
3245 fields_desc = [
3246 NDRConfFieldListField(
3247 "Outbuf", [], NDRShortField("", 0), size_is=lambda pkt: pkt.OutbufLen
3248 ),
3249 NDRIntField("status", 0),
3250 ]
3251
3252
3253class NetprNameCompare_Request(NDRPacket):
3254 fields_desc = [
3255 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3256 NDRConfVarStrNullFieldUtf16("Name1", ""),
3257 NDRConfVarStrNullFieldUtf16("Name2", ""),
3258 NDRIntField("NameType", 0),
3259 NDRIntField("Flags", 0),
3260 ]
3261
3262
3263class NetprNameCompare_Response(NDRPacket):
3264 fields_desc = [NDRIntField("status", 0)]
3265
3266
3267class NetrShareEnumSticky_Request(NDRPacket):
3268 fields_desc = [
3269 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3270 NDRPacketField("InfoStruct", LPSHARE_ENUM_STRUCT(), LPSHARE_ENUM_STRUCT),
3271 NDRIntField("PreferedMaximumLength", 0),
3272 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
3273 ]
3274
3275
3276class NetrShareEnumSticky_Response(NDRPacket):
3277 fields_desc = [
3278 NDRPacketField("InfoStruct", LPSHARE_ENUM_STRUCT(), LPSHARE_ENUM_STRUCT),
3279 NDRIntField("TotalEntries", 0),
3280 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
3281 NDRIntField("status", 0),
3282 ]
3283
3284
3285class NetrShareDelStart_Request(NDRPacket):
3286 fields_desc = [
3287 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3288 NDRConfVarStrNullFieldUtf16("NetName", ""),
3289 NDRIntField("Reserved", 0),
3290 ]
3291
3292
3293class NetrShareDelStart_Response(NDRPacket):
3294 fields_desc = [
3295 NDRPacketField("ContextHandle", NDRContextHandle(), NDRContextHandle),
3296 NDRIntField("status", 0),
3297 ]
3298
3299
3300class NetrShareDelCommit_Request(NDRPacket):
3301 fields_desc = [
3302 NDRPacketField("ContextHandle", NDRContextHandle(), NDRContextHandle)
3303 ]
3304
3305
3306class NetrShareDelCommit_Response(NDRPacket):
3307 fields_desc = [
3308 NDRPacketField("ContextHandle", NDRContextHandle(), NDRContextHandle),
3309 NDRIntField("status", 0),
3310 ]
3311
3312
3313class PADT_SECURITY_DESCRIPTOR(NDRPacket):
3314 ALIGNMENT = (4, 8)
3315 fields_desc = [
3316 NDRIntField("Length", None, size_of="Buffer"),
3317 NDRFullEmbPointerField(
3318 NDRConfStrLenField("Buffer", "", size_is=lambda pkt: pkt.Length)
3319 ),
3320 ]
3321
3322
3323class NetrpGetFileSecurity_Request(NDRPacket):
3324 fields_desc = [
3325 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3326 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ShareName", "")),
3327 NDRConfVarStrNullFieldUtf16("lpFileName", ""),
3328 NDRIntField("RequestedInformation", 0),
3329 ]
3330
3331
3332class NetrpGetFileSecurity_Response(NDRPacket):
3333 fields_desc = [
3334 NDRFullPointerField(
3335 NDRPacketField(
3336 "SecurityDescriptor",
3337 PADT_SECURITY_DESCRIPTOR(),
3338 PADT_SECURITY_DESCRIPTOR,
3339 )
3340 ),
3341 NDRIntField("status", 0),
3342 ]
3343
3344
3345class NetrpSetFileSecurity_Request(NDRPacket):
3346 fields_desc = [
3347 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3348 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ShareName", "")),
3349 NDRConfVarStrNullFieldUtf16("lpFileName", ""),
3350 NDRIntField("SecurityInformation", 0),
3351 NDRPacketField(
3352 "SecurityDescriptor", PADT_SECURITY_DESCRIPTOR(), PADT_SECURITY_DESCRIPTOR
3353 ),
3354 ]
3355
3356
3357class NetrpSetFileSecurity_Response(NDRPacket):
3358 fields_desc = [NDRIntField("status", 0)]
3359
3360
3361class SERVER_TRANSPORT_INFO_0(NDRPacket):
3362 ALIGNMENT = (4, 8)
3363 fields_desc = [
3364 NDRIntField("svti0_numberofvcs", 0),
3365 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti0_transportname", "")),
3366 NDRFullEmbPointerField(
3367 NDRConfStrLenField(
3368 "svti0_transportaddress",
3369 "",
3370 size_is=lambda pkt: pkt.svti0_transportaddresslength,
3371 )
3372 ),
3373 NDRIntField(
3374 "svti0_transportaddresslength", None, size_of="svti0_transportaddress"
3375 ),
3376 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti0_networkaddress", "")),
3377 ]
3378
3379
3380class SERVER_TRANSPORT_INFO_1(NDRPacket):
3381 ALIGNMENT = (4, 8)
3382 fields_desc = [
3383 NDRIntField("svti1_numberofvcs", 0),
3384 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti1_transportname", "")),
3385 NDRFullEmbPointerField(
3386 NDRConfStrLenField(
3387 "svti1_transportaddress",
3388 "",
3389 size_is=lambda pkt: pkt.svti1_transportaddresslength,
3390 )
3391 ),
3392 NDRIntField(
3393 "svti1_transportaddresslength", None, size_of="svti1_transportaddress"
3394 ),
3395 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti1_networkaddress", "")),
3396 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti1_domain", "")),
3397 ]
3398
3399
3400class SERVER_TRANSPORT_INFO_2(NDRPacket):
3401 ALIGNMENT = (4, 8)
3402 fields_desc = [
3403 NDRIntField("svti2_numberofvcs", 0),
3404 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti2_transportname", "")),
3405 NDRFullEmbPointerField(
3406 NDRConfStrLenField(
3407 "svti2_transportaddress",
3408 "",
3409 size_is=lambda pkt: pkt.svti2_transportaddresslength,
3410 )
3411 ),
3412 NDRIntField(
3413 "svti2_transportaddresslength", None, size_of="svti2_transportaddress"
3414 ),
3415 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti2_networkaddress", "")),
3416 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti2_domain", "")),
3417 NDRIntField("svti2_flags", 0),
3418 ]
3419
3420
3421class SERVER_TRANSPORT_INFO_3(NDRPacket):
3422 ALIGNMENT = (4, 8)
3423 fields_desc = [
3424 NDRIntField("svti3_numberofvcs", 0),
3425 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti3_transportname", "")),
3426 NDRFullEmbPointerField(
3427 NDRConfStrLenField(
3428 "svti3_transportaddress",
3429 "",
3430 size_is=lambda pkt: pkt.svti3_transportaddresslength,
3431 )
3432 ),
3433 NDRIntField(
3434 "svti3_transportaddresslength", None, size_of="svti3_transportaddress"
3435 ),
3436 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti3_networkaddress", "")),
3437 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("svti3_domain", "")),
3438 NDRIntField("svti3_flags", 0),
3439 NDRIntField("svti3_passwordlength", 0),
3440 StrFixedLenField("svti3_password", "", length=256),
3441 ]
3442
3443
3444class NetrServerTransportAddEx_Request(NDRPacket):
3445 fields_desc = [
3446 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3447 NDRIntField("Level", 0),
3448 NDRUnionField(
3449 [
3450 (
3451 NDRPacketField(
3452 "Buffer", SERVER_TRANSPORT_INFO_0(), SERVER_TRANSPORT_INFO_0
3453 ),
3454 (
3455 (lambda pkt: getattr(pkt, "Level", None) == 0),
3456 (lambda _, val: val.tag == 0),
3457 ),
3458 ),
3459 (
3460 NDRPacketField(
3461 "Buffer", SERVER_TRANSPORT_INFO_1(), SERVER_TRANSPORT_INFO_1
3462 ),
3463 (
3464 (lambda pkt: getattr(pkt, "Level", None) == 1),
3465 (lambda _, val: val.tag == 1),
3466 ),
3467 ),
3468 (
3469 NDRPacketField(
3470 "Buffer", SERVER_TRANSPORT_INFO_2(), SERVER_TRANSPORT_INFO_2
3471 ),
3472 (
3473 (lambda pkt: getattr(pkt, "Level", None) == 2),
3474 (lambda _, val: val.tag == 2),
3475 ),
3476 ),
3477 (
3478 NDRPacketField(
3479 "Buffer", SERVER_TRANSPORT_INFO_3(), SERVER_TRANSPORT_INFO_3
3480 ),
3481 (
3482 (lambda pkt: getattr(pkt, "Level", None) == 3),
3483 (lambda _, val: val.tag == 3),
3484 ),
3485 ),
3486 ],
3487 StrFixedLenField("Buffer", "", length=0),
3488 align=(4, 8),
3489 switch_fmt=("L", "L"),
3490 ),
3491 ]
3492
3493
3494class NetrServerTransportAddEx_Response(NDRPacket):
3495 fields_desc = [NDRIntField("status", 0)]
3496
3497
3498class NetrDfsGetVersion_Request(NDRPacket):
3499 fields_desc = [NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", ""))]
3500
3501
3502class NetrDfsGetVersion_Response(NDRPacket):
3503 fields_desc = [NDRIntField("Version", 0), NDRIntField("status", 0)]
3504
3505
3506class GUID(NDRPacket):
3507 ALIGNMENT = (4, 4)
3508 fields_desc = [
3509 NDRIntField("Data1", 0),
3510 NDRShortField("Data2", 0),
3511 NDRShortField("Data3", 0),
3512 StrFixedLenField("Data4", "", length=8),
3513 ]
3514
3515
3516class LPNET_DFS_ENTRY_ID(NDRPacket):
3517 ALIGNMENT = (4, 8)
3518 fields_desc = [
3519 NDRPacketField("Uid", GUID(), GUID),
3520 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("Prefix", "")),
3521 ]
3522
3523
3524class LPNET_DFS_ENTRY_ID_CONTAINER(NDRPacket):
3525 ALIGNMENT = (4, 8)
3526 fields_desc = [
3527 NDRIntField("Count", None, size_of="Buffer"),
3528 NDRFullEmbPointerField(
3529 NDRConfPacketListField(
3530 "Buffer", [], LPNET_DFS_ENTRY_ID, size_is=lambda pkt: pkt.Count
3531 )
3532 ),
3533 ]
3534
3535
3536class NetrDfsCreateLocalPartition_Request(NDRPacket):
3537 fields_desc = [
3538 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3539 NDRConfVarStrNullFieldUtf16("ShareName", ""),
3540 NDRPacketField("EntryUid", GUID(), GUID),
3541 NDRConfVarStrNullFieldUtf16("EntryPrefix", ""),
3542 NDRConfVarStrNullFieldUtf16("ShortName", ""),
3543 NDRPacketField(
3544 "RelationInfo", LPNET_DFS_ENTRY_ID_CONTAINER(), LPNET_DFS_ENTRY_ID_CONTAINER
3545 ),
3546 NDRSignedIntField("Force", 0),
3547 ]
3548
3549
3550class NetrDfsCreateLocalPartition_Response(NDRPacket):
3551 fields_desc = [NDRIntField("status", 0)]
3552
3553
3554class NetrDfsDeleteLocalPartition_Request(NDRPacket):
3555 fields_desc = [
3556 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3557 NDRPacketField("Uid", GUID(), GUID),
3558 NDRConfVarStrNullFieldUtf16("Prefix", ""),
3559 ]
3560
3561
3562class NetrDfsDeleteLocalPartition_Response(NDRPacket):
3563 fields_desc = [NDRIntField("status", 0)]
3564
3565
3566class NetrDfsSetLocalVolumeState_Request(NDRPacket):
3567 fields_desc = [
3568 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3569 NDRPacketField("Uid", GUID(), GUID),
3570 NDRConfVarStrNullFieldUtf16("Prefix", ""),
3571 NDRIntField("State", 0),
3572 ]
3573
3574
3575class NetrDfsSetLocalVolumeState_Response(NDRPacket):
3576 fields_desc = [NDRIntField("status", 0)]
3577
3578
3579class NetrDfsCreateExitPoint_Request(NDRPacket):
3580 fields_desc = [
3581 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3582 NDRPacketField("Uid", GUID(), GUID),
3583 NDRConfVarStrNullFieldUtf16("Prefix", ""),
3584 NDRIntField("Type", 0),
3585 NDRIntField("ShortPrefixLen", 0),
3586 ]
3587
3588
3589class NetrDfsCreateExitPoint_Response(NDRPacket):
3590 fields_desc = [
3591 NDRConfFieldListField(
3592 "ShortPrefix",
3593 [],
3594 NDRShortField("", 0),
3595 size_is=lambda pkt: pkt.ShortPrefixLen,
3596 ),
3597 NDRIntField("status", 0),
3598 ]
3599
3600
3601class NetrDfsDeleteExitPoint_Request(NDRPacket):
3602 fields_desc = [
3603 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3604 NDRPacketField("Uid", GUID(), GUID),
3605 NDRConfVarStrNullFieldUtf16("Prefix", ""),
3606 NDRIntField("Type", 0),
3607 ]
3608
3609
3610class NetrDfsDeleteExitPoint_Response(NDRPacket):
3611 fields_desc = [NDRIntField("status", 0)]
3612
3613
3614class NetrDfsModifyPrefix_Request(NDRPacket):
3615 fields_desc = [
3616 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3617 NDRPacketField("Uid", GUID(), GUID),
3618 NDRConfVarStrNullFieldUtf16("Prefix", ""),
3619 ]
3620
3621
3622class NetrDfsModifyPrefix_Response(NDRPacket):
3623 fields_desc = [NDRIntField("status", 0)]
3624
3625
3626class NetrDfsFixLocalVolume_Request(NDRPacket):
3627 fields_desc = [
3628 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3629 NDRConfVarStrNullFieldUtf16("VolumeName", ""),
3630 NDRIntField("EntryType", 0),
3631 NDRIntField("ServiceType", 0),
3632 NDRConfVarStrNullFieldUtf16("StgId", ""),
3633 NDRPacketField("EntryUid", GUID(), GUID),
3634 NDRConfVarStrNullFieldUtf16("EntryPrefix", ""),
3635 NDRPacketField(
3636 "RelationInfo", LPNET_DFS_ENTRY_ID_CONTAINER(), LPNET_DFS_ENTRY_ID_CONTAINER
3637 ),
3638 NDRIntField("CreateDisposition", 0),
3639 ]
3640
3641
3642class NetrDfsFixLocalVolume_Response(NDRPacket):
3643 fields_desc = [NDRIntField("status", 0)]
3644
3645
3646class DFS_SITENAME_INFO(NDRPacket):
3647 ALIGNMENT = (4, 8)
3648 fields_desc = [
3649 NDRIntField("SiteFlags", 0),
3650 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("SiteName", "")),
3651 ]
3652
3653
3654class LPDFS_SITELIST_INFO(NDRPacket):
3655 ALIGNMENT = (4, 4)
3656 DEPORTED_CONFORMANTS = ["Site"]
3657 fields_desc = [
3658 NDRIntField("cSites", None, size_of="Site"),
3659 NDRConfPacketListField(
3660 "Site",
3661 [],
3662 DFS_SITENAME_INFO,
3663 size_is=lambda pkt: pkt.cSites,
3664 conformant_in_struct=True,
3665 ),
3666 ]
3667
3668
3669class NetrDfsManagerReportSiteInfo_Request(NDRPacket):
3670 fields_desc = [
3671 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3672 NDRFullPointerField(
3673 NDRFullPointerField(
3674 NDRPacketField("ppSiteInfo", LPDFS_SITELIST_INFO(), LPDFS_SITELIST_INFO)
3675 )
3676 ),
3677 ]
3678
3679
3680class NetrDfsManagerReportSiteInfo_Response(NDRPacket):
3681 fields_desc = [
3682 NDRFullPointerField(
3683 NDRFullPointerField(
3684 NDRPacketField("ppSiteInfo", LPDFS_SITELIST_INFO(), LPDFS_SITELIST_INFO)
3685 )
3686 ),
3687 NDRIntField("status", 0),
3688 ]
3689
3690
3691class NetrServerTransportDelEx_Request(NDRPacket):
3692 fields_desc = [
3693 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3694 NDRIntField("Level", 0),
3695 NDRUnionField(
3696 [
3697 (
3698 NDRPacketField(
3699 "Buffer", SERVER_TRANSPORT_INFO_0(), SERVER_TRANSPORT_INFO_0
3700 ),
3701 (
3702 (lambda pkt: getattr(pkt, "Level", None) == 0),
3703 (lambda _, val: val.tag == 0),
3704 ),
3705 ),
3706 (
3707 NDRPacketField(
3708 "Buffer", SERVER_TRANSPORT_INFO_1(), SERVER_TRANSPORT_INFO_1
3709 ),
3710 (
3711 (lambda pkt: getattr(pkt, "Level", None) == 1),
3712 (lambda _, val: val.tag == 1),
3713 ),
3714 ),
3715 (
3716 NDRPacketField(
3717 "Buffer", SERVER_TRANSPORT_INFO_2(), SERVER_TRANSPORT_INFO_2
3718 ),
3719 (
3720 (lambda pkt: getattr(pkt, "Level", None) == 2),
3721 (lambda _, val: val.tag == 2),
3722 ),
3723 ),
3724 (
3725 NDRPacketField(
3726 "Buffer", SERVER_TRANSPORT_INFO_3(), SERVER_TRANSPORT_INFO_3
3727 ),
3728 (
3729 (lambda pkt: getattr(pkt, "Level", None) == 3),
3730 (lambda _, val: val.tag == 3),
3731 ),
3732 ),
3733 ],
3734 StrFixedLenField("Buffer", "", length=0),
3735 align=(4, 8),
3736 switch_fmt=("L", "L"),
3737 ),
3738 ]
3739
3740
3741class NetrServerTransportDelEx_Response(NDRPacket):
3742 fields_desc = [NDRIntField("status", 0)]
3743
3744
3745class LPSERVER_ALIAS_INFO_0(NDRPacket):
3746 ALIGNMENT = (4, 8)
3747 fields_desc = [
3748 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("srvai0_alias", "")),
3749 NDRFullEmbPointerField(NDRConfVarStrNullFieldUtf16("srvai0_target", "")),
3750 NDRByteField("srvai0_default", 0),
3751 NDRIntField("srvai0_reserved", 0),
3752 ]
3753
3754
3755class NetrServerAliasAdd_Request(NDRPacket):
3756 fields_desc = [
3757 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3758 NDRIntField("Level", 0),
3759 NDRUnionField(
3760 [
3761 (
3762 NDRFullPointerField(
3763 NDRPacketField(
3764 "InfoStruct", LPSERVER_ALIAS_INFO_0(), LPSERVER_ALIAS_INFO_0
3765 )
3766 ),
3767 (
3768 (lambda pkt: getattr(pkt, "Level", None) == 0),
3769 (lambda _, val: val.tag == 0),
3770 ),
3771 )
3772 ],
3773 StrFixedLenField("InfoStruct", "", length=0),
3774 align=(4, 8),
3775 switch_fmt=("L", "L"),
3776 ),
3777 ]
3778
3779
3780class NetrServerAliasAdd_Response(NDRPacket):
3781 fields_desc = [NDRIntField("status", 0)]
3782
3783
3784class SERVER_ALIAS_INFO_0_CONTAINER(NDRPacket):
3785 ALIGNMENT = (4, 8)
3786 fields_desc = [
3787 NDRIntField("EntriesRead", None, size_of="Buffer"),
3788 NDRFullEmbPointerField(
3789 NDRConfPacketListField(
3790 "Buffer", [], LPSERVER_ALIAS_INFO_0, size_is=lambda pkt: pkt.EntriesRead
3791 )
3792 ),
3793 ]
3794
3795
3796class LPSERVER_ALIAS_ENUM_STRUCT(NDRPacket):
3797 ALIGNMENT = (4, 8)
3798 fields_desc = [
3799 NDRIntField("Level", 0),
3800 NDRUnionField(
3801 [
3802 (
3803 NDRFullEmbPointerField(
3804 NDRPacketField(
3805 "ServerAliasInfo",
3806 SERVER_ALIAS_INFO_0_CONTAINER(),
3807 SERVER_ALIAS_INFO_0_CONTAINER,
3808 )
3809 ),
3810 (
3811 (lambda pkt: getattr(pkt, "Level", None) == 0),
3812 (lambda _, val: val.tag == 0),
3813 ),
3814 )
3815 ],
3816 StrFixedLenField("ServerAliasInfo", "", length=0),
3817 align=(4, 8),
3818 switch_fmt=("L", "L"),
3819 ),
3820 ]
3821
3822
3823class NetrServerAliasEnum_Request(NDRPacket):
3824 fields_desc = [
3825 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3826 NDRPacketField(
3827 "InfoStruct", LPSERVER_ALIAS_ENUM_STRUCT(), LPSERVER_ALIAS_ENUM_STRUCT
3828 ),
3829 NDRIntField("PreferedMaximumLength", 0),
3830 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
3831 ]
3832
3833
3834class NetrServerAliasEnum_Response(NDRPacket):
3835 fields_desc = [
3836 NDRPacketField(
3837 "InfoStruct", LPSERVER_ALIAS_ENUM_STRUCT(), LPSERVER_ALIAS_ENUM_STRUCT
3838 ),
3839 NDRIntField("TotalEntries", 0),
3840 NDRFullPointerField(NDRIntField("ResumeHandle", 0)),
3841 NDRIntField("status", 0),
3842 ]
3843
3844
3845class NetrServerAliasDel_Request(NDRPacket):
3846 fields_desc = [
3847 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3848 NDRIntField("Level", 0),
3849 NDRUnionField(
3850 [
3851 (
3852 NDRFullPointerField(
3853 NDRPacketField(
3854 "InfoStruct", LPSERVER_ALIAS_INFO_0(), LPSERVER_ALIAS_INFO_0
3855 )
3856 ),
3857 (
3858 (lambda pkt: getattr(pkt, "Level", None) == 0),
3859 (lambda _, val: val.tag == 0),
3860 ),
3861 )
3862 ],
3863 StrFixedLenField("InfoStruct", "", length=0),
3864 align=(4, 8),
3865 switch_fmt=("L", "L"),
3866 ),
3867 ]
3868
3869
3870class NetrServerAliasDel_Response(NDRPacket):
3871 fields_desc = [NDRIntField("status", 0)]
3872
3873
3874class NetrShareDelEx_Request(NDRPacket):
3875 fields_desc = [
3876 NDRFullPointerField(NDRConfVarStrNullFieldUtf16("ServerName", "")),
3877 NDRIntField("Level", 0),
3878 NDRUnionField(
3879 [
3880 (
3881 NDRFullPointerField(
3882 NDRPacketField("ShareInfo", LPSHARE_INFO_0(), LPSHARE_INFO_0)
3883 ),
3884 (
3885 (lambda pkt: getattr(pkt, "Level", None) == 0),
3886 (lambda _, val: val.tag == 0),
3887 ),
3888 ),
3889 (
3890 NDRFullPointerField(
3891 NDRPacketField("ShareInfo", LPSHARE_INFO_1(), LPSHARE_INFO_1)
3892 ),
3893 (
3894 (lambda pkt: getattr(pkt, "Level", None) == 1),
3895 (lambda _, val: val.tag == 1),
3896 ),
3897 ),
3898 (
3899 NDRFullPointerField(
3900 NDRPacketField("ShareInfo", LPSHARE_INFO_2(), LPSHARE_INFO_2)
3901 ),
3902 (
3903 (lambda pkt: getattr(pkt, "Level", None) == 2),
3904 (lambda _, val: val.tag == 2),
3905 ),
3906 ),
3907 (
3908 NDRFullPointerField(
3909 NDRPacketField(
3910 "ShareInfo", LPSHARE_INFO_502_I(), LPSHARE_INFO_502_I
3911 )
3912 ),
3913 (
3914 (lambda pkt: getattr(pkt, "Level", None) == 502),
3915 (lambda _, val: val.tag == 502),
3916 ),
3917 ),
3918 (
3919 NDRFullPointerField(
3920 NDRPacketField(
3921 "ShareInfo", LPSHARE_INFO_1004(), LPSHARE_INFO_1004
3922 )
3923 ),
3924 (
3925 (lambda pkt: getattr(pkt, "Level", None) == 1004),
3926 (lambda _, val: val.tag == 1004),
3927 ),
3928 ),
3929 (
3930 NDRFullPointerField(
3931 NDRPacketField(
3932 "ShareInfo", LPSHARE_INFO_1006(), LPSHARE_INFO_1006
3933 )
3934 ),
3935 (
3936 (lambda pkt: getattr(pkt, "Level", None) == 1006),
3937 (lambda _, val: val.tag == 1006),
3938 ),
3939 ),
3940 (
3941 NDRFullPointerField(
3942 NDRPacketField(
3943 "ShareInfo", LPSHARE_INFO_1501_I(), LPSHARE_INFO_1501_I
3944 )
3945 ),
3946 (
3947 (lambda pkt: getattr(pkt, "Level", None) == 1501),
3948 (lambda _, val: val.tag == 1501),
3949 ),
3950 ),
3951 (
3952 NDRFullPointerField(
3953 NDRPacketField(
3954 "ShareInfo", LPSHARE_INFO_1005(), LPSHARE_INFO_1005
3955 )
3956 ),
3957 (
3958 (lambda pkt: getattr(pkt, "Level", None) == 1005),
3959 (lambda _, val: val.tag == 1005),
3960 ),
3961 ),
3962 (
3963 NDRFullPointerField(
3964 NDRPacketField(
3965 "ShareInfo", LPSHARE_INFO_501(), LPSHARE_INFO_501
3966 )
3967 ),
3968 (
3969 (lambda pkt: getattr(pkt, "Level", None) == 501),
3970 (lambda _, val: val.tag == 501),
3971 ),
3972 ),
3973 (
3974 NDRFullPointerField(
3975 NDRPacketField(
3976 "ShareInfo", LPSHARE_INFO_503_I(), LPSHARE_INFO_503_I
3977 )
3978 ),
3979 (
3980 (lambda pkt: getattr(pkt, "Level", None) == 503),
3981 (lambda _, val: val.tag == 503),
3982 ),
3983 ),
3984 ],
3985 StrFixedLenField("ShareInfo", "", length=0),
3986 align=(4, 8),
3987 switch_fmt=("L", "L"),
3988 ),
3989 ]
3990
3991
3992class NetrShareDelEx_Response(NDRPacket):
3993 fields_desc = [NDRIntField("status", 0)]
3994
3995
3996SRVSVC_OPNUMS = { # 0: Opnum0NotUsedOnWire,
3997 # 1: Opnum1NotUsedOnWire,
3998 # 2: Opnum2NotUsedOnWire,
3999 # 3: Opnum3NotUsedOnWire,
4000 # 4: Opnum4NotUsedOnWire,
4001 # 5: Opnum5NotUsedOnWire,
4002 # 6: Opnum6NotUsedOnWire,
4003 # 7: Opnum7NotUsedOnWire,
4004 8: DceRpcOp(NetrConnectionEnum_Request, NetrConnectionEnum_Response),
4005 9: DceRpcOp(NetrFileEnum_Request, NetrFileEnum_Response),
4006 10: DceRpcOp(NetrFileGetInfo_Request, NetrFileGetInfo_Response),
4007 11: DceRpcOp(NetrFileClose_Request, NetrFileClose_Response),
4008 12: DceRpcOp(NetrSessionEnum_Request, NetrSessionEnum_Response),
4009 13: DceRpcOp(NetrSessionDel_Request, NetrSessionDel_Response),
4010 14: DceRpcOp(NetrShareAdd_Request, NetrShareAdd_Response),
4011 15: DceRpcOp(NetrShareEnum_Request, NetrShareEnum_Response),
4012 16: DceRpcOp(NetrShareGetInfo_Request, NetrShareGetInfo_Response),
4013 17: DceRpcOp(NetrShareSetInfo_Request, NetrShareSetInfo_Response),
4014 18: DceRpcOp(NetrShareDel_Request, NetrShareDel_Response),
4015 19: DceRpcOp(NetrShareDelSticky_Request, NetrShareDelSticky_Response),
4016 20: DceRpcOp(NetrShareCheck_Request, NetrShareCheck_Response),
4017 21: DceRpcOp(NetrServerGetInfo_Request, NetrServerGetInfo_Response),
4018 22: DceRpcOp(NetrServerSetInfo_Request, NetrServerSetInfo_Response),
4019 23: DceRpcOp(NetrServerDiskEnum_Request, NetrServerDiskEnum_Response),
4020 24: DceRpcOp(NetrServerStatisticsGet_Request, NetrServerStatisticsGet_Response),
4021 25: DceRpcOp(NetrServerTransportAdd_Request, NetrServerTransportAdd_Response),
4022 26: DceRpcOp(NetrServerTransportEnum_Request, NetrServerTransportEnum_Response),
4023 27: DceRpcOp(NetrServerTransportDel_Request, NetrServerTransportDel_Response),
4024 28: DceRpcOp(NetrRemoteTOD_Request, NetrRemoteTOD_Response),
4025 # 29: Opnum29NotUsedOnWire,
4026 30: DceRpcOp(NetprPathType_Request, NetprPathType_Response),
4027 31: DceRpcOp(NetprPathCanonicalize_Request, NetprPathCanonicalize_Response),
4028 32: DceRpcOp(NetprPathCompare_Request, NetprPathCompare_Response),
4029 33: DceRpcOp(NetprNameValidate_Request, NetprNameValidate_Response),
4030 34: DceRpcOp(NetprNameCanonicalize_Request, NetprNameCanonicalize_Response),
4031 35: DceRpcOp(NetprNameCompare_Request, NetprNameCompare_Response),
4032 36: DceRpcOp(NetrShareEnumSticky_Request, NetrShareEnumSticky_Response),
4033 37: DceRpcOp(NetrShareDelStart_Request, NetrShareDelStart_Response),
4034 38: DceRpcOp(NetrShareDelCommit_Request, NetrShareDelCommit_Response),
4035 39: DceRpcOp(NetrpGetFileSecurity_Request, NetrpGetFileSecurity_Response),
4036 40: DceRpcOp(NetrpSetFileSecurity_Request, NetrpSetFileSecurity_Response),
4037 41: DceRpcOp(NetrServerTransportAddEx_Request, NetrServerTransportAddEx_Response),
4038 # 42: Opnum42NotUsedOnWire,
4039 43: DceRpcOp(NetrDfsGetVersion_Request, NetrDfsGetVersion_Response),
4040 44: DceRpcOp(
4041 NetrDfsCreateLocalPartition_Request, NetrDfsCreateLocalPartition_Response
4042 ),
4043 45: DceRpcOp(
4044 NetrDfsDeleteLocalPartition_Request, NetrDfsDeleteLocalPartition_Response
4045 ),
4046 46: DceRpcOp(
4047 NetrDfsSetLocalVolumeState_Request, NetrDfsSetLocalVolumeState_Response
4048 ),
4049 # 47: Opnum47NotUsedOnWire,
4050 48: DceRpcOp(NetrDfsCreateExitPoint_Request, NetrDfsCreateExitPoint_Response),
4051 49: DceRpcOp(NetrDfsDeleteExitPoint_Request, NetrDfsDeleteExitPoint_Response),
4052 50: DceRpcOp(NetrDfsModifyPrefix_Request, NetrDfsModifyPrefix_Response),
4053 51: DceRpcOp(NetrDfsFixLocalVolume_Request, NetrDfsFixLocalVolume_Response),
4054 52: DceRpcOp(
4055 NetrDfsManagerReportSiteInfo_Request, NetrDfsManagerReportSiteInfo_Response
4056 ),
4057 53: DceRpcOp(NetrServerTransportDelEx_Request, NetrServerTransportDelEx_Response),
4058 54: DceRpcOp(NetrServerAliasAdd_Request, NetrServerAliasAdd_Response),
4059 55: DceRpcOp(NetrServerAliasEnum_Request, NetrServerAliasEnum_Response),
4060 56: DceRpcOp(NetrServerAliasDel_Request, NetrServerAliasDel_Response),
4061 57: DceRpcOp(NetrShareDelEx_Request, NetrShareDelEx_Response),
4062}
4063register_dcerpc_interface(
4064 name="srvsvc",
4065 uuid=uuid.UUID("4B324FC8-1670-01D3-1278-5A47BF6EE188"),
4066 version="3.0",
4067 opnums=SRVSVC_OPNUMS,
4068)