cleaned up the lsa_enum_acct_rights function and added a
[garming/samba-autobuild/.git] / source3 / include / rpc_misc.h
index 686f8e97e9e517cd50c37b5c2092f6860a54794a..771048943512892ab3618e84ad2417677d49b34b 100644 (file)
 /* RIDs - Well-known users ... */
 #define DOMAIN_USER_RID_ADMIN          (0x000001F4L)
 #define DOMAIN_USER_RID_GUEST          (0x000001F5L)
+#define DOMAIN_USER_RID_KRBTGT         (0x000001F6L)
 
 /* RIDs - well-known groups ... */
 #define DOMAIN_GROUP_RID_ADMINS        (0x00000200L)
 #define DOMAIN_GROUP_RID_USERS         (0x00000201L)
 #define DOMAIN_GROUP_RID_GUESTS        (0x00000202L)
+#define DOMAIN_GROUP_RID_COMPUTERS     (0x00000203L)
+
+#define DOMAIN_GROUP_RID_CONTROLLERS   (0x00000204L)
+#define DOMAIN_GROUP_RID_CERT_ADMINS   (0x00000205L)
+#define DOMAIN_GROUP_RID_SCHEMA_ADMINS (0x00000206L)
+#define DOMAIN_GROUP_RID_ENTERPRISE_ADMINS (0x00000207L)
+
+/* is the following the right number? I bet it is  --simo
+#define DOMAIN_GROUP_RID_POLICY_ADMINS (0x00000208L)
+*/
 
 /* RIDs - well-known aliases ... */
 #define BUILTIN_ALIAS_RID_ADMINS        (0x00000220L)
 #define BUILTIN_ALIAS_RID_BACKUP_OPS    (0x00000227L)
 
 #define BUILTIN_ALIAS_RID_REPLICATOR    (0x00000228L)
+#define BUILTIN_ALIAS_RID_RAS_SERVERS   (0x00000229L)
 
 /*
  * Masks for mappings between unix uid and gid types and
  * NT RIDS.
  */
 
+
+#define BASE_RID (0x000003E8L)
+
 /* Take the bottom bit. */
 #define RID_TYPE_MASK 1
 #define RID_MULTIPLIER 2
@@ -195,6 +210,22 @@ typedef struct unistr3_info
 
 } UNISTR3;
 
+/* an element in a unicode string array */
+typedef struct
+{
+       uint16 length;
+       uint16 size;
+       uint32 ref_id;
+       UNISTR2 string;
+} UNISTR2_ARRAY_EL;
+
+/* an array of unicode strings */
+typedef struct 
+{
+       uint32 ref_id;
+       uint32 count;
+       UNISTR2_ARRAY_EL *strings;
+} UNISTR2_ARRAY;
 
 /* DOM_RID2 - domain RID structure for ntlsa pipe */
 typedef struct domrid2_info
@@ -308,6 +339,18 @@ typedef struct lsa_policy_info
        uint16 data3;
        uint16 data4;
        uint8 data5[8];
+
+#ifdef __INSURE__
+
+       /* To prevent the leakage of policy handles mallocate a bit of
+          memory when a policy handle is created and free it when the
+          handle is closed.  This should cause Insure to flag an error
+          when policy handles are overwritten or fall out of scope without
+          being freed. */
+
+       char *marker;
+#endif
+
 } POLICY_HND;
 
 /*