/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ #ifndef _INC_TXFW32 #define _INC_TXFW32 #include <clfs.h> #if (_WIN32_WINNT >= 0x0600) #ifdef __cplusplus extern "C" { #endif typedef struct _TXF_ID { __C89_NAMELESS struct { LONGLONG LowPart; LONGLONG HighPart; } DUMMYSTRUCTNAME; } TXF_ID, *PTXF_ID; typedef struct _TXF_LOG_RECORD_AFFECTED_FILE { USHORT Version; ULONG RecordLength; ULONG Flags; TXF_ID TxfFileId; UUID KtmGuid; ULONG FileNameLength; ULONG FileNameByteOffsetInStructure; } TXF_LOG_RECORD_AFFECTED_FILE, *PTXF_LOG_RECORD_AFFECTED_FILE; typedef struct _TXF_LOG_RECORD_TRUNCATE { USHORT Version; USHORT RecordType; ULONG RecordLength; ULONG Flags; TXF_ID TxfFileId; UUID KtmGuid; LONGLONG NewFileSize; ULONG FileNameLength; ULONG FileNameByteOffsetInStructure; } TXF_LOG_RECORD_TRUNCATE, *PTXF_LOG_RECORD_TRUNCATE; typedef struct _TXF_LOG_RECORD_WRITE { USHORT Version; USHORT RecordType; ULONG RecordLength; ULONG Flags; TXF_ID TxfFileId; UUID KtmGuid; LONGLONG ByteOffsetInFile; ULONG NumBytesWritten; ULONG ByteOffsetInStructure; ULONG FileNameLength; ULONG FileNameByteOffsetInStructure; } TXF_LOG_RECORD_WRITE, *PTXF_LOG_RECORD_WRITE; #define TXF_LOG_RECORD_TYPE_WRITE 1 #define TXF_LOG_RECORD_TYPE_TRUNCATE 2 #define TXF_LOG_RECORD_TYPE_AFFECTED_FILE 4 typedef struct _TXF_LOG_RECORD_BASE { USHORT Version; USHORT RecordType; ULONG RecordLength; } TXF_LOG_RECORD_BASE, *PTXF_LOG_RECORD_BASE; WINBOOL WINAPI TxfLogCreateFileReadContext( LPCWSTR LogPath, CLFS_LSN BeginningLsn, CLFS_LSN EndingLSN, PTXF_ID TxfFileId, PVOID *TxfLogContext ); WINBOOL WINAPI TxfLogDestroyReadContext( PVOID TxfLogContext ); WINBOOL WINAPI TxfLogReadRecords( PVOID TxfLogContext, ULONG BufferLength, PVOID Buffer, PULONG BytesUsed, PULONG RecordCount ); #ifdef __cplusplus } #endif #endif /* (_WIN32_WINNT >= 0x0600) */ #endif /*_INC_TXFW32*/