summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/autoload.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2008-05-15 16:34:01 +0000
committerCorinna Vinschen <corinna@vinschen.de>2008-05-15 16:34:01 +0000
commit4c153b24d98b49d34a17a0ba91dd959e7b9d6dc7 (patch)
tree07178ce3c1abad0f7c1f8d8b8ee5c21d35f2c4bd /winsup/cygwin/autoload.cc
parent43334bd027aed0c02a9f6fb71f995cdcd4cfc733 (diff)
downloadcygnal-4c153b24d98b49d34a17a0ba91dd959e7b9d6dc7.tar.gz
cygnal-4c153b24d98b49d34a17a0ba91dd959e7b9d6dc7.tar.bz2
cygnal-4c153b24d98b49d34a17a0ba91dd959e7b9d6dc7.zip
* 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.
Diffstat (limited to 'winsup/cygwin/autoload.cc')
-rw-r--r--winsup/cygwin/autoload.cc9
1 files changed, 9 insertions, 0 deletions
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)