ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

lsasrv.h
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:       See COPYING in the top level directory
00003  * PROJECT:         Local Security Authority (LSA) Server
00004  * FILE:            reactos/dll/win32/lsasrv/lsasrv.h
00005  * PURPOSE:         Common header file
00006  *
00007  * PROGRAMMERS:     Eric Kohl
00008  */
00009 
00010 #define WIN32_NO_STATUS
00011 #include <windows.h>
00012 #define NTOS_MODE_USER
00013 #include <ndk/cmfuncs.h>
00014 #include <ndk/lpctypes.h>
00015 #include <ndk/lpcfuncs.h>
00016 #include <ndk/obfuncs.h>
00017 #include <ndk/rtlfuncs.h>
00018 #include <ndk/setypes.h>
00019 
00020 #include <ntlsa.h>
00021 #include <ntsecapi.h>
00022 #include <sddl.h>
00023 
00024 #include <string.h>
00025 
00026 #include "lsass.h"
00027 #include "lsa_s.h"
00028 
00029 #include <wine/debug.h>
00030 
00031 
00032 typedef enum _LSA_DB_OBJECT_TYPE
00033 {
00034     LsaDbIgnoreObject,
00035     LsaDbContainerObject,
00036     LsaDbPolicyObject,
00037     LsaDbAccountObject,
00038     LsaDbDomainObject,
00039     LsaDbSecretObject
00040 } LSA_DB_OBJECT_TYPE, *PLSA_DB_OBJECT_TYPE;
00041 
00042 typedef struct _LSA_DB_OBJECT
00043 {
00044     ULONG Signature;
00045     LSA_DB_OBJECT_TYPE ObjectType;
00046     ULONG RefCount;
00047     ACCESS_MASK Access;
00048     HANDLE KeyHandle;
00049     struct _LSA_DB_OBJECT *ParentObject;
00050 } LSA_DB_OBJECT, *PLSA_DB_OBJECT;
00051 
00052 #define LSAP_DB_SIGNATURE 0x12345678
00053 
00054 
00055 /* authport.c */
00056 NTSTATUS
00057 StartAuthenticationPort(VOID);
00058 
00059 /* database.c */
00060 NTSTATUS
00061 LsapInitDatabase(VOID);
00062 
00063 NTSTATUS
00064 LsapCreateDbObject(IN PLSA_DB_OBJECT ParentObject,
00065                    IN LPWSTR ObjectName,
00066                    IN LSA_DB_OBJECT_TYPE HandleType,
00067                    IN ACCESS_MASK DesiredAccess,
00068                    OUT PLSA_DB_OBJECT *DbObject);
00069 
00070 NTSTATUS
00071 LsapOpenDbObject(IN PLSA_DB_OBJECT ParentObject,
00072                  IN LPWSTR ObjectName,
00073                  IN LSA_DB_OBJECT_TYPE ObjectType,
00074                  IN ACCESS_MASK DesiredAccess,
00075                  OUT PLSA_DB_OBJECT *DbObject);
00076 
00077 NTSTATUS
00078 LsapValidateDbObject(IN LSAPR_HANDLE Handle,
00079                      IN LSA_DB_OBJECT_TYPE HandleType,
00080                      IN ACCESS_MASK GrantedAccess,
00081                      OUT PLSA_DB_OBJECT *DbObject);
00082 
00083 NTSTATUS
00084 LsapCloseDbObject(IN PLSA_DB_OBJECT DbObject);
00085 
00086 NTSTATUS
00087 LsapGetObjectAttribute(PLSA_DB_OBJECT DbObject,
00088                        LPWSTR AttributeName,
00089                        LPVOID AttributeData,
00090                        PULONG AttributeSize);
00091 
00092 NTSTATUS
00093 LsapSetObjectAttribute(PLSA_DB_OBJECT DbObject,
00094                        LPWSTR AttributeName,
00095                        LPVOID AttributeData,
00096                        ULONG AttributeSize);
00097 
00098 /* lsarpc.c */
00099 VOID
00100 LsarStartRpcServer(VOID);
00101 
00102 /* policy.c */
00103 NTSTATUS
00104 LsarQueryAuditEvents(PLSA_DB_OBJECT PolicyObject,
00105                      PLSAPR_POLICY_INFORMATION *PolicyInformation);
00106 
00107 NTSTATUS
00108 LsarQueryPrimaryDomain(PLSA_DB_OBJECT PolicyObject,
00109                        PLSAPR_POLICY_INFORMATION *PolicyInformation);
00110 
00111 NTSTATUS
00112 LsarQueryAccountDomain(PLSA_DB_OBJECT PolicyObject,
00113                        PLSAPR_POLICY_INFORMATION *PolicyInformation);
00114 
00115 NTSTATUS
00116 LsarQueryDnsDomain(PLSA_DB_OBJECT PolicyObject,
00117                    PLSAPR_POLICY_INFORMATION *PolicyInformation);
00118 
00119 NTSTATUS
00120 LsarSetPrimaryDomain(PLSA_DB_OBJECT PolicyObject,
00121                      PLSAPR_POLICY_PRIMARY_DOM_INFO Info);
00122 
00123 NTSTATUS
00124 LsarSetAccountDomain(PLSA_DB_OBJECT PolicyObject,
00125                      PLSAPR_POLICY_ACCOUNT_DOM_INFO Info);
00126 
00127 NTSTATUS
00128 LsarSetDnsDomain(PLSA_DB_OBJECT PolicyObject,
00129                  PLSAPR_POLICY_DNS_DOMAIN_INFO Info);
00130 
00131 /* privileges.c */
00132 NTSTATUS
00133 LsarpLookupPrivilegeName(PLUID Value,
00134                          PUNICODE_STRING *Name);
00135 
00136 NTSTATUS
00137 LsarpLookupPrivilegeValue(PUNICODE_STRING Name,
00138                           PLUID Value);
00139 
00140 /* sids.h */
00141 NTSTATUS
00142 LsapInitSids(VOID);
00143 
00144 NTSTATUS
00145 LsapLookupSids(PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
00146                PLSAPR_TRANSLATED_NAME OutputNames);
00147 

Generated on Sat May 26 2012 04:23:10 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.