1 | #include "idl_types.h"
|
---|
2 |
|
---|
3 | /*
|
---|
4 | miscellaneous IDL structures
|
---|
5 | */
|
---|
6 |
|
---|
7 |
|
---|
8 | [
|
---|
9 | pyhelper("librpc/ndr/py_misc.c"),
|
---|
10 | pointer_default(unique)
|
---|
11 | ]
|
---|
12 | interface misc
|
---|
13 | {
|
---|
14 | typedef [public,noprint,gensize] struct {
|
---|
15 | uint32 time_low;
|
---|
16 | uint16 time_mid;
|
---|
17 | uint16 time_hi_and_version;
|
---|
18 | uint8 clock_seq[2];
|
---|
19 | uint8 node[6];
|
---|
20 | } GUID;
|
---|
21 |
|
---|
22 | typedef [public] struct {
|
---|
23 | GUID uuid;
|
---|
24 | /* The major version is encoded in the 16 least significant bits,
|
---|
25 | the minor in the 16 most significant bits.
|
---|
26 | http://www.opengroup.org/onlinepubs/9629399/chap12.htm */
|
---|
27 | uint32 if_version;
|
---|
28 | } ndr_syntax_id;
|
---|
29 |
|
---|
30 | typedef [public] struct {
|
---|
31 | uint32 handle_type;
|
---|
32 | GUID uuid;
|
---|
33 | } policy_handle;
|
---|
34 |
|
---|
35 | /* secure channel types */
|
---|
36 | /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
|
---|
37 |
|
---|
38 | typedef [public] enum {
|
---|
39 | SEC_CHAN_NULL = 0,
|
---|
40 | SEC_CHAN_LOCAL = 1,
|
---|
41 | SEC_CHAN_WKSTA = 2,
|
---|
42 | SEC_CHAN_DNS_DOMAIN = 3,
|
---|
43 | SEC_CHAN_DOMAIN = 4,
|
---|
44 | SEC_CHAN_LANMAN = 5,
|
---|
45 | SEC_CHAN_BDC = 6,
|
---|
46 | SEC_CHAN_RODC = 7
|
---|
47 | } netr_SchannelType;
|
---|
48 |
|
---|
49 | typedef [public] struct {
|
---|
50 | NTSTATUS ntstatus;
|
---|
51 | uint32 unknown1;
|
---|
52 | uint32 unknown2; /* 0x00000001 */
|
---|
53 | } KRB5_EDATA_NTSTATUS;
|
---|
54 |
|
---|
55 | typedef [public,v1_enum] enum {
|
---|
56 | REG_NONE = 0,
|
---|
57 | REG_SZ = 1,
|
---|
58 | REG_EXPAND_SZ = 2,
|
---|
59 | REG_BINARY = 3,
|
---|
60 | REG_DWORD = 4,
|
---|
61 | REG_DWORD_BIG_ENDIAN = 5,
|
---|
62 | REG_LINK = 6,
|
---|
63 | REG_MULTI_SZ = 7,
|
---|
64 | REG_RESOURCE_LIST = 8,
|
---|
65 | REG_FULL_RESOURCE_DESCRIPTOR = 9,
|
---|
66 | REG_RESOURCE_REQUIREMENTS_LIST = 10,
|
---|
67 | REG_QWORD = 11
|
---|
68 | } winreg_Type;
|
---|
69 |
|
---|
70 | typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN)] union {
|
---|
71 | [case(REG_NONE)];
|
---|
72 | [case(REG_SZ)] nstring string;
|
---|
73 | [case(REG_EXPAND_SZ)] nstring string;
|
---|
74 | [case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
|
---|
75 | [case(REG_DWORD)] uint32 value;
|
---|
76 | [case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
|
---|
77 | [case(REG_MULTI_SZ)] nstring_array string_array;
|
---|
78 | [default,flag(NDR_REMAINING)] DATA_BLOB data;
|
---|
79 | } winreg_Data;
|
---|
80 |
|
---|
81 | /* SAM database types */
|
---|
82 | typedef [public,v1_enum] enum {
|
---|
83 | SAM_DATABASE_DOMAIN = 0, /* Domain users and groups */
|
---|
84 | SAM_DATABASE_BUILTIN = 1, /* BUILTIN users and groups */
|
---|
85 | SAM_DATABASE_PRIVS = 2 /* Privileges */
|
---|
86 | } netr_SamDatabaseID;
|
---|
87 |
|
---|
88 | typedef [public,bitmap32bit] bitmap {
|
---|
89 | SV_TYPE_WORKSTATION = 0x00000001,
|
---|
90 | SV_TYPE_SERVER = 0x00000002,
|
---|
91 | SV_TYPE_SQLSERVER = 0x00000004,
|
---|
92 | SV_TYPE_DOMAIN_CTRL = 0x00000008,
|
---|
93 | SV_TYPE_DOMAIN_BAKCTRL = 0x00000010,
|
---|
94 | SV_TYPE_TIME_SOURCE = 0x00000020,
|
---|
95 | SV_TYPE_AFP = 0x00000040,
|
---|
96 | SV_TYPE_NOVELL = 0x00000080,
|
---|
97 |
|
---|
98 | SV_TYPE_DOMAIN_MEMBER = 0x00000100,
|
---|
99 | SV_TYPE_PRINTQ_SERVER = 0x00000200,
|
---|
100 | SV_TYPE_DIALIN_SERVER = 0x00000400,
|
---|
101 | SV_TYPE_SERVER_UNIX = 0x00000800,
|
---|
102 | SV_TYPE_NT = 0x00001000,
|
---|
103 | SV_TYPE_WFW = 0x00002000,
|
---|
104 | SV_TYPE_SERVER_MFPN = 0x00004000,
|
---|
105 | SV_TYPE_SERVER_NT = 0x00008000,
|
---|
106 | SV_TYPE_POTENTIAL_BROWSER = 0x00010000,
|
---|
107 | SV_TYPE_BACKUP_BROWSER = 0x00020000,
|
---|
108 | SV_TYPE_MASTER_BROWSER = 0x00040000,
|
---|
109 | SV_TYPE_DOMAIN_MASTER = 0x00080000,
|
---|
110 | SV_TYPE_SERVER_OSF = 0x00100000,
|
---|
111 | SV_TYPE_SERVER_VMS = 0x00200000,
|
---|
112 | SV_TYPE_WIN95_PLUS = 0x00400000,
|
---|
113 | SV_TYPE_DFS_SERVER = 0x00800000,
|
---|
114 | SV_TYPE_ALTERNATE_XPORT = 0x20000000,
|
---|
115 | SV_TYPE_LOCAL_LIST_ONLY = 0x40000000,
|
---|
116 | SV_TYPE_DOMAIN_ENUM = 0x80000000
|
---|
117 | } svcctl_ServerType;
|
---|
118 |
|
---|
119 | const uint32 SV_TYPE_ALL = 0xFFFFFFFF;
|
---|
120 | }
|
---|