[PSDK]
[reactos.git] / reactos / include / psdk / ntsecapi.h
index 3bea7dc..27127a2 100644 (file)
@@ -1,8 +1,5 @@
 #ifndef _NTSECAPI_H
 #define _NTSECAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
 
 #ifdef __cplusplus
 extern "C" {
@@ -123,6 +120,27 @@ extern "C" {
 #define TRUST_TYPE_MIT 3
 #define TRUST_TYPE_DCE 4
 
+#define SCESTATUS_SUCCESS             0L
+#define SCESTATUS_INVALID_PARAMETER   1L
+#define SCESTATUS_RECORD_NOT_FOUND    2L
+#define SCESTATUS_INVALID_DATA        3L
+#define SCESTATUS_OBJECT_EXISTS       4L
+#define SCESTATUS_BUFFER_TOO_SMALL    5L
+#define SCESTATUS_PROFILE_NOT_FOUND   6L
+#define SCESTATUS_BAD_FORMAT          7L
+#define SCESTATUS_NOT_ENOUGH_RESOURCE 8L
+#define SCESTATUS_ACCESS_DENIED       9L
+#define SCESTATUS_CANT_DELETE         10L
+#define SCESTATUS_PREFIX_OVERFLOW     11L
+#define SCESTATUS_OTHER_ERROR         12L
+#define SCESTATUS_ALREADY_RUNNING     13L
+#define SCESTATUS_SERVICE_NOT_SUPPORT 14L
+#define SCESTATUS_MOD_NOT_FOUND       15L
+#define SCESTATUS_EXCEPTION_IN_SERVER 16L
+#define SCESTATUS_NO_TEMPLATE_GIVEN   17L
+#define SCESTATUS_NO_MAPPING          18L
+#define SCESTATUS_TRUST_FAIL          19L
+
 #if !defined(_NTDEF_)
 typedef LONG NTSTATUS, *PNTSTATUS;
 #endif
@@ -163,6 +181,13 @@ typedef LSA_STRING STRING, *PSTRING ;
 
 #endif
 
+typedef enum _KERB_LOGON_SUBMIT_TYPE
+{
+  KerbInteractiveLogon = 2,
+  KerbS4ULogon = 12,
+  KerbTicketLogon = 10,
+  KerbTicketUnlockLogon = 11
+} KERB_LOGON_SUBMIT_TYPE, *PKERB_LOGON_SUBMIT_TYPE;
 typedef enum _MSV1_0_LOGON_SUBMIT_TYPE {
   MsV1_0InteractiveLogon = 2,
   MsV1_0Lm20Logon,
@@ -293,7 +318,9 @@ typedef enum _TRUSTED_INFORMATION_CLASS {
   TrustedDomainInformationBasic,
   TrustedDomainInformationEx,
   TrustedDomainAuthInformation,
-  TrustedDomainFullInformation
+  TrustedDomainFullInformation,
+  TrustedDomainAuthInformationInternal,
+  TrustedDomainFullInformationInternal
 } TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS;
 typedef enum _LSA_FOREST_TRUST_RECORD_TYPE {
   ForestTrustTopLevelName,
@@ -377,6 +404,12 @@ typedef struct _LSA_TRANSLATED_NAME {
   LONG DomainIndex;
 } LSA_TRANSLATED_NAME, *PLSA_TRANSLATED_NAME;
 
+typedef struct _KERB_INTERACTIVE_LOGON {
+  KERB_LOGON_SUBMIT_TYPE MessageType;
+  UNICODE_STRING LogonDomainName;
+  UNICODE_STRING UserName;
+  UNICODE_STRING Password;
+} KERB_INTERACTIVE_LOGON, *PKERB_INTERACTIVE_LOGON;
 typedef struct _MSV1_0_INTERACTIVE_LOGON {
   MSV1_0_LOGON_SUBMIT_TYPE MessageType;
   UNICODE_STRING LogonDomainName;
@@ -520,7 +553,7 @@ typedef struct _POLICY_PRIMARY_DOMAIN_INFO {
 typedef struct _POLICY_DNS_DOMAIN_INFO {
   LSA_UNICODE_STRING Name;
   LSA_UNICODE_STRING DnsDomainName;
-  LSA_UNICODE_STRING DnsTreeName;
+  LSA_UNICODE_STRING DnsForestName;
   GUID DomainGuid;
   PSID Sid;
 } POLICY_DNS_DOMAIN_INFO, *PPOLICY_DNS_DOMAIN_INFO;
@@ -634,15 +667,22 @@ typedef struct _TRUSTED_DOMAIN_FULL_INFORMATION {
   TRUSTED_POSIX_OFFSET_INFO PosixOffset;
   TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
 } TRUSTED_DOMAIN_FULL_INFORMATION, *PTRUSTED_DOMAIN_FULL_INFORMATION;
+
+#define RtlGenRandom                    SystemFunction036
+
+BOOLEAN WINAPI RtlGenRandom(PVOID,ULONG);
+
 NTSTATUS NTAPI LsaAddAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING,ULONG);
+NTSTATUS NTAPI LsaAddPrivilegesToAccount(LSA_HANDLE, PPRIVILEGE_SET);
 NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE,ULONG,PVOID,ULONG,PVOID*,
                             PULONG,PNTSTATUS);
 NTSTATUS NTAPI LsaClose(LSA_HANDLE);
 NTSTATUS NTAPI LsaConnectUntrusted(PHANDLE);
-NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE,
-                            PTRUSTED_DOMAIN_INFORMATION_EX,
-                            PTRUSTED_DOMAIN_AUTH_INFORMATION,ACCESS_MASK,
-                            PLSA_HANDLE);
+NTSTATUS NTAPI LsaCreateAccount(LSA_HANDLE, PSID, ULONG, PLSA_HANDLE);
+NTSTATUS NTAPI LsaCreateTrustedDomain(LSA_HANDLE, PLSA_TRUST_INFORMATION,
+                            ACCESS_MASK, PLSA_HANDLE);
+NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE, PTRUSTED_DOMAIN_INFORMATION_EX,
+                            PTRUSTED_DOMAIN_AUTH_INFORMATION, ACCESS_MASK, PLSA_HANDLE);
 NTSTATUS NTAPI LsaDeleteTrustedDomain(LSA_HANDLE,PSID);
 NTSTATUS NTAPI LsaDeregisterLogonProcess(HANDLE);
 NTSTATUS NTAPI LsaEnumerateAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING*,PULONG);
@@ -660,11 +700,18 @@ NTSTATUS NTAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID,
 NTSTATUS NTAPI LsaLookupAuthenticationPackage(HANDLE,PLSA_STRING,PULONG);
 NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE,ULONG,PLSA_UNICODE_STRING,
                             PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_SID*);
+NTSTATUS NTAPI LsaLookupNames2(LSA_HANDLE,ULONG,ULONG,PLSA_UNICODE_STRING,
+                            PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_SID2*);
+NTSTATUS NTAPI LsaLookupPrivilegeName(LSA_HANDLE, PLUID, PLSA_UNICODE_STRING*);
+NTSTATUS NTAPI LsaLookupPrivilegeValue(LSA_HANDLE, PLSA_UNICODE_STRING, PLUID);
 NTSTATUS NTAPI LsaLookupSids(LSA_HANDLE,ULONG,PSID*,
                             PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_NAME*);
 ULONG NTAPI LsaNtStatusToWinError(NTSTATUS);
+NTSTATUS NTAPI LsaOpenAccount(LSA_HANDLE, PSID, ULONG, PLSA_HANDLE);
 NTSTATUS NTAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,
                             ACCESS_MASK,PLSA_HANDLE);
+NTSTATUS NTAPI LsaOpenTrustedDomainByName(LSA_HANDLE, PLSA_UNICODE_STRING,
+                            ACCESS_MASK, PLSA_HANDLE);
 NTSTATUS NTAPI LsaQueryDomainInformationPolicy(LSA_HANDLE,
                             POLICY_DOMAIN_INFORMATION_CLASS,PVOID*);
 NTSTATUS NTAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
@@ -690,10 +737,10 @@ NTSTATUS NTAPI LsaSetTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
                             TRUSTED_INFORMATION_CLASS,PVOID);
 NTSTATUS NTAPI LsaStorePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
                             PLSA_UNICODE_STRING);
-typedef NTSTATUS (*PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING,
+typedef NTSTATUS (NTAPI *PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING,
                             ULONG,PUNICODE_STRING);
-typedef BOOLEAN (*PSAM_INIT_NOTIFICATION_ROUTINE)(void);
-typedef BOOLEAN (*PSAM_PASSWORD_FILTER_ROUTINE)(PUNICODE_STRING,PUNICODE_STRING,
+typedef BOOLEAN (NTAPI *PSAM_INIT_NOTIFICATION_ROUTINE)(void);
+typedef BOOLEAN (NTAPI *PSAM_PASSWORD_FILTER_ROUTINE)(PUNICODE_STRING,PUNICODE_STRING,
                             PUNICODE_STRING,BOOLEAN);
 #ifdef __cplusplus
 }