1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_TXFW32 7 #define _INC_TXFW32 8 #include <clfs.h> 9 #if (_WIN32_WINNT >= 0x0600) 10 11 #ifdef __cplusplus 12 extern "C" { 13 #endif 14 15 typedef struct _TXF_ID { 16 __C89_NAMELESS struct { 17 LONGLONG LowPart; 18 LONGLONG HighPart; 19 } DUMMYSTRUCTNAME; 20 } TXF_ID, *PTXF_ID; 21 22 typedef struct _TXF_LOG_RECORD_AFFECTED_FILE { 23 USHORT Version; 24 ULONG RecordLength; 25 ULONG Flags; 26 TXF_ID TxfFileId; 27 UUID KtmGuid; 28 ULONG FileNameLength; 29 ULONG FileNameByteOffsetInStructure; 30 } TXF_LOG_RECORD_AFFECTED_FILE, *PTXF_LOG_RECORD_AFFECTED_FILE; 31 32 typedef struct _TXF_LOG_RECORD_TRUNCATE { 33 USHORT Version; 34 USHORT RecordType; 35 ULONG RecordLength; 36 ULONG Flags; 37 TXF_ID TxfFileId; 38 UUID KtmGuid; 39 LONGLONG NewFileSize; 40 ULONG FileNameLength; 41 ULONG FileNameByteOffsetInStructure; 42 } TXF_LOG_RECORD_TRUNCATE, *PTXF_LOG_RECORD_TRUNCATE; 43 44 typedef struct _TXF_LOG_RECORD_WRITE { 45 USHORT Version; 46 USHORT RecordType; 47 ULONG RecordLength; 48 ULONG Flags; 49 TXF_ID TxfFileId; 50 UUID KtmGuid; 51 LONGLONG ByteOffsetInFile; 52 ULONG NumBytesWritten; 53 ULONG ByteOffsetInStructure; 54 ULONG FileNameLength; 55 ULONG FileNameByteOffsetInStructure; 56 } TXF_LOG_RECORD_WRITE, *PTXF_LOG_RECORD_WRITE; 57 58 #define TXF_LOG_RECORD_TYPE_WRITE 1 59 #define TXF_LOG_RECORD_TYPE_TRUNCATE 2 60 #define TXF_LOG_RECORD_TYPE_AFFECTED_FILE 4 61 62 typedef struct _TXF_LOG_RECORD_BASE { 63 USHORT Version; 64 USHORT RecordType; 65 ULONG RecordLength; 66 } TXF_LOG_RECORD_BASE, *PTXF_LOG_RECORD_BASE; 67 68 WINBOOL WINAPI TxfLogCreateFileReadContext( 69 LPCWSTR LogPath, 70 CLFS_LSN BeginningLsn, 71 CLFS_LSN EndingLSN, 72 PTXF_ID TxfFileId, 73 PVOID *TxfLogContext 74 ); 75 76 WINBOOL WINAPI TxfLogDestroyReadContext( 77 PVOID TxfLogContext 78 ); 79 80 WINBOOL WINAPI TxfLogReadRecords( 81 PVOID TxfLogContext, 82 ULONG BufferLength, 83 PVOID Buffer, 84 PULONG BytesUsed, 85 PULONG RecordCount 86 ); 87 88 #ifdef __cplusplus 89 } 90 #endif 91 #endif /* (_WIN32_WINNT >= 0x0600) */ 92 #endif /*_INC_TXFW32*/ 93