Merge branch 'v4-0-trivial' into v4-0-python
[jelmer/samba4-debian.git] / source / librpc / idl / misc.idl
index d974b5465cb91225f438980dfd9bdf550a4e4796..8331977398dfe1285992f765ad93512b52e99a58 100644 (file)
@@ -1,69 +1,58 @@
-#include "idl_types.h"
-
 /*
   miscellaneous IDL structures
 */
 
-[] 
+
+[
+       pointer_default(unique)
+]
 interface misc
 {
-
-       /* 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 */
-               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,noprint,gensize,noejs] struct {
+               uint32 time_low;
+               uint16 time_mid;
+               uint16 time_hi_and_version;
+               uint8  clock_seq[2];
+               uint8  node[6];
+       } GUID;
 
        typedef [public] struct {
-               uint16 revision;
-               uint32 num_aces;
-               security_ace aces[num_aces];
-       } security_acl;
-
+               GUID uuid;
+               uint32 if_version;
+       } ndr_syntax_id;
 
        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;
-
-       typedef [public, flag(NDR_PAHEX)] struct {
-               uint8 data[20];
+               uint32 handle_type;
+               GUID   uuid;
        } policy_handle;
 
-
-       /* a 4 byte aligned 64-bit integer */
-       typedef [public] struct {
-               uint32 low;
-               uint32 high;
-       } ULONG8;
-
-       /* this is also used in samr and netlogon */
+       /* 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 {
-               uint32 units_per_week;
-               [size_is(1260), length_is(units_per_week/8)] uint8 *bitmap;
-       } samr_LogonHours;
+               hyper id;
+               uint32 id2;
+               uint32 node;
+       } server_id;
 }