summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
Diffstat (limited to 'librpc')
-rw-r--r--librpc/idl/dnsp.idl45
-rw-r--r--librpc/idl/wscript_build2
2 files changed, 46 insertions, 1 deletions
diff --git a/librpc/idl/dnsp.idl b/librpc/idl/dnsp.idl
new file mode 100644
index 0000000000..23b1bef813
--- /dev/null
+++ b/librpc/idl/dnsp.idl
@@ -0,0 +1,45 @@
+#include "idl_types.h"
+
+/*
+ IDL structures for DNSP structures
+
+ See [MS-DNSP].pdf in MCPP for details
+*/
+
+import "misc.idl";
+
+/*
+ note that this is not a real RPC interface. We are just using PIDL
+ to save us a lot of tedious hand parsing of the dnsRecord
+ attribute. The uuid is randomly generated.
+ */
+[
+ uuid("bdd66e9e-d45f-4202-85c0-6132edc4f30a"),
+ version(0.0),
+ pointer_default(unique),
+ helpstring("DNSP interfaces")
+]
+
+interface dnsp
+{
+ /* this is the format for the dnsRecord attribute in the DNS
+ partitions in AD */
+ typedef [public] struct {
+ uint16 wDataLength;
+ uint16 wType;
+ uint32 dwFlags;
+ uint32 dwSerial;
+ uint32 dwTtlSeconds;
+ uint32 dwTimeStamp;
+ uint32 dwReserved;
+ [flag(NDR_BIG_ENDIAN)] ipv4address ip;
+ } dnsp_DnssrvRpcRecord;
+
+
+ /*
+ this is a convenience hook for ndrdump
+ */
+ void decode_DnssrvRpcRecord(
+ [in] dnsp_DnssrvRpcRecord blob
+ );
+}
diff --git a/librpc/idl/wscript_build b/librpc/idl/wscript_build
index c5be1b7447..89bd83e955 100644
--- a/librpc/idl/wscript_build
+++ b/librpc/idl/wscript_build
@@ -20,6 +20,6 @@ bld.SAMBA_PIDL_LIST('PIDL',
output_dir='../gen_ndr')
bld.SAMBA_PIDL_LIST('PIDL',
- 'rap.idl idmap.idl',
+ 'rap.idl idmap.idl dnsp.idl',
options='--header --ndr-parser',
output_dir='../gen_ndr')