r5672: Use switch_type() and the token storage mechanism for unions:
[samba.git] / source4 / librpc / idl / dssetup.idl
index 59d0c64eedd6757264369ca791a7ebdabb85b17d..098a14890497dfe685e6857f939840da9a8cca2a 100644 (file)
@@ -7,7 +7,7 @@
 [
        uuid("3919286a-b10c-11d0-9ba8-00c04fd92ef5"),
        version(0.0),
-       endpoint("ncacn_np:[\\pipe\\lsarpc]", "ncacn_np:[\\pipe\\lsass]", "ncalrpc:"),
+       endpoint("ncacn_np:[\\pipe\\lsarpc]", "ncacn_np:[\\pipe\\lsass]", "ncacn_ip_tcp:", "ncalrpc:"),
        pointer_default(unique),
        helpstring("Active Directory Setup")
 ] interface dssetup
@@ -24,7 +24,7 @@
                DS_ROLE_PRIMARY_DC             = 5
        } dssetup_DsRole;
 
-       typedef bitmap {
+       typedef [bitmap32bit] bitmap {
                DS_ROLE_PRIMARY_DS_RUNNING              = 0x00000001,
                DS_ROLE_PRIMARY_DS_MIXED_MODE           = 0x00000002,
                DS_ROLE_UPGRADE_IN_PROGRESS             = 0x00000004,
@@ -72,7 +72,7 @@
                DS_ROLE_OP_STATUS               = 3
        } dssetup_DsRoleInfoLevel;
 
-       typedef union {
+       typedef [switch_type(dssetup_DsRoleInfoLevel)] union {
                [case(DS_ROLE_BASIC_INFORMATION)] dssetup_DsRolePrimaryDomInfoBasic     basic;
                [case(DS_ROLE_UPGRADE_STATUS)]    dssetup_DsRoleUpgradeStatus           upgrade;
                [case(DS_ROLE_OP_STATUS)]         dssetup_DsRoleOpStatus                opstatus;