schannel.idl: Fix a typo
[samba.git] / librpc / idl / misc.idl
index 1182ef1fc245335df36de4f1fb2de234d18d8b1f..f3e6f27b8ae072db625b006dd0022d5ade0ecd7c 100644 (file)
@@ -1,17 +1,17 @@
+#include "idl_types.h"
+
 /*
   miscellaneous IDL structures
 */
 
-cpp_quote("#define netr_SamDatabaseID8Bit netr_SamDatabaseID")
 
 [
+       pyhelper("librpc/ndr/py_misc.c"),
        pointer_default(unique)
 ]
 interface misc
 {
-       typedef enum netr_SamDatabaseID8Bit netr_SamDatabaseID8Bit;
-
-       typedef [public,noprint,gensize,noejs] struct {
+       typedef [public,noprint,gensize] struct {
                uint32 time_low;
                uint16 time_mid;
                uint16 time_hi_and_version;
@@ -21,6 +21,9 @@ interface misc
 
        typedef [public] struct {
                GUID uuid;
+               /* The major version is encoded in the 16 least significant bits, 
+                  the minor in the 16 most significant bits.  
+                  http://www.opengroup.org/onlinepubs/9629399/chap12.htm */
                uint32 if_version;
        } ndr_syntax_id;
 
@@ -34,12 +37,47 @@ interface misc
 
        typedef [public] enum {
                SEC_CHAN_NULL        = 0,
+               SEC_CHAN_LOCAL       = 1,
                SEC_CHAN_WKSTA       = 2,
                SEC_CHAN_DNS_DOMAIN  = 3,
                SEC_CHAN_DOMAIN      = 4,
-               SEC_CHAN_BDC         = 6
+               SEC_CHAN_LANMAN      = 5,
+               SEC_CHAN_BDC         = 6,
+               SEC_CHAN_RODC        = 7
        } netr_SchannelType;
 
+       typedef [public] struct {
+               NTSTATUS ntstatus;
+               uint32 unknown1;
+               uint32 unknown2; /* 0x00000001 */
+       } KRB5_EDATA_NTSTATUS;
+
+       typedef [public,v1_enum] enum {
+               REG_NONE                       = 0,
+               REG_SZ                         = 1,
+               REG_EXPAND_SZ                  = 2,
+               REG_BINARY                     = 3,
+               REG_DWORD                      = 4,
+               REG_DWORD_BIG_ENDIAN           = 5,
+               REG_LINK                       = 6,
+               REG_MULTI_SZ                   = 7,
+               REG_RESOURCE_LIST              = 8,
+               REG_FULL_RESOURCE_DESCRIPTOR   = 9,
+               REG_RESOURCE_REQUIREMENTS_LIST = 10,
+               REG_QWORD                      = 11
+       } winreg_Type;
+
+       typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN)] union {
+               [case(REG_NONE)];
+               [case(REG_SZ)] nstring string;
+               [case(REG_EXPAND_SZ)] nstring string;
+               [case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
+               [case(REG_DWORD)] uint32 value;
+               [case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
+               [case(REG_MULTI_SZ)] nstring_array string_array;
+               [default,flag(NDR_REMAINING)] DATA_BLOB data;
+       } winreg_Data;
+
        /* SAM database types */
        typedef [public,v1_enum] enum {
                SAM_DATABASE_DOMAIN  = 0, /* Domain users and groups */
@@ -47,11 +85,36 @@ interface misc
                SAM_DATABASE_PRIVS   = 2 /* Privileges */
        } netr_SamDatabaseID;
 
-       typedef [public,v1_enum] enum {
-               SAMR_REJECT_OTHER      = 0,
-               SAMR_REJECT_TOO_SHORT  = 1,
-               SAMR_REJECT_IN_HISTORY = 2,
-               SAMR_REJECT_COMPLEXITY = 5
-       } samr_RejectReason;
+       typedef [public,bitmap32bit] bitmap {
+               SV_TYPE_WORKSTATION       = 0x00000001,
+               SV_TYPE_SERVER            = 0x00000002,
+               SV_TYPE_SQLSERVER         = 0x00000004,
+               SV_TYPE_DOMAIN_CTRL       = 0x00000008,
+               SV_TYPE_DOMAIN_BAKCTRL    = 0x00000010,
+               SV_TYPE_TIME_SOURCE       = 0x00000020,
+               SV_TYPE_AFP               = 0x00000040,
+               SV_TYPE_NOVELL            = 0x00000080,
+
+               SV_TYPE_DOMAIN_MEMBER     = 0x00000100,
+               SV_TYPE_PRINTQ_SERVER     = 0x00000200,
+               SV_TYPE_DIALIN_SERVER     = 0x00000400,
+               SV_TYPE_SERVER_UNIX       = 0x00000800,
+               SV_TYPE_NT                = 0x00001000,
+               SV_TYPE_WFW               = 0x00002000,
+               SV_TYPE_SERVER_MFPN       = 0x00004000,
+               SV_TYPE_SERVER_NT         = 0x00008000,
+               SV_TYPE_POTENTIAL_BROWSER = 0x00010000,
+               SV_TYPE_BACKUP_BROWSER    = 0x00020000,
+               SV_TYPE_MASTER_BROWSER    = 0x00040000,
+               SV_TYPE_DOMAIN_MASTER     = 0x00080000,
+               SV_TYPE_SERVER_OSF        = 0x00100000,
+               SV_TYPE_SERVER_VMS        = 0x00200000,
+               SV_TYPE_WIN95_PLUS        = 0x00400000,
+               SV_TYPE_DFS_SERVER        = 0x00800000,
+               SV_TYPE_ALTERNATE_XPORT   = 0x20000000,
+               SV_TYPE_LOCAL_LIST_ONLY   = 0x40000000,
+               SV_TYPE_DOMAIN_ENUM       = 0x80000000
+       } svcctl_ServerType;
 
+       const uint32 SV_TYPE_ALL        = 0xFFFFFFFF;
 }