2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: Local Security Authority (LSA) Server
4 * FILE: reactos/dll/win32/lsasrv/lsasrv.h
5 * PURPOSE: Common header file
7 * PROGRAMMERS: Eric Kohl
10 #define WIN32_NO_STATUS
12 #define NTOS_MODE_USER
13 #include <ndk/cmfuncs.h>
14 #include <ndk/lpctypes.h>
15 #include <ndk/lpcfuncs.h>
16 #include <ndk/obfuncs.h>
17 #include <ndk/rtlfuncs.h>
18 #include <ndk/setypes.h>
28 #include <wine/debug.h>
31 typedef enum _LSA_DB_OBJECT_TYPE
39 } LSA_DB_OBJECT_TYPE
, *PLSA_DB_OBJECT_TYPE
;
41 typedef struct _LSA_DB_OBJECT
44 LSA_DB_OBJECT_TYPE ObjectType
;
48 struct _LSA_DB_OBJECT
*ParentObject
;
49 } LSA_DB_OBJECT
, *PLSA_DB_OBJECT
;
51 #define LSAP_DB_SIGNATURE 0x12345678
56 StartAuthenticationPort(VOID
);
60 LsapInitDatabase(VOID
);
63 LsapCreateDbObject(IN PLSA_DB_OBJECT ParentObject
,
65 IN LSA_DB_OBJECT_TYPE HandleType
,
66 IN ACCESS_MASK DesiredAccess
,
67 OUT PLSA_DB_OBJECT
*DbObject
);
70 LsapOpenDbObject(IN PLSA_DB_OBJECT ParentObject
,
72 IN LSA_DB_OBJECT_TYPE ObjectType
,
73 IN ACCESS_MASK DesiredAccess
,
74 OUT PLSA_DB_OBJECT
*DbObject
);
77 LsapValidateDbObject(IN LSAPR_HANDLE Handle
,
78 IN LSA_DB_OBJECT_TYPE HandleType
,
79 IN ACCESS_MASK GrantedAccess
,
80 OUT PLSA_DB_OBJECT
*DbObject
);
83 LsapCloseDbObject(IN PLSA_DB_OBJECT DbObject
);
86 LsapGetObjectAttribute(PLSA_DB_OBJECT DbObject
,
89 PULONG AttributeSize
);
92 LsapSetObjectAttribute(PLSA_DB_OBJECT DbObject
,
99 LsarStartRpcServer(VOID
);
103 LsarQueryAuditEvents(PLSA_DB_OBJECT PolicyObject
,
104 PLSAPR_POLICY_INFORMATION
*PolicyInformation
);
107 LsarQueryPrimaryDomain(PLSA_DB_OBJECT PolicyObject
,
108 PLSAPR_POLICY_INFORMATION
*PolicyInformation
);
111 LsarQueryAccountDomain(PLSA_DB_OBJECT PolicyObject
,
112 PLSAPR_POLICY_INFORMATION
*PolicyInformation
);
115 LsarQueryDnsDomain(PLSA_DB_OBJECT PolicyObject
,
116 PLSAPR_POLICY_INFORMATION
*PolicyInformation
);
119 LsarSetPrimaryDomain(PLSA_DB_OBJECT PolicyObject
,
120 PLSAPR_POLICY_PRIMARY_DOM_INFO Info
);
123 LsarSetAccountDomain(PLSA_DB_OBJECT PolicyObject
,
124 PLSAPR_POLICY_ACCOUNT_DOM_INFO Info
);
127 LsarSetDnsDomain(PLSA_DB_OBJECT PolicyObject
,
128 PLSAPR_POLICY_DNS_DOMAIN_INFO Info
);
132 LsarpLookupPrivilegeName(PLUID Value
,
133 PUNICODE_STRING
*Name
);
136 LsarpLookupPrivilegeValue(PUNICODE_STRING Name
,
144 LsapLookupSids(PLSAPR_SID_ENUM_BUFFER SidEnumBuffer
,
145 PLSAPR_TRANSLATED_NAME OutputNames
);