[TRANSLATIONS] Update the email address and add a note in the Turkish translation...
[reactos.git] / dll / win32 / samsrv / samsrv.h
index a9f2f2d..842ac51 100644 (file)
@@ -7,32 +7,29 @@
  * PROGRAMMERS:     Eric Kohl
  */
 
+#ifndef _SAMSRV_PCH_
+#define _SAMSRV_PCH_
+
 #include <stdio.h>
 #include <stdlib.h>
-#include <limits.h>
+
 #define WIN32_NO_STATUS
 #define _INC_WINDOWS
 #define COM_NO_WINDOWS_H
+
 #include <windef.h>
 #include <winbase.h>
 #include <winreg.h>
-#include <winuser.h>
 #define NTOS_MODE_USER
-#include <ndk/cmfuncs.h>
 #include <ndk/kefuncs.h>
 #include <ndk/obfuncs.h>
 #include <ndk/rtlfuncs.h>
 #include <ddk/ntsam.h>
-#include <ntsecapi.h>
 #include <sddl.h>
-
-#include <samsrv/samsrv.h>
-
 #include <sam_s.h>
 
 #include <wine/debug.h>
-
-#include "resources.h"
+WINE_DEFAULT_DEBUG_CHANNEL(samsrv);
 
 typedef enum _SAM_DB_OBJECT_TYPE
 {
@@ -121,6 +118,7 @@ typedef struct _SAM_USER_FIXED_DATA
 extern PGENERIC_MAPPING pServerMapping;
 extern ENCRYPTED_NT_OWF_PASSWORD EmptyNtHash;
 extern ENCRYPTED_LM_OWF_PASSWORD EmptyLmHash;
+extern RTL_RESOURCE SampResource;
 
 
 /* alias.c */
@@ -140,6 +138,14 @@ NTAPI
 SampRemoveMemberFromAlias(IN PSAM_DB_OBJECT AliasObject,
                           IN PRPC_SID MemberId);
 
+NTSTATUS
+SampGetMembersInAlias(IN PSAM_DB_OBJECT AliasObject,
+                      OUT PULONG MemberCount,
+                      OUT PSAMPR_SID_INFORMATION *MemberArray);
+
+NTSTATUS
+SampRemoveAllMembersFromAlias(IN PSAM_DB_OBJECT AliasObject);
+
 
 /* database.c */
 
@@ -193,8 +199,12 @@ SampGetObjectAttribute(PSAM_DB_OBJECT DbObject,
 NTSTATUS
 SampGetObjectAttributeString(PSAM_DB_OBJECT DbObject,
                              LPWSTR AttributeName,
-                             RPC_UNICODE_STRING *String);
+                             PRPC_UNICODE_STRING String);
 
+NTSTATUS
+SampSetObjectAttributeString(PSAM_DB_OBJECT DbObject,
+                             LPWSTR AttributeName,
+                             PRPC_UNICODE_STRING String);
 
 /* domain.c */
 
@@ -217,6 +227,10 @@ NTSTATUS
 SampRemoveMemberFromAllAliases(IN PSAM_DB_OBJECT DomainObject,
                                IN PRPC_SID MemberSid);
 
+NTSTATUS
+SampCreateAccountSid(IN PSAM_DB_OBJECT DomainObject,
+                     IN ULONG ulRelativeId,
+                     IN OUT PSID *AccountSid);
 
 /* group.h */
 
@@ -238,13 +252,13 @@ SampRemoveMemberFromGroup(IN PSAM_DB_OBJECT GroupObject,
 /* registry.h */
 
 NTSTATUS
-SampRegCloseKey(IN HANDLE KeyHandle);
+SampRegCloseKey(IN OUT PHANDLE KeyHandle);
 
 NTSTATUS
 SampRegCreateKey(IN HANDLE ParentKeyHandle,
                  IN LPCWSTR KeyName,
                  IN ACCESS_MASK DesiredAccess,
-                 OUT HANDLE KeyHandle);
+                 OUT PHANDLE KeyHandle);
 
 NTSTATUS
 SampRegDeleteKey(IN HANDLE ParentKeyHandle,
@@ -260,7 +274,7 @@ NTSTATUS
 SampRegOpenKey(IN HANDLE ParentKeyHandle,
                IN LPCWSTR KeyName,
                IN ACCESS_MASK DesiredAccess,
-               OUT HANDLE KeyHandle);
+               OUT PHANDLE KeyHandle);
 
 NTSTATUS
 SampRegQueryKeyInfo(IN HANDLE KeyHandle,
@@ -308,13 +322,25 @@ SampCreateServerSD(OUT PSECURITY_DESCRIPTOR *ServerSd,
                    OUT PULONG Size);
 
 NTSTATUS
-SampCreateBuiltinDomainSD(OUT PSECURITY_DESCRIPTOR *ServerSd,
+SampCreateBuiltinDomainSD(OUT PSECURITY_DESCRIPTOR *DomainSd,
                           OUT PULONG Size);
 
 NTSTATUS
-SampCreateAccountDomainSD(OUT PSECURITY_DESCRIPTOR *ServerSd,
+SampCreateAccountDomainSD(OUT PSECURITY_DESCRIPTOR *DomainSd,
                           OUT PULONG Size);
 
+NTSTATUS
+SampCreateAliasSD(OUT PSECURITY_DESCRIPTOR *AliasSd,
+                  OUT PULONG Size);
+
+NTSTATUS
+SampCreateGroupSD(OUT PSECURITY_DESCRIPTOR *GroupSd,
+                  OUT PULONG Size);
+
+NTSTATUS
+SampCreateUserSD(IN PSID UserSid,
+                 OUT PSECURITY_DESCRIPTOR *UserSd,
+                 OUT PULONG Size);
 
 /* setup.c */
 
@@ -354,6 +380,9 @@ SampSetUserGroupAttributes(IN PSAM_DB_OBJECT DomainObject,
 NTSTATUS
 SampRemoveUserFromAllGroups(IN PSAM_DB_OBJECT UserObject);
 
+NTSTATUS
+SampRemoveUserFromAllAliases(IN PSAM_DB_OBJECT UserObject);
+
 NTSTATUS
 SampSetUserPassword(IN PSAM_DB_OBJECT UserObject,
                     IN PENCRYPTED_NT_OWF_PASSWORD NtPassword,
@@ -362,12 +391,12 @@ SampSetUserPassword(IN PSAM_DB_OBJECT UserObject,
                     IN BOOLEAN LmPasswordPresent);
 
 NTSTATUS
-SampGetLogonHoursAttrbute(IN PSAM_DB_OBJECT UserObject,
-                          IN OUT PSAMPR_LOGON_HOURS LogonHours);
+SampGetLogonHoursAttribute(IN PSAM_DB_OBJECT UserObject,
+                           IN OUT PSAMPR_LOGON_HOURS LogonHours);
 
 NTSTATUS
-SampSetLogonHoursAttrbute(IN PSAM_DB_OBJECT UserObject,
-                          IN PSAMPR_LOGON_HOURS LogonHours);
+SampSetLogonHoursAttribute(IN PSAM_DB_OBJECT UserObject,
+                           IN PSAMPR_LOGON_HOURS LogonHours);
 
 
 /* utils.c */
@@ -406,4 +435,10 @@ WINAPI
 SystemFunction007(PUNICODE_STRING string,
                   LPBYTE hash);
 
-/* EOF */
+NTSTATUS
+WINAPI
+SystemFunction013(const BYTE *in,
+                  const BYTE *key,
+                  LPBYTE out);
+
+#endif /* _SAMSRV_PCH_ */