1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms
6 //! FFI bindings to ktmw32.
7 use shared::guiddef::LPGUID;
8 use shared::minwindef::{BOOL, DWORD};
9 use um::minwinbase::LPSECURITY_ATTRIBUTES;
10 use um::winnt::{HANDLE, LPWSTR};
11 extern "system" {
CreateTransaction( lpTransactionAttributes: LPSECURITY_ATTRIBUTES, UOW: LPGUID, CreateOptions: DWORD, IsolationLevel: DWORD, IsolationFlags: DWORD, Timeout: DWORD, Description: LPWSTR, ) -> HANDLE12     pub fn CreateTransaction(
13         lpTransactionAttributes: LPSECURITY_ATTRIBUTES,
14         UOW: LPGUID,
15         CreateOptions: DWORD,
16         IsolationLevel: DWORD,
17         IsolationFlags: DWORD,
18         Timeout: DWORD,
19         Description: LPWSTR,
20     ) -> HANDLE;
21     // pub fn OpenTransaction();
CommitTransaction( TransactionHandle: HANDLE, ) -> BOOL22     pub fn CommitTransaction(
23         TransactionHandle: HANDLE,
24     ) -> BOOL;
25     // pub fn CommitTransactionAsync();
RollbackTransaction( TransactionHandle: HANDLE, ) -> BOOL26     pub fn RollbackTransaction(
27         TransactionHandle: HANDLE,
28     ) -> BOOL;
29     // pub fn RollbackTransactionAsync();
30     // pub fn GetTransactionId();
31     // pub fn GetTransactionInformation();
32     // pub fn SetTransactionInformation();
33     // pub fn CreateTransactionManager();
34     // pub fn OpenTransactionManager();
35     // pub fn OpenTransactionManagerById();
36     // pub fn RenameTransactionManager();
37     // pub fn RollforwardTransactionManager();
38     // pub fn RecoverTransactionManager();
39     // pub fn GetCurrentClockTransactionManager();
40     // pub fn GetTransactionManagerId();
41     // pub fn CreateResourceManager();
42     // pub fn OpenResourceManager();
43     // pub fn RecoverResourceManager();
44     // pub fn GetNotificationResourceManager();
45     // pub fn GetNotificationResourceManagerAsync();
46     // pub fn SetResourceManagerCompletionPort();
47     // pub fn CreateEnlistment();
48     // pub fn OpenEnlistment();
49     // pub fn RecoverEnlistment();
50     // pub fn GetEnlistmentRecoveryInformation();
51     // pub fn GetEnlistmentId();
52     // pub fn SetEnlistmentRecoveryInformation();
53     // pub fn PrepareEnlistment();
54     // pub fn PrePrepareEnlistment();
55     // pub fn CommitEnlistment();
56     // pub fn RollbackEnlistment();
57     // pub fn PrePrepareComplete();
58     // pub fn PrepareComplete();
59     // pub fn ReadOnlyEnlistment();
60     // pub fn CommitComplete();
61     // pub fn RollbackComplete();
62     // pub fn SinglePhaseReject();
63 }
64