Merge branch 'master' of ssh://git.samba.org/data/git/samba
[ira/wip.git] / source4 / librpc / idl / misc.idl
index fca8fe876e2d0b5d80b2fc8af7bed8edd23f5a86..791b86466ce7f1482f7d4701cda285d0c257a185 100644 (file)
@@ -1,14 +1,14 @@
-#include "idl_types.h"
-
 /*
   miscellaneous IDL structures
 */
 
-[] 
+
+[
+       pointer_default(unique)
+]
 interface misc
 {
-
-       typedef [public,noprint] struct {
+       typedef [public,noprint,gensize,noejs] struct {
                uint32 time_low;
                uint16 time_mid;
                uint16 time_hi_and_version;
@@ -16,64 +16,45 @@ 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;
-
-
        typedef [public] 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;
 
-       /* a 4 byte aligned 64-bit integer */
+       /* secure channel types */
+       /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
+
+       typedef [public] enum {
+               SEC_CHAN_NULL        = 0,
+               SEC_CHAN_WKSTA       = 2,
+               SEC_CHAN_DNS_DOMAIN  = 3,
+               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 {
-               uint32 low;
-               uint32 high;
-       } ULONG8;
-
-       /* this is also used in samr and netlogon */
-       typedef [public, flag(NDR_PAHEX)] struct {
-               uint16 units_per_week;
-               [size_is(1260), length_is(units_per_week/8)] uint8 *bitmap;
-       } samr_LogonHours;
+               hyper id;
+               uint32 id2;
+               uint32 node;
+       } server_id;
 }