summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/netlogon.idl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/idl/netlogon.idl')
-rw-r--r--source4/librpc/idl/netlogon.idl178
1 files changed, 94 insertions, 84 deletions
diff --git a/source4/librpc/idl/netlogon.idl b/source4/librpc/idl/netlogon.idl
index dcbb647ba0..d06c2acdd4 100644
--- a/source4/librpc/idl/netlogon.idl
+++ b/source4/librpc/idl/netlogon.idl
@@ -12,13 +12,13 @@ import "lsa.idl", "samr.idl", "security.idl", "nbt.idl";
uuid("12345678-1234-abcd-ef00-01234567cffb"),
version(1.0),
endpoint("ncacn_np:[\\pipe\\netlogon]","ncacn_ip_tcp:","ncalrpc:"),
- pointer_default(unique),
- pointer_default_top(unique)
+ pointer_default(unique)
]
interface netlogon
{
typedef bitmap samr_AcctFlags samr_AcctFlags;
+ typedef bitmap samr_GroupAttrs samr_GroupAttrs;
/*****************/
/* Function 0x00 */
@@ -43,10 +43,10 @@ interface netlogon
} netr_UasInfo;
WERROR netr_LogonUasLogon(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] [string,charset(UTF16)] uint16 workstation[],
- [out] netr_UasInfo *info
+ [out,unique] netr_UasInfo *info
);
@@ -59,7 +59,7 @@ interface netlogon
} netr_UasLogoffInfo;
WERROR netr_LogonUasLogoff(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] [string,charset(UTF16)] uint16 workstation[],
[out] netr_UasLogoffInfo info
@@ -86,13 +86,18 @@ interface netlogon
[size_is(size/2),length_is(length/2)] uint16 *bindata;
} netr_AcctLockStr;
- const int MSV1_0_CLEARTEXT_PASSWORD_ALLOWED = 0x002;
- const int MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT = 0x020;
- const int MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT = 0x800;
+ typedef [public,bitmap32bit] bitmap {
+ MSV1_0_CLEARTEXT_PASSWORD_ALLOWED = 0x00000002,
+ MSV1_0_UPDATE_LOGON_STATISTICS = 0x00000004,
+ MSV1_0_RETURN_USER_PARAMETERS = 0x00000008,
+ MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT = 0x00000020,
+ MSV1_0_RETURN_PROFILE_PATH = 0x00000200,
+ MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT = 0x00000800
+ } netr_LogonParameterControl;
typedef struct {
lsa_String domain_name;
- uint32 parameter_control; /* see MSV1_0_* */
+ netr_LogonParameterControl parameter_control; /* see MSV1_0_* */
uint32 logon_id_low;
uint32 logon_id_high;
lsa_String account_name;
@@ -126,11 +131,6 @@ interface netlogon
[case(6)] netr_NetworkInfo *network;
} netr_LogonLevel;
- typedef [public] struct {
- uint32 rid;
- uint32 attributes;
- } netr_GroupMembership;
-
typedef [public,flag(NDR_PAHEX)] struct {
uint8 key[16];
} netr_UserSessionKey;
@@ -187,7 +187,7 @@ interface netlogon
typedef struct {
dom_sid2 *sid;
- uint32 attribute;
+ samr_GroupAttrs attributes;
} netr_SidAttr;
typedef [public] struct {
@@ -239,10 +239,10 @@ interface netlogon
} netr_Authenticator;
NTSTATUS netr_LogonSamLogon(
- [in] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 *computer_name,
- [in] netr_Authenticator *credential,
- [in][out] netr_Authenticator *return_authenticator,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *computer_name,
+ [in,unique] netr_Authenticator *credential,
+ [in,out,unique] netr_Authenticator *return_authenticator,
[in] uint16 logon_level,
[in] [switch_is(logon_level)] netr_LogonLevel logon,
[in] uint16 validation_level,
@@ -255,10 +255,10 @@ interface netlogon
/* Function 0x03 */
NTSTATUS netr_LogonSamLogoff(
- [in] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 *computer_name,
- [in] netr_Authenticator *credential,
- [in][out] netr_Authenticator *return_authenticator,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *computer_name,
+ [in,unique] netr_Authenticator *credential,
+ [in,out,unique] netr_Authenticator *return_authenticator,
[in] uint16 logon_level,
[in] [switch_is(logon_level)] netr_LogonLevel logon
);
@@ -269,7 +269,7 @@ interface netlogon
/* Function 0x04 */
[public] NTSTATUS netr_ServerReqChallenge(
- [in,string,charset(UTF16)] uint16 *server_name,
+ [in,unique,string,charset(UTF16)] uint16 *server_name,
[in,string,charset(UTF16)] uint16 computer_name[],
[in,out,ref] netr_Credential *credentials
);
@@ -281,7 +281,7 @@ interface netlogon
typedef enum netr_SchannelType netr_SchannelType;
NTSTATUS netr_ServerAuthenticate(
- [in,string,charset(UTF16)] uint16 *server_name,
+ [in,unique,string,charset(UTF16)] uint16 *server_name,
[in,string,charset(UTF16)] uint16 account_name[],
[in] netr_SchannelType secure_channel_type,
[in,string,charset(UTF16)] uint16 computer_name[],
@@ -293,7 +293,7 @@ interface netlogon
/* Function 0x06 */
NTSTATUS netr_ServerPasswordSet(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] netr_SchannelType secure_channel_type,
[in] [string,charset(UTF16)] uint16 computer_name[],
@@ -684,7 +684,7 @@ interface netlogon
[in] netr_SamDatabaseID database_id,
[in,out] udlong sequence_num,
[in] uint32 preferredmaximumlength,
- [out] netr_DELTA_ENUM_ARRAY *delta_enum_array
+ [out,unique] netr_DELTA_ENUM_ARRAY *delta_enum_array
);
@@ -699,7 +699,7 @@ interface netlogon
[in] netr_SamDatabaseID database_id,
[in,out] uint32 sync_context,
[in] uint32 preferredmaximumlength,
- [out] netr_DELTA_ENUM_ARRAY *delta_enum_array
+ [out,unique] netr_DELTA_ENUM_ARRAY *delta_enum_array
);
@@ -719,7 +719,7 @@ interface netlogon
} netr_AccountBuffer;
NTSTATUS netr_AccountDeltas(
- [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in,unique] [string,charset(UTF16)] uint16 *logon_server,
[in] [string,charset(UTF16)] uint16 computername[],
[in] netr_Authenticator credential,
[in,out] netr_Authenticator return_authenticator,
@@ -738,7 +738,7 @@ interface netlogon
/* Function 0x0A */
NTSTATUS netr_AccountSync(
- [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in,unique] [string,charset(UTF16)] uint16 *logon_server,
[in] [string,charset(UTF16)] uint16 computername[],
[in] netr_Authenticator credential,
[in,out] netr_Authenticator return_authenticator,
@@ -758,8 +758,8 @@ interface netlogon
WERROR netr_GetDcName(
[in] [string,charset(UTF16)] uint16 logon_server[],
- [in] [string,charset(UTF16)] uint16 *domainname,
- [out] [string,charset(UTF16)] uint16 *dcname
+ [in,unique] [string,charset(UTF16)] uint16 *domainname,
+ [out,unique] [string,charset(UTF16)] uint16 *dcname
);
/*****************/
@@ -802,7 +802,7 @@ interface netlogon
} netr_LogonControlCode;
WERROR netr_LogonControl(
- [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in,unique] [string,charset(UTF16)] uint16 *logon_server,
[in] netr_LogonControlCode function_code,
[in] uint32 level,
[out,switch_is(level)] netr_CONTROL_QUERY_INFORMATION info
@@ -813,9 +813,9 @@ interface netlogon
/* Function 0x0D */
WERROR netr_GetAnyDCName(
- [in] [string,charset(UTF16)] uint16 *logon_server,
- [in] [string,charset(UTF16)] uint16 *domainname,
- [out] [string,charset(UTF16)] uint16 *dcname
+ [in,unique] [string,charset(UTF16)] uint16 *logon_server,
+ [in,unique] [string,charset(UTF16)] uint16 *domainname,
+ [out,unique] [string,charset(UTF16)] uint16 *dcname
);
@@ -830,7 +830,7 @@ interface netlogon
} netr_CONTROL_DATA_INFORMATION;
WERROR netr_LogonControl2(
- [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in,unique] [string,charset(UTF16)] uint16 *logon_server,
[in] uint32 function_code,
[in] uint32 level,
[in][switch_is(function_code)] netr_CONTROL_DATA_INFORMATION data,
@@ -849,7 +849,7 @@ interface netlogon
/* Function 0x0F */
NTSTATUS netr_ServerAuthenticate2(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] netr_SchannelType secure_channel_type,
[in] [string,charset(UTF16)] uint16 computer_name[],
@@ -870,7 +870,7 @@ interface netlogon
[in] uint16 restart_state,
[in,out] uint32 sync_context,
[in] uint32 preferredmaximumlength,
- [out] netr_DELTA_ENUM_ARRAY *delta_enum_array
+ [out,unique] netr_DELTA_ENUM_ARRAY *delta_enum_array
);
@@ -884,9 +884,9 @@ interface netlogon
[in] [string,charset(UTF16)] uint16 computername[],
[in] netr_Authenticator credential,
[in,out] netr_Authenticator return_authenticator,
- [in][size_is(change_log_entry_size)] uint8 *change_log_entry,
+ [in,unique][size_is(change_log_entry_size)] uint8 *change_log_entry,
[in] uint32 change_log_entry_size,
- [out] netr_DELTA_ENUM_ARRAY *delta_enum_array
+ [out,unique] netr_DELTA_ENUM_ARRAY *delta_enum_array
);
@@ -894,7 +894,7 @@ interface netlogon
/* Function 0x12 */
WERROR netr_LogonControl2Ex(
- [in] [string,charset(UTF16)] uint16 *logon_server,
+ [in,unique] [string,charset(UTF16)] uint16 *logon_server,
[in] uint32 function_code,
[in] uint32 level,
[in][switch_is(function_code)] netr_CONTROL_DATA_INFORMATION data,
@@ -909,7 +909,7 @@ interface netlogon
} netr_Blob;
WERROR netr_NetrEnumerateTrustedDomains(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[out,ref] netr_Blob *trusted_domains_blob
);
@@ -973,12 +973,12 @@ interface netlogon
} netr_DsRGetDCNameInfo;
WERROR netr_DsRGetDCName(
- [in] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 *domain_name,
- [in] GUID *domain_guid,
- [in] GUID *site_guid,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *domain_name,
+ [in,unique] GUID *domain_guid,
+ [in,unique] GUID *site_guid,
[in] netr_DsRGetDCName_flags flags,
- [out] netr_DsRGetDCNameInfo *info
+ [out,unique] netr_DsRGetDCNameInfo *info
);
/*****************/
@@ -991,7 +991,11 @@ interface netlogon
/****************/
/* Function 0x17 */
- WERROR netr_NETRLOGONGETTRUSTRID();
+ WERROR netr_LogonGetTrustRid(
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *domain_name,
+ [out,ref] uint32 *rid
+ );
/****************/
/* Function 0x18 */
@@ -1004,7 +1008,7 @@ interface netlogon
/****************/
/* Function 0x1a */
[public] NTSTATUS netr_ServerAuthenticate3(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] netr_SchannelType secure_channel_type,
[in] [string,charset(UTF16)] uint16 computer_name[],
@@ -1017,19 +1021,19 @@ interface netlogon
/* Function 0x1b */
WERROR netr_DsRGetDCNameEx(
- [in] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 *domain_name,
- [in] GUID *domain_guid,
- [in] [string,charset(UTF16)] uint16 *site_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *domain_name,
+ [in,unique] GUID *domain_guid,
+ [in,unique] [string,charset(UTF16)] uint16 *site_name,
[in] netr_DsRGetDCName_flags flags,
- [out] netr_DsRGetDCNameInfo *info
+ [out,unique] netr_DsRGetDCNameInfo *info
);
/****************/
/* Function 0x1c */
WERROR netr_DsRGetSiteName(
- [in] [string,charset(UTF16)] uint16 *computer_name,
- [out] [string,charset(UTF16)] uint16 *site
+ [in,unique] [string,charset(UTF16)] uint16 *computer_name,
+ [out,unique] [string,charset(UTF16)] uint16 *site
);
/****************/
@@ -1085,7 +1089,7 @@ interface netlogon
NTSTATUS netr_LogonGetDomainInfo(
[in] [string,charset(UTF16)] uint16 server_name[],
- [in] [string,charset(UTF16)] uint16 *computer_name,
+ [in,unique] [string,charset(UTF16)] uint16 *computer_name,
[in,ref] netr_Authenticator *credential,
[in,out,ref] netr_Authenticator *return_authenticator,
[in] uint32 level,
@@ -1101,7 +1105,7 @@ interface netlogon
/*****************/
/* Function 0x1e */
NTSTATUS netr_ServerPasswordSet2(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] netr_SchannelType secure_channel_type,
[in] [string,charset(UTF16)] uint16 computer_name[],
@@ -1113,7 +1117,7 @@ interface netlogon
/****************/
/* Function 0x1f */
WERROR netr_ServerPasswordGet(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] netr_SchannelType secure_channel_type,
[in] [string,charset(UTF16)] uint16 computer_name[],
@@ -1139,7 +1143,7 @@ interface netlogon
} netr_DsRAddress;
WERROR netr_DsRAddressToSitenamesW(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [range(0,32000)] uint32 count,
[in] [size_is(count)] [ref] netr_DsRAddress *addresses,
[out] [ref] netr_DsRAddressToSitenamesWCtr **ctr
@@ -1148,14 +1152,14 @@ interface netlogon
/****************/
/* Function 0x22 */
WERROR netr_DsRGetDCNameEx2(
- [in] [string,charset(UTF16)] uint16 *server_unc,
- [in] [string,charset(UTF16)] uint16 *client_account,
+ [in,unique] [string,charset(UTF16)] uint16 *server_unc,
+ [in,unique] [string,charset(UTF16)] uint16 *client_account,
[in] samr_AcctFlags mask,
- [in] [string,charset(UTF16)] uint16 *domain_name,
- [in] GUID *domain_guid,
- [in] [string,charset(UTF16)] uint16 *site_name,
+ [in,unique] [string,charset(UTF16)] uint16 *domain_name,
+ [in,unique] GUID *domain_guid,
+ [in,unique] [string,charset(UTF16)] uint16 *site_name,
[in] netr_DsRGetDCName_flags flags,
- [out] netr_DsRGetDCNameInfo *info
+ [out,unique] netr_DsRGetDCNameInfo *info
);
/****************/
@@ -1207,7 +1211,7 @@ interface netlogon
} netr_DomainTrustList;
WERROR netr_NetrEnumerateTrustedDomainsEx(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[out,ref] netr_DomainTrustList *dom_trust_list
);
@@ -1220,7 +1224,7 @@ interface netlogon
} netr_DsRAddressToSitenamesExWCtr;
WERROR netr_DsRAddressToSitenamesExW(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [range(0,32000)] uint32 count,
[in] [size_is(count)] [ref] netr_DsRAddress *addresses,
[out] [ref] netr_DsRAddressToSitenamesExWCtr **ctr
@@ -1235,15 +1239,15 @@ interface netlogon
} DcSitesCtr;
WERROR netr_DsrGetDcSiteCoverageW(
- [in] [string,charset(UTF16)] uint16 *server_name,
- [out] DcSitesCtr *ctr
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [out,unique] DcSitesCtr *ctr
);
/****************/
/* Function 0x27 */
NTSTATUS netr_LogonSamLogonEx(
- [in] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 *computer_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *computer_name,
[in] uint16 logon_level,
[in] [switch_is(logon_level)] netr_LogonLevel logon,
[in] uint16 validation_level,
@@ -1256,21 +1260,27 @@ interface netlogon
/* Function 0x28 */
WERROR netr_DsrEnumerateDomainTrusts(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] netr_TrustFlags trust_flags,
[out] uint32 count,
- [out,size_is(count)] netr_DomainTrust *trusts
+ [out,unique,size_is(count)] netr_DomainTrust *trusts
);
/****************/
/* Function 0x29 */
- WERROR netr_DSRDEREGISTERDNSHOSTRECORDS();
+ WERROR netr_DsrDeregisterDNSHostRecords(
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *domain,
+ [in,unique] GUID *domain_guid,
+ [in,unique] GUID *dsa_guid,
+ [in,ref] [string,charset(UTF16)] uint16 *dns_host
+ );
/****************/
/* Function 0x2a */
NTSTATUS netr_ServerTrustPasswordsGet(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in] [string,charset(UTF16)] uint16 account_name[],
[in] netr_SchannelType secure_channel_type,
[in] [string,charset(UTF16)] uint16 computer_name[],
@@ -1286,8 +1296,8 @@ interface netlogon
const int DS_GFTI_UPDATE_TDO = 0x1;
WERROR netr_DsRGetForestTrustInformation(
- [in] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 *trusted_domain_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *trusted_domain_name,
[in] uint32 flags,
[out,ref] lsa_ForestTrustInformation **forest_trust_info
);
@@ -1295,7 +1305,7 @@ interface netlogon
/****************/
/* Function 0x2c */
WERROR netr_GetForestTrustInformation(
- [in] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
[in,ref] [string,charset(UTF16)] uint16 *trusted_domain_name,
[in,ref] netr_Authenticator *credential,
[out,ref] netr_Authenticator *return_authenticator,
@@ -1308,10 +1318,10 @@ interface netlogon
/* this is the ADS varient. I don't yet know what the "flags" are for */
NTSTATUS netr_LogonSamLogonWithFlags(
- [in] [string,charset(UTF16)] uint16 *server_name,
- [in] [string,charset(UTF16)] uint16 *computer_name,
- [in] netr_Authenticator *credential,
- [in][out] netr_Authenticator *return_authenticator,
+ [in,unique] [string,charset(UTF16)] uint16 *server_name,
+ [in,unique] [string,charset(UTF16)] uint16 *computer_name,
+ [in,unique] netr_Authenticator *credential,
+ [in,out,unique] netr_Authenticator *return_authenticator,
[in] uint16 logon_level,
[in] [switch_is(logon_level)] netr_LogonLevel logon,
[in] uint16 validation_level,