ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ktmtypes.h
Go to the documentation of this file.
00001 /*
00002  * ktmtypes.h
00003  *
00004  * This file is part of the ReactOS PSDK package.
00005  *
00006  * Contributors:
00007  *   Created by Timo Kreuzer <timo.kreuzer@reactos.org>
00008  *
00009  * THIS SOFTWARE IS NOT COPYRIGHTED
00010  *
00011  * This source code is offered for use in the public domain. You may
00012  * use, modify or distribute it freely.
00013  *
00014  * This code is distributed in the hope that it will be useful but
00015  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00016  * DISCLAIMED. This includes but is not limited to warranties of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00018  *
00019  */
00020 
00021 #ifndef _KTMTYPES_
00022 #define _KTMTYPES_
00023 
00024 #define TRANSACTION_MANAGER_VOLATILE             0x00000001
00025 #define TRANSACTION_MANAGER_COMMIT_DEFAULT       0x00000000
00026 #define TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME 0x00000002
00027 #define TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES  0x00000004
00028 #define TRANSACTION_MANAGER_COMMIT_LOWEST        0x00000008
00029 #define TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY 0x00000010
00030 #define TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS 0x00000020
00031 #define TRANSACTION_MANAGER_MAXIMUM_OPTION       0x0000003F
00032 
00033 #define TRANSACTION_DO_NOT_PROMOTE               0x00000001
00034 #define TRANSACTION_MAXIMUM_OPTION               0x00000001
00035 
00036 #define RESOURCE_MANAGER_VOLATILE                0x00000001
00037 #define RESOURCE_MANAGER_COMMUNICATION           0x00000002
00038 #define RESOURCE_MANAGER_MAXIMUM_OPTION          0x00000003
00039 
00040 #define CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY       0x00000001
00041 #define CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO        0x00000002
00042 #define CRM_PROTOCOL_MAXIMUM_OPTION              0x00000003
00043 
00044 #define ENLISTMENT_SUPERIOR                      0x00000001
00045 #define ENLISTMENT_MAXIMUM_OPTION                0x00000001
00046 
00047 #define TRANSACTION_NOTIFY_MASK                  0x3FFFFFFF
00048 #define TRANSACTION_NOTIFY_PREPREPARE            0x00000001
00049 #define TRANSACTION_NOTIFY_PREPARE               0x00000002
00050 #define TRANSACTION_NOTIFY_COMMIT                0x00000004
00051 #define TRANSACTION_NOTIFY_ROLLBACK              0x00000008
00052 #define TRANSACTION_NOTIFY_PREPREPARE_COMPLETE   0x00000010
00053 #define TRANSACTION_NOTIFY_PREPARE_COMPLETE      0x00000020
00054 #define TRANSACTION_NOTIFY_COMMIT_COMPLETE       0x00000040
00055 #define TRANSACTION_NOTIFY_ROLLBACK_COMPLETE     0x00000080
00056 #define TRANSACTION_NOTIFY_RECOVER               0x00000100
00057 #define TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT   0x00000200
00058 #define TRANSACTION_NOTIFY_DELEGATE_COMMIT       0x00000400
00059 #define TRANSACTION_NOTIFY_RECOVER_QUERY         0x00000800
00060 #define TRANSACTION_NOTIFY_ENLIST_PREPREPARE     0x00001000
00061 #define TRANSACTION_NOTIFY_LAST_RECOVER          0x00002000
00062 #define TRANSACTION_NOTIFY_INDOUBT               0x00004000
00063 #define TRANSACTION_NOTIFY_PROPAGATE_PULL        0x00008000
00064 #define TRANSACTION_NOTIFY_PROPAGATE_PUSH        0x00010000
00065 #define TRANSACTION_NOTIFY_MARSHAL               0x00020000
00066 #define TRANSACTION_NOTIFY_ENLIST_MASK           0x00040000
00067 #define TRANSACTION_NOTIFY_RM_DISCONNECTED       0x01000000
00068 #define TRANSACTION_NOTIFY_TM_ONLINE             0x02000000
00069 #define TRANSACTION_NOTIFY_COMMIT_REQUEST        0x04000000
00070 #define TRANSACTION_NOTIFY_PROMOTE               0x08000000
00071 #define TRANSACTION_NOTIFY_PROMOTE_NEW           0x10000000
00072 #define TRANSACTION_NOTIFY_REQUEST_OUTCOME       0x20000000
00073 
00074 #define TRANSACTION_NOTIFY_COMMIT_FINALIZE       0x40000000
00075 
00076 #define TRANSACTIONMANAGER_OBJECT_PATH L"\\TransactionManager\\"
00077 #define TRANSACTION_OBJECT_PATH        L"\\Transaction\\"
00078 #define ENLISTMENT_OBJECT_PATH         L"\\Enlistment\\"
00079 #define RESOURCE_MANAGER_OBJECT_PATH   L"\\ResourceManager\\"
00080 
00081 #define TRANSACTIONMANAGER_OBJECT_NAME_LENGTH_IN_BYTES (sizeof(TRANSACTIONMANAGER_OBJECT_PATH)+(38*sizeof(WCHAR)))
00082 #define TRANSACTION_OBJECT_NAME_LENGTH_IN_BYTES        (sizeof(TRANSACTION_OBJECT_PATH)+(38*sizeof(WCHAR)))
00083 #define ENLISTMENT_OBJECT_NAME_LENGTH_IN_BYTES         (sizeof(ENLISTMENT_OBJECT_PATH)+(38*sizeof(WCHAR)))
00084 #define RESOURCE_MANAGER_OBJECT_NAME_LENGTH_IN_BYTES   (sizeof(RESOURCE_MANAGER_OBJECT_PATH)+(38*sizeof(WCHAR)))
00085 
00086 #define TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED 0x1
00087 
00088 #define KTM_MARSHAL_BLOB_VERSION_MAJOR 1
00089 #define KTM_MARSHAL_BLOB_VERSION_MINOR 1
00090 
00091 #define MAX_TRANSACTION_DESCRIPTION_LENGTH  64
00092 #define MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH  64
00093 
00094 #ifndef _WDMDDK_
00095 typedef GUID UOW, *PUOW;
00096 #endif
00097 
00098 typedef GUID CRM_PROTOCOL_ID, *PCRM_PROTOCOL_ID;
00099 typedef ULONG NOTIFICATION_MASK;
00100 typedef ULONG SAVEPOINT_ID, *PSAVEPOINT_ID;
00101 
00102 typedef struct _TRANSACTION_NOTIFICATION {
00103   PVOID TransactionKey;
00104   ULONG TransactionNotification;
00105   LARGE_INTEGER TmVirtualClock;
00106   ULONG ArgumentLength;
00107 } TRANSACTION_NOTIFICATION, *PTRANSACTION_NOTIFICATION;
00108 
00109 typedef struct _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT {
00110   GUID EnlistmentId;
00111 #if defined(__cplusplus)
00112   ::UOW UOW;
00113 #else
00114   UOW UOW;
00115 #endif
00116 } TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT, *PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT;
00117 
00118 typedef struct _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT {
00119   GUID TmIdentity;
00120   ULONG Flags;
00121 } TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT, *PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT;
00122 
00123 typedef struct _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT {
00124   SAVEPOINT_ID SavepointId;
00125 } TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT, *PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT;
00126 
00127 typedef struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT {
00128   ULONG PropagationCookie;
00129   GUID UOW;
00130   GUID TmIdentity;
00131   ULONG BufferLength;
00132 } TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT, *PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT,
00133   TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT, *PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT;
00134 
00135 typedef struct _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT {
00136   ULONG MarshalCookie;
00137   GUID UOW;
00138 } TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT, *PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT;
00139 
00140 typedef struct _KCRM_MARSHAL_HEADER {
00141   ULONG VersionMajor;
00142   ULONG VersionMinor;
00143   ULONG NumProtocols;
00144   ULONG Unused;
00145 } KCRM_MARSHAL_HEADER, *PKCRM_MARSHAL_HEADER, *RESTRICTED_POINTER PRKCRM_MARSHAL_HEADER;
00146 
00147 typedef struct _KCRM_TRANSACTION_BLOB {
00148 #if defined(__cplusplus)
00149   ::UOW UOW;
00150 #else
00151   UOW UOW;
00152 #endif
00153   GUID TmIdentity;
00154   ULONG IsolationLevel;
00155   ULONG IsolationFlags;
00156   ULONG Timeout;
00157   WCHAR Description[MAX_TRANSACTION_DESCRIPTION_LENGTH];
00158 } KCRM_TRANSACTION_BLOB, *PKCRM_TRANSACTION_BLOB, *RESTRICTED_POINTER PRKCRM_TRANSACTION_BLOB;
00159 
00160 typedef struct _KCRM_PROTOCOL_BLOB {
00161   CRM_PROTOCOL_ID ProtocolId;
00162   ULONG StaticInfoLength;
00163   ULONG TransactionIdInfoLength;
00164   ULONG Unused1;
00165   ULONG Unused2;
00166 } KCRM_PROTOCOL_BLOB, *PKCRM_PROTOCOL_BLOB, *RESTRICTED_POINTER PRKCRM_PROTOCOL_BLOB;
00167 
00168 #endif /* _KTMTYPES_ */
00169 

Generated on Mon May 28 2012 04:31:26 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.