summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--librpc/idl/lsa.idl52
1 files changed, 50 insertions, 2 deletions
diff --git a/librpc/idl/lsa.idl b/librpc/idl/lsa.idl
index 8f91d0c82f..6c4b439b21 100644
--- a/librpc/idl/lsa.idl
+++ b/librpc/idl/lsa.idl
@@ -1311,8 +1311,56 @@ import "misc.idl", "security.idl";
[out,ref] lsa_ForestTrustInformation **forest_trust_info
);
- /* Function 0x4a */
- [todo] NTSTATUS lsa_LSARSETFORESTTRUSTINFORMATION();
+ /*****************
+ * Function 0x4a */
+
+ typedef [v1_enum] enum {
+ LSA_FOREST_TRUST_COLLISION_TDO = 0,
+ LSA_FOREST_TRUST_COLLISION_XREF = 1,
+ LSA_FOREST_TRUST_COLLISION_OTHER = 2
+ } lsa_ForestTrustCollisionRecordType;
+
+ /* if type is CollisionTdo, flags can be */
+ typedef [bitmap32bit] bitmap {
+ LSA_TLN_DISABLED_NEW = 0x00000001,
+ LSA_TLN_DISABLED_ADMIN = 0x00000002,
+ LSA_TLN_DISABLED_CONFLICT = 0x00000004
+ } lsa_ForestTrustCollisionTDOFlags;
+
+ /* if type is CollisionXref, flags can be */
+ typedef [bitmap32bit] bitmap {
+ LSA_SID_DISABLED_ADMIN = 0x00000001,
+ LSA_SID_DISABLED_CONFLICT = 0x00000002,
+ LSA_NB_DISABLED_ADMIN = 0x00000004,
+ LSA_NB_DISABLED_CONFLICT = 0x00000008
+ } lsa_ForestTrustCollisionXrefFlags;
+
+ typedef [nodiscriminant] union {
+ [case(LSA_FOREST_TRUST_COLLISION_TDO)] lsa_ForestTrustCollisionTDOFlags flags;
+ [case(LSA_FOREST_TRUST_COLLISION_XREF)] lsa_ForestTrustCollisionXrefFlags flags;
+ [default] uint32 flags;
+ } lsa_ForestTrustCollisionFlags;
+
+ typedef struct {
+ uint32 index;
+ lsa_ForestTrustCollisionRecordType type;
+ [switch_is(type)] lsa_ForestTrustCollisionFlags flags;
+ lsa_String name;
+ } lsa_ForestTrustCollisionRecord;
+
+ typedef struct {
+ uint32 count;
+ [size_is(count)] lsa_ForestTrustCollisionRecord **entries;
+ } lsa_ForestTrustCollisionInfo;
+
+ [public] NTSTATUS lsa_lsaRSetForestTrustInformation(
+ [in] policy_handle *handle,
+ [in,ref] lsa_StringLarge *trusted_domain_name,
+ [in] uint16 highest_record_type,
+ [in,ref] lsa_ForestTrustInformation *forest_trust_info,
+ [in] uint8 check_only,
+ [out,ref] lsa_ForestTrustCollisionInfo **collision_info
+ );
/* Function 0x4b */
[todo] NTSTATUS lsa_CREDRRENAME();