-#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;
}