ntdb: take advantage of direct access across expand.
[Samba/gbeck.git] / librpc / idl / misc.idl
blobf3e6f27b8ae072db625b006dd0022d5ade0ecd7c
1 #include "idl_types.h"
3 /*
4 miscellaneous IDL structures
5 */
9 pyhelper("librpc/ndr/py_misc.c"),
10 pointer_default(unique)
12 interface misc
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;
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;
30 typedef [public] struct {
31 uint32 handle_type;
32 GUID uuid;
33 } policy_handle;
35 /* secure channel types */
36 /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
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;
49 typedef [public] struct {
50 NTSTATUS ntstatus;
51 uint32 unknown1;
52 uint32 unknown2; /* 0x00000001 */
53 } KRB5_EDATA_NTSTATUS;
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;
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;
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;
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,
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;
119 const uint32 SV_TYPE_ALL = 0xFFFFFFFF;