; $Id: advapi32.edf,v 1.19 2003/02/02 19:24:43 hyperion Exp $
;
; advapi32.edf
;
; ReactOS Operating System
;
; Some stack sizes are taken from Ander Norlander's .DEFs.
;
LIBRARY advapi32.dll
EXPORTS
AbortSystemShutdownA=AbortSystemShutdownA@4
AbortSystemShutdownW=AbortSystemShutdownW@4
AccessCheck=AccessCheck@32
;AccessCheckAndAuditAlarmA=AccessCheckAndAuditAlarmA@44
;AccessCheckAndAuditAlarmW=AccessCheckAndAuditAlarmW@44
AddAccessAllowedAce=AddAccessAllowedAce@16
AddAccessDeniedAce=AddAccessDeniedAce@16
AddAce=AddAce@20
AddAuditAccessAce=AddAuditAccessAce@24
AdjustTokenGroups=AdjustTokenGroups@24
AdjustTokenPrivileges=AdjustTokenPrivileges@24
AllocateAndInitializeSid=AllocateAndInitializeSid@44
AllocateLocallyUniqueId=AllocateLocallyUniqueId@4
AreAllAccessesGranted=AreAllAccessesGranted@8
AreAnyAccessesGranted=AreAnyAccessesGranted@8
;BackupEventLogA=BackupEventLogA@8
;BackupEventLogW=BackupEventLogW@8
;BuildAccessRequestA=BuildAccessRequestA@12
;BuildAccessRequestW=BuildAccessRequestW@12
;BuildExplicitAccessWithNameA=BuildExplicitAccessWithNameA@20
;BuildExplicitAccessWithNameW=BuildExplicitAccessWithNameW@20
;BuildImpersonateExplicitAccessWithNameA
;BuildImpersonateExplicitAccessWithNameW
;BuildImpersonateTrusteeA
;BuildImpersonateTrusteeW
;BuildSecurityDescriptorA=BuildSecurityDescriptorA@36
;BuildSecurityDescriptorW=BuildSecurityDescriptorW@36
;BuildTrusteeWithNameA=BuildTrusteeWithNameA@8
;BuildTrusteeWithNameW=BuildTrusteeWithNameW@8
;BuildTrusteeWithSidA=BuildTrusteeWithSidA@8
;BuildTrusteeWithSidW=BuildTrusteeWithSidW@8
ChangeServiceConfigA=ChangeServiceConfigA@44
ChangeServiceConfigW=ChangeServiceConfigW@44
;ClearEventLogA=ClearEventLogA@8
;ClearEventLogW=ClearEventLogW@8
CloseServiceHandle=CloseServiceHandle@4
ControlService=ControlService@12
CopySid=CopySid@12
;CreatePrivateObjectSecurity=CreatePrivateObjectSecurity@24
;CreateProcessAsUserA=CreateProcessAsUserA@44
;CreateProcessAsUserW=CreateProcessAsUserW@44
CreateServiceA=CreateServiceA@52
CreateServiceW=CreateServiceW@52
;CryptAcquireContextA=CryptAcquireContextA@20
;CryptAcquireContextW=CryptAcquireContextW@20
;CryptCreateHash=CryptCreateHash@20
;CryptDecrypt=CryptDecrypt@24
;CryptDeriveKey=CryptDeriveKey@20
;CryptDestroyHash=CryptDestroyHash@4
;CryptDestroyKey=CryptDestroyKey@4
;CryptEncrypt=CryptEncrypt@28
;CryptExportKey=CryptExportKey@24
;CryptGenKey=CryptGenKey@16
;CryptGenRandom=CryptGenRandom@12
;CryptGetHashParam=CryptGetHashParam@20
;CryptGetKeyParam=CryptGetKeyParam@20
;CryptGetProvParam=CryptGetProvParam@20
;CryptGetUserKey=CryptGetUserKey@12
;CryptHashData=CryptHashData@16
;CryptHashSessionKey=CryptHashSessionKey@12
;CryptImportKey=CryptImportKey@24
;CryptReleaseContext=CryptReleaseContext@8
;CryptSetHashParam=CryptSetHashParam@16
;CryptSetKeyParam=CryptSetKeyParam@16
;CryptSetProvParam=CryptSetProvParam@16
;CryptSetProviderA=CryptSetProviderA@8
;CryptSetProviderW=CryptSetProviderW@8
;CryptSignHashA=CryptSignHashA@24
;CryptSignHashW=CryptSignHashW@24
;CryptVerifySignatureA=CryptVerifySignatureA@24
;CryptVerifySignatureW=CryptVerifySignatureW@24
DeleteAce=DeleteAce@8
DeleteService=DeleteService@4
;DenyAccessRightsA
;DenyAccessRightsW
;DeregisterEventSource=DeregisterEventSource@4
;DestroyPrivateObjectSecurity=DestroyPrivateObjectSecurity@4
DuplicateToken=DuplicateToken@12
DuplicateTokenEx=DuplicateTokenEx@24
;ElfBackupEventLogFileA=ElfBackupEventLogFileA@8
;ElfBackupEventLogFileW=ElfBackupEventLogFileW@8
;ElfChangeNotify=ElfChangeNotify@8
;ElfClearEventLogFileA=ElfClearEventLogFileA@8
;ElfClearEventLogFileW=ElfClearEventLogFileW@8
;ElfCloseEventLog=ElfCloseEventLog@4
;ElfDeregisterEventSource=ElfDeregisterEventSource@4
;ElfNumberOfRecords=ElfNumberOfRecords@8
;ElfOldestRecord=ElfOldestRecord@8
;ElfOpenBackupEventLogA=ElfOpenBackupEventLogA@12
;ElfOpenBackupEventLogW=ElfOpenBackupEventLogW@12
;ElfOpenEventLogA=ElfOpenEventLogA@12
;ElfOpenEventLogW=ElfOpenEventLogW@12
;ElfReadEventLogA=ElfReadEventLogA@28
;ElfReadEventLogW=ElfReadEventLogW@28
;ElfRegisterEventSourceA=ElfRegisterEventSourceA@12
;ElfRegisterEventSourceW=ElfRegisterEventSourceW@12
;ElfReportEventA=ElfReportEventA@48
;ElfReportEventW=ElfReportEventW@48
EnumDependentServicesA=EnumDependentServicesA@24
EnumDependentServicesW=EnumDependentServicesW@24
EnumServiceGroupW=EnumServiceGroupW@36
EnumServicesStatusA=EnumServicesStatusA@32
EnumServicesStatusW=EnumServicesStatusW@32
EqualPrefixSid=EqualPrefixSid@8
EqualSid=EqualSid@8
FindFirstFreeAce=FindFirstFreeAce@8
FreeSid=FreeSid@4
GetAce=GetAce@12
GetAclInformation=GetAclInformation@16
;GetAuditedPermissionsFromAclA=GetAuditedPermissionsFromAclA@16
;GetAuditedPermissionsFromAclW=GetAuditedPermissionsFromAclW@16
;GetAuditedPermissionsFromSDA=GetAuditedPermissionsFromSDA@16
;GetAuditedPermissionsFromSDW=GetAuditedPermissionsFromSDW@16
;GetCurrentHwProfileA=GetCurrentHwProfileA@4
;GetCurrentHwProfileW=GetCurrentHwProfileW@4
;GetEffectiveAccessRightsA=GetEffectiveAccessRightsA@16
;GetEffectiveAccessRightsW=GetEffectiveAccessRightsW@16
;GetEffectiveRightsFromAclA=GetEffectiveRightsFromAclA@12
;GetEffectiveRightsFromAclW=GetEffectiveRightsFromAclW@12
;GetEffectiveRightsFromSDA=GetEffectiveRightsFromSDA@12
;GetEffectiveRightsFromSDW=GetEffectiveRightsFromSDW@12
;GetExplicitAccessRightsA=GetExplicitAccessRightsA@16
;GetExplicitAccessRightsW=GetExplicitAccessRightsW@16
;GetExplicitEntriesFromAclA=GetExplicitEntriesFromAclA@12
;GetExplicitEntriesFromAclW=GetExplicitEntriesFromAclW@12
;GetFileSecurityA=GetFileSecurityA@20
;GetFileSecurityW=GetFileSecurityW@20
GetKernelObjectSecurity=GetKernelObjectSecurity@20
GetLengthSid=GetLengthSid@4
;GetMultipleTrusteeA=GetMultipleTrusteeA@4
;GetMultipleTrusteeOperationA=GetMultipleTrusteeOperationA@4
;GetMultipleTrusteeOperationW=GetMultipleTrusteeOperationW@4
;GetMultipleTrusteeW=GetMultipleTrusteeW@4
;GetNamedSecurityInfoA=GetNamedSecurityInfoA@32
;GetNamedSecurityInfoW=GetNamedSecurityInfoW@32
;GetNumberOfEventLogRecords=GetNumberOfEventLogRecords@8
;GetOldestEventLogRecord=GetOldestEventLogRecord@8
;GetPrivateObjectSecurity=GetPrivateObjectSecurity@20
GetSecurityDescriptorControl=GetSecurityDescriptorControl@12
GetSecurityDescriptorDacl=GetSecurityDescriptorDacl@16
GetSecurityDescriptorGroup=GetSecurityDescriptorGroup@12
GetSecurityDescriptorLength=GetSecurityDescriptorLength@4
GetSecurityDescriptorOwner=GetSecurityDescriptorOwner@12
GetSecurityDescriptorSacl=GetSecurityDescriptorSacl@16
;GetSecurityInfo=GetSecurityInfo@32
GetServiceDisplayNameA=GetServiceDisplayNameA@16
GetServiceDisplayNameW=GetServiceDisplayNameW@16
GetServiceKeyNameA=GetServiceKeyNameA@16
GetServiceKeyNameW=GetServiceKeyNameW@16
GetSidIdentifierAuthority=GetSidIdentifierAuthority@4
GetSidLengthRequired=GetSidLengthRequired@4
GetSidSubAuthority=GetSidSubAuthority@8
GetSidSubAuthorityCount=GetSidSubAuthorityCount@4
GetTokenInformation=GetTokenInformation@20
;GetTrusteeForm=GetTrusteeForm@4
;GetTrusteeNameA=GetTrusteeNameA@4
;GetTrusteeNameW=GetTrusteeNameW@4
;GetTrusteeTypeA=GetTrusteeTypeA@4
;GetTrusteeTypeW=GetTrusteeTypeW@4
GetUserNameA=GetUserNameA@8
GetUserNameW=GetUserNameW@8
;GrantAccessRightsA=GrantAccessRightsA@16
;GrantAccessRightsW=GrantAccessRightsW@16
;I_ScGetCurrentGroupStateW=I_ScGetCurrentGroupStateW@12
;I_ScSetServiceBitsA=I_ScSetServiceBitsA@20
;I_ScSetServiceBitsW=I_ScSetServiceBitsW@20
ImpersonateLoggedOnUser=ImpersonateLoggedOnUser@4
;ImpersonateNamedPipeClient=ImpersonateNamedPipeClient@4
ImpersonateSelf=ImpersonateSelf@4
InitializeAcl=InitializeAcl@12
InitializeSecurityDescriptor=InitializeSecurityDescriptor@8
InitializeSid=InitializeSid@12
InitiateSystemShutdownA=InitiateSystemShutdownA@20
InitiateSystemShutdownW=InitiateSystemShutdownW@20
;IsAccessPermittedA=IsAccessPermittedA@20
;IsAccessPermittedW=IsAccessPermittedW@20
;IsTextUnicode=IsTextUnicode@12
IsValidAcl=IsValidAcl@4
IsValidSecurityDescriptor=IsValidSecurityDescriptor@4
IsValidSid=IsValidSid@4
LockServiceDatabase=LockServiceDatabase@4
;LogonUserA=LogonUserA@24
;LogonUserW=LogonUserW@24
LookupAccountNameA=LookupAccountNameA@28
LookupAccountNameW=LookupAccountNameW@28
LookupAccountSidA=LookupAccountSidA@28
LookupAccountSidW=LookupAccountSidW@28
LookupPrivilegeDisplayNameA=LookupPrivilegeDisplayNameA@20
LookupPrivilegeDisplayNameW=LookupPrivilegeDisplayNameW@20
LookupPrivilegeNameA=LookupPrivilegeNameA@16
LookupPrivilegeNameW=LookupPrivilegeNameW@16
LookupPrivilegeValueA=LookupPrivilegeValueA@12
LookupPrivilegeValueW=LookupPrivilegeValueW@12
;LookupSecurityDescriptorPartsA=LookupSecurityDescriptorPartsA@28
;LookupSecurityDescriptorPartsW=LookupSecurityDescriptorPartsW@28

; 1 parameter stubs
LsaClearAuditLog=_LsaStub1@4
LsaClose=_LsaStub1@4
LsaDelete=_LsaStub1@4
LsaFreeMemory=_LsaStub1@4

; 2 parameters stubs
LsaAddPrivilegesToAccount=_LsaStub2@8
LsaDeleteTrustedDomain=_LsaStub2@8
LsaEnumeratePrivilegesOfAccount=_LsaStub2@8
LsaGetQuotasForAccount=_LsaStub2@8
LsaGetSystemAccessAccount=_LsaStub2@8
LsaGetUserName=_LsaStub2@8
LsaSetQuotasForAccount=_LsaStub2@8
LsaSetSystemAccessAccount=_LsaStub2@8

; 3 parameters stubs
LsaLookupPrivilegeName=_LsaStub3@12
LsaLookupPrivilegeValue=_LsaStub3@12
LsaQueryInfoTrustedDomain=_LsaStub3@12
LsaQueryInformationPolicy=_LsaStub3@12
LsaQuerySecurityObject=_LsaStub3@12
LsaRemovePrivilegesFromAccount=_LsaStub3@12
LsaRetrievePrivateData=_LsaStub3@12
LsaSetInformationPolicy=_LsaStub3@12
LsaSetInformationTrustedDomain=_LsaStub3@12
LsaSetSecret=_LsaStub3@12
LsaSetSecurityObject=_LsaStub3@12
LsaStorePrivateData=_LsaStub3@12

; 4 parameters stubs
LsaAddAccountRights=_LsaStub4@16
LsaCreateAccount=_LsaStub4@16
LsaCreateSecret=_LsaStub4@16
LsaCreateTrustedDomain=_LsaStub4@16
LsaEnumerateAccountRights=_LsaStub4@16
LsaEnumerateAccountsWithUserRight=_LsaStub4@16
LsaLookupPrivilegeDisplayName=_LsaStub4@16
LsaOpenAccount=_LsaStub4@16
LsaOpenPolicy=_LsaStub4@16
LsaOpenSecret=_LsaStub4@16
LsaOpenTrustedDomain=_LsaStub4@16
LsaSetTrustedDomainInformation=_LsaStub4@16

; 5 parameters stubs
LsaEnumerateAccounts=_LsaStub5@20
LsaEnumeratePrivileges=_LsaStub5@20
LsaEnumerateTrustedDomains=_LsaStub5@20
LsaLookupNames=_LsaStub5@20
LsaLookupSids=_LsaStub5@20
LsaQuerySecret=_LsaStub5@20
LsaQueryTrustedDomainInfo=_LsaStub5@20
LsaRemoveAccountRights=_LsaStub5@20

; 8 parameters stubs
LsaICLookupNames=_LsaStub8@32
LsaICLookupSids=_LsaStub8@32

LsaNtStatusToWinError=NTDLL.RtlNtStatusToDosError

MakeAbsoluteSD=MakeAbsoluteSD@44
MakeSelfRelativeSD=MakeSelfRelativeSD@12
MapGenericMask=MapGenericMask@8
;NTAccessMaskToProvAccessRights=NTAccessMaskToProvAccessRights@12
;NotifyBootConfigStatus=NotifyBootConfigStatus@4
;NotifyChangeEventLog=NotifyChangeEventLog@8
;ObjectCloseAuditAlarmA=ObjectCloseAuditAlarmA@12
;ObjectCloseAuditAlarmW=ObjectCloseAuditAlarmW@12
;ObjectDeleteAuditAlarmA=ObjectDeleteAuditAlarmA@12
;ObjectDeleteAuditAlarmW=ObjectDeleteAuditAlarmW@12
;ObjectOpenAuditAlarmA=ObjectOpenAuditAlarmA@48
;ObjectOpenAuditAlarmW=ObjectOpenAuditAlarmW@48
;ObjectPrivilegeAuditAlarmA=ObjectPrivilegeAuditAlarmA@24
;ObjectPrivilegeAuditAlarmW=ObjectPrivilegeAuditAlarmW@24
;OpenBackupEventLogA=OpenBackupEventLogA@8
;OpenBackupEventLogW=OpenBackupEventLogW@8
;OpenEventLogA=OpenEventLogA@8
;OpenEventLogW=OpenEventLogW@8
OpenProcessToken=OpenProcessToken@12
OpenSCManagerA=OpenSCManagerA@12
OpenSCManagerW=OpenSCManagerW@12
OpenServiceA=OpenServiceA@12
OpenServiceW=OpenServiceW@12
OpenThreadToken=OpenThreadToken@16
;PrivilegeCheck=PrivilegeCheck@12
;PrivilegedServiceAuditAlarmA=PrivilegedServiceAuditAlarmA@20
;PrivilegedServiceAuditAlarmW=PrivilegedServiceAuditAlarmW@20
;ProvAccessRightsToNTAccessMask=ProvAccessRightsToNTAccessMask@8
QueryServiceConfigA=QueryServiceConfigA@16
QueryServiceConfigW=QueryServiceConfigW@16
QueryServiceLockStatusA=QueryServiceLockStatusA@16
QueryServiceLockStatusW=QueryServiceLockStatusW@16
QueryServiceObjectSecurity=QueryServiceObjectSecurity@20
QueryServiceStatus=QueryServiceStatus@8
;QueryWindows31FilesMigration=QueryWindows31FilesMigration@4
;ReadEventLogA=ReadEventLogA@28
;ReadEventLogW=ReadEventLogW@28
RegCloseKey=RegCloseKey@4
RegConnectRegistryA=RegConnectRegistryA@12
RegConnectRegistryW=RegConnectRegistryW@12
RegCreateKeyA=RegCreateKeyA@12
RegCreateKeyExA=RegCreateKeyExA@36
RegCreateKeyExW=RegCreateKeyExW@36
RegCreateKeyW=RegCreateKeyW@12
RegDeleteKeyA=RegDeleteKeyA@8
RegDeleteKeyW=RegDeleteKeyW@8
RegDeleteValueA=RegDeleteValueA@8
RegDeleteValueW=RegDeleteValueW@8
RegEnumKeyA=RegEnumKeyA@16
RegEnumKeyExA=RegEnumKeyExA@32
RegEnumKeyExW=RegEnumKeyExW@32
RegEnumKeyW=RegEnumKeyW@16
RegEnumValueA=RegEnumValueA@32
RegEnumValueW=RegEnumValueW@32
RegFlushKey=RegFlushKey@4
RegGetKeySecurity=RegGetKeySecurity@16
RegLoadKeyA=RegLoadKeyA@12
RegLoadKeyW=RegLoadKeyW@12
RegNotifyChangeKeyValue=RegNotifyChangeKeyValue@20
RegOpenKeyA=RegOpenKeyA@12
RegOpenKeyExA=RegOpenKeyExA@20
RegOpenKeyExW=RegOpenKeyExW@20
RegOpenKeyW=RegOpenKeyW@12
RegQueryInfoKeyA=RegQueryInfoKeyA@48
RegQueryInfoKeyW=RegQueryInfoKeyW@48
RegQueryMultipleValuesA=RegQueryMultipleValuesA@20
RegQueryMultipleValuesW=RegQueryMultipleValuesW@20
RegQueryValueA=RegQueryValueA@16
RegQueryValueExA=RegQueryValueExA@24
RegQueryValueExW=RegQueryValueExW@24
RegQueryValueW=RegQueryValueW@16
RegReplaceKeyA=RegReplaceKeyA@16
RegReplaceKeyW=RegReplaceKeyW@16
RegRestoreKeyA=RegRestoreKeyA@12
RegRestoreKeyW=RegRestoreKeyW@12
RegSaveKeyA=RegSaveKeyA@12
RegSaveKeyW=RegSaveKeyW@12
RegSetKeySecurity=RegSetKeySecurity@12
RegSetValueA=RegSetValueA@20
RegSetValueExA=RegSetValueExA@24
RegSetValueExW=RegSetValueExW@24
RegSetValueW=RegSetValueW@20
RegUnLoadKeyA=RegUnLoadKeyA@8
RegUnLoadKeyW=RegUnLoadKeyW@8
;RegisterEventSourceA=RegisterEventSourceA@8
;RegisterEventSourceW=RegisterEventSourceW@8
RegisterServiceCtrlHandlerA=RegisterServiceCtrlHandlerA@8
RegisterServiceCtrlHandlerW=RegisterServiceCtrlHandlerW@8
;ReplaceAllAccessRightsA
;ReplaceAllAccessRightsW
;ReportEventA=ReportEventA@36
;ReportEventW=ReportEventW@36
RevertToSelf=RevertToSelf@0
;RevokeExplicitAccessRightsA=RevokeExplicitAccessRightsA@16
;RevokeExplicitAccessRightsW=RevokeExplicitAccessRightsW@16
;SetAccessRightsA=SetAccessRightsA@16
;SetAccessRightsW=SetAccessRightsW@16
SetAclInformation=SetAclInformation@16
;SetEntriesInAclA=SetEntriesInAclA@16
;SetEntriesInAclW=SetEntriesInAclW@16
;SetFileSecurityA=SetFileSecurityA@12
;SetFileSecurityW=SetFileSecurityW@12
SetKernelObjectSecurity=SetKernelObjectSecurity@12
;SetNamedSecurityInfoA=SetNamedSecurityInfoA@28
;SetNamedSecurityInfoW=SetNamedSecurityInfoW@28
;SetPrivateObjectSecurity=SetPrivateObjectSecurity@20
SetSecurityDescriptorDacl=SetSecurityDescriptorDacl@16
SetSecurityDescriptorGroup=SetSecurityDescriptorGroup@12
SetSecurityDescriptorOwner=SetSecurityDescriptorOwner@12
SetSecurityDescriptorSacl=SetSecurityDescriptorSacl@16
;SetSecurityInfo=SetSecurityInfo@28
;SetServiceBits=SetServiceBits@16
SetServiceObjectSecurity=SetServiceObjectSecurity@12
SetServiceStatus=SetServiceStatus@8
SetThreadToken=SetThreadToken@8
SetTokenInformation=SetTokenInformation@16
StartServiceA=StartServiceA@12
StartServiceCtrlDispatcherA=StartServiceCtrlDispatcherA@4
StartServiceCtrlDispatcherW=StartServiceCtrlDispatcherW@4
StartServiceW=StartServiceW@12
;SynchronizeWindows31FilesAndWindowsNTRegistry=SynchronizeWindows31FilesAndWindowsNTRegistry@16
SystemFunction001=SystemFunction001@12
SystemFunction002=SystemFunction002@12
SystemFunction003=SystemFunction003@8
SystemFunction004=SystemFunction004@12
SystemFunction005=SystemFunction005@12
SystemFunction006=SystemFunction006@8
SystemFunction007=SystemFunction007@8
SystemFunction008=SystemFunction008@12
SystemFunction009=SystemFunction009@12
SystemFunction010=SystemFunction010@12
SystemFunction011=SystemFunction011@12
SystemFunction012=SystemFunction012@12
SystemFunction013=SystemFunction013@12
SystemFunction014=SystemFunction014@12
SystemFunction015=SystemFunction015@12
SystemFunction016=SystemFunction016@12
SystemFunction017=SystemFunction017@12
SystemFunction018=SystemFunction018@12
SystemFunction019=SystemFunction019@12
SystemFunction020=SystemFunction020@12
SystemFunction021=SystemFunction021@12
SystemFunction022=SystemFunction022@12
SystemFunction023=SystemFunction023@12
SystemFunction024=SystemFunction024@12
SystemFunction025=SystemFunction025@12
SystemFunction026=SystemFunction026@12
SystemFunction027=SystemFunction027@12
SystemFunction028=SystemFunction028@8
SystemFunction029=SystemFunction029@8
SystemFunction030=SystemFunction030@8
SystemFunction031=SystemFunction031@8
SystemFunction032=SystemFunction032@8
SystemFunction033=SystemFunction033@8
UnlockServiceDatabase=UnlockServiceDatabase@4
;WinLoadTrustProvider=WinLoadTrustProvider@4
;WinSubmitCertificate=WinSubmitCertificate@4
;WinVerifyTrust=WinVerifyTrust@12

