[LSASRV]
[reactos.git] / reactos / dll / win32 / lsasrv / lsasrv.h
index 1686ca6..0086868 100644 (file)
 #include <windows.h>
 #define NTOS_MODE_USER
 #include <ndk/cmfuncs.h>
+#include <ndk/kefuncs.h>
 #include <ndk/lpctypes.h>
 #include <ndk/lpcfuncs.h>
 #include <ndk/obfuncs.h>
 #include <ndk/rtlfuncs.h>
 #include <ndk/setypes.h>
 
-
+#include <ntlsa.h>
 #include <ntsecapi.h>
+#include <sddl.h>
 
 #include <string.h>
 
@@ -51,6 +53,14 @@ typedef struct _LSA_DB_OBJECT
 #define LSAP_DB_SIGNATURE 0x12345678
 
 
+typedef struct _LSAP_POLICY_AUDIT_EVENTS_DATA
+{
+    BOOLEAN AuditingMode;
+    DWORD MaximumAuditEventCount;
+    DWORD AuditEvents[0];
+} LSAP_POLICY_AUDIT_EVENTS_DATA, *PLSAP_POLICY_AUDIT_EVENTS_DATA;
+
+
 /* authport.c */
 NTSTATUS
 StartAuthenticationPort(VOID);
@@ -59,20 +69,28 @@ StartAuthenticationPort(VOID);
 NTSTATUS
 LsapInitDatabase(VOID);
 
-LSAPR_HANDLE
-LsapCreateDbObject(LSAPR_HANDLE ParentHandle,
-                   LPWSTR ObjectName,
-                   BOOLEAN Open,
-                   LSA_DB_OBJECT_TYPE HandleType,
-                   ACCESS_MASK DesiredAccess);
+NTSTATUS
+LsapCreateDbObject(IN PLSA_DB_OBJECT ParentObject,
+                   IN LPWSTR ObjectName,
+                   IN LSA_DB_OBJECT_TYPE HandleType,
+                   IN ACCESS_MASK DesiredAccess,
+                   OUT PLSA_DB_OBJECT *DbObject);
 
 NTSTATUS
-LsapValidateDbObject(LSAPR_HANDLE Handle,
-                     LSA_DB_OBJECT_TYPE HandleType,
-                     ACCESS_MASK GrantedAccess);
+LsapOpenDbObject(IN PLSA_DB_OBJECT ParentObject,
+                 IN LPWSTR ObjectName,
+                 IN LSA_DB_OBJECT_TYPE ObjectType,
+                 IN ACCESS_MASK DesiredAccess,
+                 OUT PLSA_DB_OBJECT *DbObject);
 
 NTSTATUS
-LsapCloseDbObject(LSAPR_HANDLE Handle);
+LsapValidateDbObject(IN LSAPR_HANDLE Handle,
+                     IN LSA_DB_OBJECT_TYPE HandleType,
+                     IN ACCESS_MASK GrantedAccess,
+                     OUT PLSA_DB_OBJECT *DbObject);
+
+NTSTATUS
+LsapCloseDbObject(IN PLSA_DB_OBJECT DbObject);
 
 NTSTATUS
 LsapGetObjectAttribute(PLSA_DB_OBJECT DbObject,
@@ -92,15 +110,67 @@ LsarStartRpcServer(VOID);
 
 /* policy.c */
 NTSTATUS
-LsarSetPrimaryDomain(LSAPR_HANDLE PolicyObject,
+LsarQueryAuditLog(PLSA_DB_OBJECT PolicyObject,
+                  PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryAuditEvents(PLSA_DB_OBJECT PolicyObject,
+                     PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryPrimaryDomain(PLSA_DB_OBJECT PolicyObject,
+                       PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryPdAccount(PLSA_DB_OBJECT PolicyObject,
+                   PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryAccountDomain(PLSA_DB_OBJECT PolicyObject,
+                       PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryServerRole(PLSA_DB_OBJECT PolicyObject,
+                    PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryReplicaSource(PLSA_DB_OBJECT PolicyObject,
+                       PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryDefaultQuota(PLSA_DB_OBJECT PolicyObject,
+                      PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryModification(PLSA_DB_OBJECT PolicyObject,
+                      PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryAuditFull(PLSA_DB_OBJECT PolicyObject,
+                   PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryDnsDomain(PLSA_DB_OBJECT PolicyObject,
+                   PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryDnsDomainInt(PLSA_DB_OBJECT PolicyObject,
+                      PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarQueryLocalAccountDomain(PLSA_DB_OBJECT PolicyObject,
+                            PLSAPR_POLICY_INFORMATION *PolicyInformation);
+
+NTSTATUS
+LsarSetPrimaryDomain(PLSA_DB_OBJECT PolicyObject,
                      PLSAPR_POLICY_PRIMARY_DOM_INFO Info);
 
 NTSTATUS
-LsarSetAccountDomain(LSAPR_HANDLE PolicyObject,
+LsarSetAccountDomain(PLSA_DB_OBJECT PolicyObject,
                      PLSAPR_POLICY_ACCOUNT_DOM_INFO Info);
 
 NTSTATUS
-LsarSetDnsDomain(LSAPR_HANDLE PolicyObject,
+LsarSetDnsDomain(PLSA_DB_OBJECT PolicyObject,
                  PLSAPR_POLICY_DNS_DOMAIN_INFO Info);
 
 /* privileges.c */
@@ -112,6 +182,11 @@ NTSTATUS
 LsarpLookupPrivilegeValue(PUNICODE_STRING Name,
                           PLUID Value);
 
+NTSTATUS
+LsarpEnumeratePrivileges(DWORD *EnumerationContext,
+                         PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer,
+                         DWORD PreferedMaximumLength);
+
 /* sids.h */
 NTSTATUS
 LsapInitSids(VOID);