5 [ uuid(
"50abc2a4-574d-40b3-9d66-ee4fd5fba076"),
7 pointer_default(unique),
8 helpstring(
"DNS Server")
12 typedef [v1_enum]
enum {
13 DNS_CLIENT_VERSION_W2K = 0x00000000,
14 DNS_CLIENT_VERSION_DOTNET = 0x00000006,
15 DNS_CLIENT_VERSION_LONGHORN = 0x00000007
16 } DNS_RPC_CLIENT_VERSION;
18 typedef [flag(NDR_ALIGN4)]
struct {
21 uint16 ServicePackVersion;
24 typedef [enum8bit]
enum {
25 DNS_RPC_BOOT_METHOD_FILE = 0x01,
26 DNS_RPC_BOOT_METHOD_REGISTRY = 0x02,
27 DNS_RPC_BOOT_METHOD_DIRECTORY = 0x03
28 } DNS_RPC_BOOT_METHOD;
31 const uint32 DNS_LOG_LEVEL_ALL_PACKETS = 0x0000ffff;
32 const uint32 DNS_LOG_LEVEL_NON_QUERY = 0x000000fe;
33 typedef [bitmap32bit] bitmap {
34 DNS_LOG_LEVEL_QUERY = 0x00000001,
35 DNS_LOG_LEVEL_NOTIFY = 0x00000010,
36 DNS_LOG_LEVEL_UPDATE = 0x00000020,
37 DNS_LOG_LEVEL_QUESTIONS = 0x00000100,
38 DNS_LOG_LEVEL_ANSWERS = 0x00000200,
39 DNS_LOG_LEVEL_SEND = 0x00001000,
40 DNS_LOG_LEVEL_RECV = 0x00002000,
41 DNS_LOG_LEVEL_UDP = 0x00004000,
42 DNS_LOG_LEVEL_TCP = 0x00008000,
43 DNS_LOG_LEVEL_FULL_PACKETS = 0x01000000,
44 DNS_LOG_LEVEL_WRITE_THROUGH = 0x80000000
47 const uint32 DNS_RPC_USE_ALL_PROTOCOLS = 0xffffffff;
48 typedef [bitmap32bit] bitmap {
49 DNS_RPC_USE_TCPIP = 0x00000001,
50 DNS_RPC_USE_NAMED_PIPE = 0x00000002,
51 DNS_RPC_USE_LPC = 0x00000004
54 typedef [v1_enum]
enum {
55 DNS_ALLOW_RFC_NAMES_ONLY = 0x00000000,
56 DNS_ALLOW_NONRFC_NAMES = 0x00000001,
57 DNS_ALLOW_MULTIBYTE_NAMES = 0x00000002,
58 DNS_ALLOW_ALL_NAMES = 0x00000003
59 } DNS_NAME_CHECK_FLAGS;
61 typedef [enum16bit]
enum {
62 DNS_TYPE_ZERO = 0x0000,
67 DNS_TYPE_CNAME = 0x0005,
68 DNS_TYPE_SOA = 0x0006,
72 DNS_TYPE_NULL = 0x000a,
73 DNS_TYPE_WKS = 0x000b,
74 DNS_TYPE_PTR = 0x000c,
75 DNS_TYPE_HINFO = 0x000d,
76 DNS_TYPE_MINFO = 0x000e,
78 DNS_TYPE_TXT = 0x0010,
80 DNS_TYPE_AFSDB = 0x0012,
81 DNS_TYPE_X25 = 0x0013,
82 DNS_TYPE_ISDN = 0x0014,
84 DNS_TYPE_NSAP = 0x0016,
85 DNS_TYPE_NSAPPTR = 0x0017,
86 DNS_TYPE_SIG = 0x0018,
87 DNS_TYPE_KEY = 0x0019,
89 DNS_TYPE_GPOS = 0x001b,
90 DNS_TYPE_AAAA = 0x001c,
91 DNS_TYPE_LOC = 0x001d,
92 DNS_TYPE_NXT = 0x001e,
93 DNS_TYPE_SRV = 0x0021,
94 DNS_TYPE_ATMA = 0x0022,
95 DNS_TYPE_NAPTR = 0x0023,
96 DNS_TYPE_DNAME = 0x0024,
97 DNS_TYPE_ALL = 0x00ff,
98 DNS_TYPE_WINS = 0xff01,
99 DNS_TYPE_WINSR = 0xff02
102 typedef [bitmap32bit] bitmap {
103 DNS_RPC_VIEW_AUTHORITY_DATA = 0x00000001,
104 DNS_RPC_VIEW_CACHE_DATA = 0x00000002,
105 DNS_RPC_VIEW_GLUE_DATA = 0x00000004,
106 DNS_RPC_VIEW_ROOT_HINT_DATA = 0x00000008,
107 DNS_RPC_VIEW_ADDITIONAL_DATA = 0x00000010,
108 DNS_RPC_VIEW_NO_CHILDREN = 0x00010000,
109 DNS_RPC_VIEW_ONLY_CHILDREN = 0x00020000
112 typedef [bitmap32bit] bitmap {
113 DNS_RPC_FLAG_CACHE_DATA = 0x80000000,
114 DNS_RPC_FLAG_ZONE_ROOT = 0x40000000,
115 DNS_RPC_FLAG_AUTH_ZONE_ROOT = 0x20000000,
116 DNS_RPC_FLAG_ZONE_DELEGATION = 0x10000000,
117 DNS_RPC_FLAG_RECOR_DEFAULT_TTL = 0x08000000,
118 DNS_RPC_FLAG_RECORD_TTL_CHANGE = 0x04000000,
119 DNS_RPC_FLAG_RECORD_CREATE_PTR = 0x02000000,
120 DNS_RPC_FLAG_NODE_STICKY = 0x01000000,
121 DNS_RPC_FLAG_NODE_COMPLETE = 0x00800000,
122 DNS_RPC_FLAG_OPEN_ACL = 0x00040000,
123 DNS_RPC_FLAG_AGING_ON = 0x00020000,
124 DNS_RPC_FLAG_SUPPRESS_NOTIFY = 0x00010000
125 } DNS_RPC_NODE_FLAGS;
130 uint8 Name[NameLength];
144 DNS_RECORD_TYPE Type;
156 DNS_RPC_NODE_FLAGS Flags;
166 [size_is(AddrCount)] uint32 AddrArray[];
171 uint32 RpcStructureVersion;
174 DNS_RPC_BOOT_METHOD BootMethod;
175 boolean8 AdminConfigured;
176 boolean8 AllowUpdate;
177 boolean8 DsAvailable;
178 [unique, string] uint8 *ServerName;
179 [unique, string, charset(UTF16)] uint16 *DsContainer;
184 [unique, string, charset(UTF16)] uint16 *LogFilePath;
185 [unique, string] uint8 *DomainName;
186 [unique, string] uint8 *ForestName;
187 [unique, string] uint8 *DomainDirectoryPartition;
188 [unique, string] uint8 *ForestDirectoryPartition;
189 [unique, string] uint8 *extension0;
190 [unique, string] uint8 *extension1;
191 [unique, string] uint8 *extension2;
192 [unique, string] uint8 *extension3;
193 [unique, string] uint8 *extension4;
194 [unique, string] uint8 *extension5;
195 DNS_LOG_LEVELS LogLevel;
197 uint32 ForwardTimeout;
198 DNS_RPC_PROTOCOLS RpcProtocol;
199 DNS_NAME_CHECK_FLAGS NameCheckFlag;
200 uint32 AddressAnswerLimit;
201 uint32 RecursionRetry;
202 uint32 RecursionTimeout;
204 uint32 DsPollingInterval;
205 uint32 LocalNetPriorityNetmask;
206 uint32 ScavengingInterval;
207 uint32 DefaultRefreshInterval;
208 uint32 DefaultNoRefreshInterval;
209 uint32 LastScavengeTime;
210 uint32 EventLogLevel;
211 uint32 LogFileMaxSize;
212 uint32 DsForestVersion;
213 uint32 DsDomainVersion;
215 uint32 reserve_array[4];
216 boolean8 AutoReverseZones;
217 boolean8 AutoCacheUpdate;
218 boolean8 RecurseAfterForwarding;
219 boolean8 ForwardDelegations;
220 boolean8 NoRecursion;
221 boolean8 SecureResponses;
223 boolean8 LocalNetPriority;
224 boolean8 BindSecondaries;
225 boolean8 WriteAuthorityNs;
226 boolean8 StrictFileParsing;
227 boolean8 LooseWildcarding;
228 boolean8 DefaultAgingState;
229 boolean8 reserve_array2[15];
233 typedef [v1_enum, flag(NDR_PAHEX)]
enum {
234 DNSSRV_TYPEID_NULL = 0,
235 DNSSRV_TYPEID_DWORD = 1,
236 DNSSRV_TYPEID_LPSTR = 2,
237 DNSSRV_TYPEID_LPWSTR = 3,
238 DNSSRV_TYPEID_IPARRAY = 4,
239 DNSSRV_TYPEID_BUFFER = 5,
240 DNSSRV_TYPEID_SERVER_INFO_W2K = 6,
241 DNSSRV_TYPEID_STATS = 7,
242 DNSSRV_TYPEID_FORWARDERS_W2K = 8,
243 DNSSRV_TYPEID_ZONE_W2K = 9,
244 DNSSRV_TYPEID_ZONE_INFO_W2K = 10,
245 DNSSRV_TYPEID_ZONE_SECONDARIES_W2K = 11,
246 DNSSRV_TYPEID_ZONE_DATABASE_W2K = 12,
247 DNSSRV_TYPEID_ZONE_TYPE_RESET_W2K = 13,
248 DNSSRV_TYPEID_ZONE_CREATE_W2K = 14,
249 DNSSRV_TYPEID_NAME_AND_PARAM = 15,
250 DNSSRV_TYPEID_ZONE_LIST_W2K = 16,
251 DNSSRV_TYPEID_ZONE_RENAME = 17,
252 DNSSRV_TYPEID_ZONE_EXPORT = 18,
253 DNSSRV_TYPEID_SERVER_INFO_DOTNET = 19,
254 DNSSRV_TYPEID_FORWARDERS_DOTNET = 20,
255 DNSSRV_TYPEID_ZONE = 21,
256 DNSSRV_TYPEID_ZONE_INFO_DOTNET = 22,
257 DNSSRV_TYPEID_ZONE_SECONDARIES_DOTNET = 23,
258 DNSSRV_TYPEID_ZONE_DATABASE = 24,
259 DNSSRV_TYPEID_ZONE_TYPE_RESET_DOTNET = 25,
260 DNSSRV_TYPEID_ZONE_CREATE_DOTNET = 26,
261 DNSSRV_TYPEID_ZONE_LIST = 27,
262 DNSSRV_TYPEID_DP_ENUM = 28,
263 DNSSRV_TYPEID_DP_INFO = 29,
264 DNSSRV_TYPEID_DP_LIST = 30,
265 DNSSRV_TYPEID_ENLIST_DP = 31,
266 DNSSRV_TYPEID_ZONE_CHANGE_DP = 32,
267 DNSSRV_TYPEID_ENUM_ZONES_FILTER = 33,
268 DNSSRV_TYPEID_ADDARRAY = 34,
269 DNSSRV_TYPEID_SERVER_INFO = 35,
270 DNSSRV_TYPEID_ZONE_INFO = 36,
271 DNSSRV_TYPEID_FORWARDERS = 37,
272 DNSSRV_TYPEID_ZONE_SECONDARIES = 38,
273 DNSSRV_TYPEID_ZONE_TYPE_RESET = 39,
274 DNSSRV_TYPEID_ZONE_CREATE = 40,
275 DNSSRV_TYPEID_IP_VALIDATE = 41,
276 DNSSRV_TYPEID_AUTOCONFIGURE = 42,
277 DNSSRV_TYPEID_UTF8_STRING_LIST = 43,
278 DNSSRV_TYPEID_UNICODE_STRING_LIST = 44
282 [
case(DNSSRV_TYPEID_NULL)] uint8 *null;
283 [
case(DNSSRV_TYPEID_DWORD)] uint32 dword;
332 NTSTATUS DnssrvOperation (
337 NTSTATUS DnssrvQuery (
342 NTSTATUS DnssrvComplexOperation (
347 NTSTATUS DnssrvEnumRecords (
352 NTSTATUS DnssrvUpdateRecord (
357 NTSTATUS DnssrvOperation2 (
362 NTSTATUS DnssrvQuery2 (
363 [in] DNS_RPC_CLIENT_VERSION client_version,
364 [in] uint32 setting_flags,
365 [in, unique,
string, charset(UTF16)] uint16 *server_name,
366 [in, unique,
string] uint8 *zone,
367 [in, unique,
string] uint8 *operation,
368 [out, ref] DnssrvRpcTypeId *type_id,
374 NTSTATUS DnssrvComplexOperation2 (
383 NTSTATUS DnssrvEnumRecords2 (
384 [in] DNS_RPC_CLIENT_VERSION client_version,
385 [in] uint32 setting_flags,
386 [in, unique,
string, charset(UTF16)] uint16 *server_name,
387 [in, unique,
string] uint8 *zone,
388 [in, unique,
string] uint8 *node_name,
389 [in, unique,
string] uint8 *start_child,
390 [in] DNS_RECORD_TYPE record_type,
391 [in] DNS_SELECT_FLAGS select_flag,
392 [in, unique,
string] uint8 *filter_start,
393 [in, unique,
string] uint8 *filter_stop,
394 [out,ref] uint32 *buffer_length,
395 [out, unique, subcontext(4)]
DNS_RPC_NODE *record_buffer
400 NTSTATUS DnssrvUpdateRecord2 (
Definition: dnsserver.idl:133
Definition: dnsserver.idl:281
Definition: dnsserver.idl:9
Definition: dnsserver.idl:164
Definition: dnsserver.idl:170
Definition: dnsserver.idl:142
Definition: dnsserver.idl:377
Definition: dnsserver.idl:153
Definition: dnsserver.idl:138
Definition: dnsserver.idl:128
Definition: packet-giop.h:26