idl: dnsserver: Add DNS_RPC_RECORD_STRING data type for TXT DNS record
[garming/samba-autobuild/.git] / librpc / idl / dnsserver.idl
index 306414e9798fc5acee2279f1a52c92708ab75803..506d72ef7696062a07a6401f548c31f8c0f131f6 100644 (file)
@@ -71,7 +71,7 @@ import "misc.idl", "dnsp.idl";
        /* DNS_RECORD_TYPE is defined in dnsp.idl as dns_record_type */
        /* DNS_RPC_NODE_FLAGS is defined in dnsp.idl as dns_rpc_node_flags */
 
-       typedef [gensize] struct {
+       typedef [public,gensize] struct {
                [value(strlen(str))] uint8 len;
                [charset(UTF8)] uint8 str[len];
        }
@@ -103,6 +103,12 @@ import "misc.idl", "dnsp.idl";
        }
        DNS_RPC_RECORD_NAME_PREFERENCE;
 
+       typedef [gensize,nopull,nopush] struct {
+               uint8 count;
+               DNS_RPC_NAME str[count];
+       }
+       DNS_RPC_RECORD_STRING;
+
        typedef struct {
                uint16 wPriority;
                uint16 wWeight;
@@ -125,7 +131,7 @@ import "misc.idl", "dnsp.idl";
                [case(DNS_TYPE_PTR)]                            DNS_RPC_NAME ptr;
                [case(DNS_TYPE_HINFO)]                          DNS_RPC_NAME hinfo;
                [case(DNS_TYPE_MX)]                             DNS_RPC_RECORD_NAME_PREFERENCE mx;
-               [case(DNS_TYPE_TXT)]                            DNS_RPC_NAME name;
+               [case(DNS_TYPE_TXT)]                            DNS_RPC_RECORD_STRING txt;
                [case(DNS_TYPE_AAAA)]                           ipv6address ipv6;
                [case(DNS_TYPE_SRV)]                            DNS_RPC_RECORD_SRV srv;
                [case(DNS_TYPE_DNAME)]                          DNS_RPC_NAME name;
@@ -601,6 +607,13 @@ import "misc.idl", "dnsp.idl";
        DNS_RPC_DP_REPLICA;
 #define PDNS_RPC_DP_REPLICA DNS_RPC_DP_REPLICA*
 
+       typedef [v1_enum] enum {
+               DNS_DP_OKAY                = 0x00,
+               DNS_DP_STATE_REPL_INCOMING = 0x01,
+               DNS_DP_STATE_REPL_OUTGOING = 0x02,
+               DNS_DP_STATE_UNKNOWN       = 0x03
+       } DNS_DP_STATE;
+
        typedef struct {
                DWORD           dwRpcStructureVersion;
                DWORD           dwReserved0;
@@ -610,7 +623,7 @@ import "misc.idl", "dnsp.idl";
                [string, charset(UTF16)] wchar_t *       pszCrDn;
                DWORD           dwFlags;
                DWORD           dwZoneCount;
-               DWORD           dwState;
+               DNS_DP_STATE    dwState;
 
                DWORD           dwReserved[    3 ];
                DNS_EXTENSION   pwszReserved[ 3 ];
@@ -1101,7 +1114,7 @@ import "misc.idl", "dnsp.idl";
        DNS_RPC_ZONE_CREATE_INFO_LONGHORN;
 #define DNS_RPC_ZONE_CREATE_INFO DNS_RPC_ZONE_CREATE_INFO_LONGHORN
 
-       //   Zone export
+       /* Zone export */
        typedef struct {
                DWORD       dwRpcStructureVersion;
                DWORD       dwReserved0;