Home | History | Annotate | Download | only in include
      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