netlogon-idl: add netr_ChangeLogObject union.
authorGünther Deschner <gd@samba.org>
Tue, 4 Nov 2008 10:34:35 +0000 (11:34 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 6 Nov 2008 17:49:55 +0000 (18:49 +0100)
Guenther

librpc/idl/netlogon.idl

index f59436bb272aa49eec7b7b30b6c00a18e1976a53..7b68a8b540328737aa9594c2f82d7528bc145bc8 100644 (file)
@@ -966,6 +966,12 @@ interface netlogon
                NETR_CHANGELOG_FIRST_PROMOTION_OBJ      = 0x0010
        } netr_ChangeLogFlags;
 
+       typedef [nodiscriminant] union {
+               [case(NETR_CHANGELOG_SID_INCLUDED)] dom_sid object_sid;
+               [case(NETR_CHANGELOG_NAME_INCLUDED)] nstring object_name;
+               [default];
+       } netr_ChangeLogObject;
+
        typedef [public] struct {
                uint32 serial_number1;
                uint32 serial_number2;
@@ -973,9 +979,7 @@ interface netlogon
                netr_ChangeLogFlags flags;
                uint8 db_index;
                uint8 delta_type;
-               [value(ndr_size_dom_sid0(&object_sid, ndr->flags))] uint32 sid_size;
-               [subcontext(0),subcontext_size(sid_size)] dom_sid0 object_sid;
-               [string,charset(UTF16)] uint16 *object_name;
+               [switch_is(flags & (NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] netr_ChangeLogObject object;
        } netr_ChangeLogEntry;
 
        NTSTATUS netr_DatabaseRedo(