Merge branch 'v4-0-trivial' into v4-0-python
[jelmer/samba4-debian.git] / source / librpc / idl / misc.idl
index dd31f0f54aa37b6fd9d6b264916eac9fbdde7ec3..8331977398dfe1285992f765ad93512b52e99a58 100644 (file)
@@ -1,52 +1,14 @@
-#include "idl_types.h"
-
 /*
   miscellaneous IDL structures
 */
 
+
+[
+       pointer_default(unique)
+]
 interface misc
 {
-       /* a NULL sid */
-       const string SID_NULL = "S-1-0-0";
-
-       /* the world domain */
-       const string SID_WORLD_DOMAIN = "S-1-1";
-       const string SID_WORLD        = "S-1-1-0";
-
-       /* SECURITY_CREATOR_SID_AUTHORITY */
-       const string SID_CREATOR_OWNER_DOMAIN = "S-1-3";
-       const string SID_CREATOR_OWNER        = "S-1-3-0";
-       const string SID_CREATOR_GROUP        = "S-1-3-1";
-
-       /* SECURITY_NT_AUTHORITY */
-       const string SID_NT_AUTHORITY        = "S-1-5";
-       const string SID_NETWORK             = "S-1-5-2";
-       const string SID_ANONYMOUS           = "S-1-5-7";
-       const string SID_AUTHENTICATED_USERS = "S-1-5-11";
-       const string SID_SYSTEM              = "S-1-5-18";
-
-       /* SECURITY_BUILTIN_DOMAIN_RID */
-       const string SID_BUILTIN                   = "S-1-5-32";
-       const string SID_BUILTIN_ADMINISTRATORS    = "S-1-5-32-544";
-       const string SID_BUILTIN_USERS             = "S-1-5-32-545";
-       const string SID_BUILTIN_GUESTS            = "S-1-5-32-546";
-       const string SID_BUILTIN_POWER_USERS       = "S-1-5-32-547";
-       const string SID_BUILTIN_ACCOUNT_OPERATORS = "S-1-5-32-548";
-       const string SID_BUILTIN_SERVER_OPERATORS  = "S-1-5-32-549";
-       const string SID_BUILTIN_PRINT_OPERATORS   = "S-1-5-32-550";
-       const string SID_BUILTIN_BACKUP_OPERATORS  = "S-1-5-32-551";
-       const string SID_BUILTIN_REPLICATOR        = "S-1-5-32-552";
-
-       /* server roles */
-       typedef enum {
-               ROLE_STANDALONE    = 0,
-               ROLE_DOMAIN_MEMBER = 1,
-               ROLE_DOMAIN_BDC    = 2,
-               ROLE_DOMAIN_PDC    = 3
-       } samr_Role;
-
-
-       typedef [public,noprint,gensize] struct {
+       typedef [public,noprint,gensize,noejs] struct {
                uint32 time_low;
                uint16 time_mid;
                uint16 time_hi_and_version;
@@ -54,86 +16,43 @@ interface misc
                uint8  node[6];
        } GUID;
 
-       /* a domain SID. Note that unlike Samba3 this contains a pointer,
-          so you can't copy them using assignment */
-       typedef [public,noprint] struct {
-               uint8  sid_rev_num;             /**< SID revision number */
-               uint8  num_auths;               /**< Number of sub-authorities */
-               uint8  id_auth[6];              /**< Identifier Authority */
-               uint32 sub_auths[num_auths];
-       } dom_sid;
-
        typedef [public] struct {
-               uint8 type;  /* xxxx_xxxx_ACE_TYPE - e.g allowed / denied etc */
-               uint8 flags; /* xxxx_INHERIT_xxxx - e.g OBJECT_INHERIT_ACE */
-               [value(ndr_size_security_ace(r))] uint16 size;
-               uint32 access_mask;
-
-#if 0
-               /* the 'obj' part is present when type is XXXX_TYPE_XXXX_OBJECT */
-               struct {
-                       uint32 flags;
-                       GUID object_guid;
-                       GUID inherit_guid;
-               } *obj;
-#endif
-
-               dom_sid trustee;
-       } security_ace;
-
-       typedef [public] struct {
-               uint16 revision;
-               [value(ndr_size_security_acl(r))] uint16 size;
-               uint32 num_aces;
-               security_ace aces[num_aces];
-       } security_acl;
-
-       /* default revision for new ACLs */
-       const int SD_REVISION                    = 1;
-
-       /* security_descriptor->type bits */
-       const int SEC_DESC_OWNER_DEFAULTED       = 0x0001;
-       const int SEC_DESC_GROUP_DEFAULTED       = 0x0002;
-       const int SEC_DESC_DACL_PRESENT          = 0x0004;
-       const int SEC_DESC_DACL_DEFAULTED        = 0x0008;
-       const int SEC_DESC_SACL_PRESENT          = 0x0010;
-       const int SEC_DESC_SACL_DEFAULTED        = 0x0020;
-       const int SEC_DESC_DACL_TRUSTED          = 0x0040;
-       const int SEC_DESC_SERVER_SECURITY       = 0x0080;
-       const int SEC_DESC_DACL_AUTO_INHERIT_REQ = 0x0100;
-       const int SEC_DESC_SACL_AUTO_INHERIT_REQ = 0x0200;
-       const int SEC_DESC_DACL_AUTO_INHERITED   = 0x0400;
-       const int SEC_DESC_SACL_AUTO_INHERITED   = 0x0800;
-       const int SEC_DESC_DACL_PROTECTED        = 0x1000;
-       const int SEC_DESC_SACL_PROTECTED        = 0x2000;
-       const int SEC_DESC_RM_CONTROL_VALID      = 0x4000;
-       const int SEC_DESC_SELF_RELATIVE         = 0x8000;
-
-       typedef [public,flag(NDR_LITTLE_ENDIAN)] struct {
-               uint8 revision;
-               uint16 type;     /* SEC_DESC_xxxx flags */
-               [relative] dom_sid *owner_sid; 
-               [relative] dom_sid *group_sid;
-               [relative] security_acl *sacl; /* system ACL */
-               [relative] security_acl *dacl; /* user (discretionary) ACL */
-       } security_descriptor;
+               GUID uuid;
+               uint32 if_version;
+       } ndr_syntax_id;
 
        typedef [public] struct {
                uint32 handle_type;
                GUID   uuid;
        } policy_handle;
 
-       typedef [public, flag(NDR_PAHEX)] struct {
-               uint8 hash[16];
-       } samr_Password;
-
-       typedef [public, flag(NDR_PAHEX)] struct {
-               uint8 data[8];
-       } netr_Credential;
-
+       /* secure channel types */
+       /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
+
+       typedef [public] enum {
+               SEC_CHAN_WKSTA   = 2,
+               SEC_CHAN_DOMAIN  = 4,
+               SEC_CHAN_BDC     = 6
+       } netr_SchannelType;
+
+       /* SAM database types */
+       typedef [public,v1_enum] enum {
+               SAM_DATABASE_DOMAIN  = 0, /* Domain users and groups */
+               SAM_DATABASE_BUILTIN = 1, /* BUILTIN users and groups */
+               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;
+
+       /* id used to identify a endpoint, possibly in a cluster */
        typedef [public] struct {
-               netr_Credential cred;
-               time_t timestamp;
-       } netr_Authenticator;
-
+               hyper id;
+               uint32 id2;
+               uint32 node;
+       } server_id;
 }