From 4c153b24d98b49d34a17a0ba91dd959e7b9d6dc7 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 15 May 2008 16:34:01 +0000 Subject: * autoload.cc (LoadDLLfuncNt): Re-invent. (NtCreateTransaction): Define. (NtCommitTransaction): Define. (NtRollbackTransaction): Define. (RtlGetCurrentTransaction): Define. (RtlSetCurrentTransaction): Define. * ntdll.h (TRANSACTION_ALL_ACCESS): Define. (NtCreateTransaction): Declare. (NtCommitTransaction): Declare. (NtRollbackTransaction): Declare. (RtlGetCurrentTransaction): Declare. (RtlSetCurrentTransaction): Declare. * syscalls.cc (start_transaction): New static function to start TxF transaction. (stop_transaction): New static function to end TxF transaction. (rename): Call start_transaction and stop_transaction where appropriate on systems supporting transactions. * wincap.h (wincaps::has_transactions): New element. * wincap.cc: Implement above element throughout. --- winsup/cygwin/autoload.cc | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'winsup/cygwin/autoload.cc') diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc index 7f9dbe992..f9f02f289 100644 --- a/winsup/cygwin/autoload.cc +++ b/winsup/cygwin/autoload.cc @@ -311,6 +311,15 @@ LoadDLLfunc (NetLocalGroupGetMembers, 32, netapi32) LoadDLLfunc (NetUserGetGroups, 28, netapi32) LoadDLLfunc (NetUserGetInfo, 16, netapi32) +/* 0xc000007a == STATUS_PROCEDURE_NOT_FOUND */ +#define LoadDLLfuncNt(name, n, dllname) \ + LoadDLLfuncEx2(name, n, dllname, 1, 0xc000007a) +LoadDLLfuncNt (NtCommitTransaction, 8, ntdll) +LoadDLLfuncNt (NtCreateTransaction, 40, ntdll) +LoadDLLfuncNt (NtRollbackTransaction, 8, ntdll) +LoadDLLfuncNt (RtlGetCurrentTransaction, 0, ntdll) +LoadDLLfuncNt (RtlSetCurrentTransaction, 4, ntdll) + LoadDLLfuncEx (EnumProcessModules, 16, psapi, 1) LoadDLLfuncEx (GetModuleFileNameExW, 16, psapi, 1) LoadDLLfuncEx (GetModuleInformation, 16, psapi, 1) -- cgit v1.2.3