From 2883bc94c76bc54187bb9bd0db1a36dd482a0aea Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 5 Aug 2010 15:20:13 +1000 Subject: dns: first version of dsnRecord parser --- librpc/idl/dnsp.idl | 45 +++++++++++++++++++++++++++++++++++++++++++++ librpc/idl/wscript_build | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 librpc/idl/dnsp.idl (limited to 'librpc') 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') -- cgit