123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- /**
- * 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_CLFSW32
- #define _INC_CLFSW32
- #include <clfs.h>
- #include <clfsmgmt.h>
- #if (_WIN32_WINNT >= 0x0600)
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef PVOID (* CLFS_BLOCK_ALLOCATION) (ULONG cbBufferSize, PVOID pvUserContext);
- typedef void (* CLFS_BLOCK_DEALLOCATION) (PVOID pvBuffer, PVOID pvUserContext);
- typedef FILE *PFILE;
- typedef ULONG (__stdcall * CLFS_PRINT_RECORD_ROUTINE) (PFILE, CLFS_RECORD_TYPE, PVOID, ULONG);
- WINBOOL WINAPI AdvanceLogBase(PVOID pvMarshal,PCLFS_LSN plsnBase,ULONG fFlags,LPOVERLAPPED pOverlapped);
- WINBOOL WINAPI AlignReservedLog(PVOID pvMarshal,ULONG cReservedRecords,LONGLONG rgcbReservation,PLONGLONG pcbAlignReservation);
- WINBOOL WINAPI AllocReservedLog(PVOID pvMarshal,ULONG cReservedRecords,PLONGLONG pcbAdjustment);
- WINBOOL WINAPI AddLogContainer(HANDLE hLog,PULONGLONG pcbContainer,LPWSTR pwszContainerPath,LPVOID pReserved);
- WINBOOL WINAPI AddLogContainerSet(HANDLE hLog,USHORT cContainers,PULONGLONG pcbContainer,LPWSTR *rgwszContainerPath,PVOID Reserved);
- WINBOOL WINAPI CloseAndResetLogFile(HANDLE hLog);
- WINBOOL WINAPI CreateLogContainerScanContext(
- HANDLE hLog,
- ULONG cFromContainer,
- ULONG cContainers,
- CLFS_SCAN_MODE eScanMode,
- PCLFS_SCAN_CONTEXT pcxScan,
- LPOVERLAPPED pOverlapped
- );
- HANDLE WINAPI CreateLogFile(
- LPCWSTR pszLogFileName,
- ACCESS_MASK fDesiredAccess,
- DWORD dwShareMode,
- LPSECURITY_ATTRIBUTES psaLogFile,
- ULONG fCreateDisposition,
- ULONG fFlagsAndAttributes
- );
- WINBOOL WINAPI ScanLogContainers(
- PCLFS_SCAN_CONTEXT pcxScan,
- CLFS_SCAN_MODE eScanMode,
- LPVOID pReserved
- );
- WINBOOL WINAPI CreateLogMarshallingArea(
- HANDLE hLog,
- CLFS_BLOCK_ALLOCATION pfnAllocBuffer,
- CLFS_BLOCK_DEALLOCATION pfnFreeBuffer,
- PVOID pvBlockAllocContext,
- ULONG cbMarshallingBuffer,
- ULONG cMaxWriteBuffers,
- ULONG cMaxReadBuffers,
- PVOID *ppvMarshal
- );
- WINBOOL WINAPI DeleteLogMarshallingArea(
- PVOID pvMarshal
- );
- WINBOOL WINAPI DeleteLogByHandle(
- HANDLE hLog
- );
- WINBOOL WINAPI DeleteLogFile(
- LPCWSTR pszLogFileName,
- PVOID pvReserved
- );
- WINBOOL WINAPI DeregisterManageableLogClient(
- HANDLE hLog
- );
- WINBOOL WINAPI DumpLogRecords(
- PWSTR pwszLogFileName,
- CLFS_RECORD_TYPE fRecordType,
- PCLFS_LSN plsnStart,
- PCLFS_LSN plsnEnd,
- PFILE pstrmOut,
- CLFS_PRINT_RECORD_ROUTINE pfnPrintRecord,
- CLFS_BLOCK_ALLOCATION pfnAllocBlock,
- CLFS_BLOCK_DEALLOCATION pfnFreeBlock,
- PVOID pvBlockAllocContext,
- ULONG cbBlock,
- ULONG cMaxBlocks
- );
- WINBOOL WINAPI ReadLogRecord(
- PVOID pvMarshal,
- PCLFS_LSN plsnFirst,
- CLFS_CONTEXT_MODE eContextMode,
- PVOID *ppvReadBuffer,
- PULONG pcbReadBuffer,
- PCLFS_RECORD_TYPE peRecordType,
- PCLFS_LSN plsnUndoNext,
- PCLFS_LSN plsnPrevious,
- PVOID *ppvReadContext,
- LPOVERLAPPED pOverlapped
- );
- WINBOOL WINAPI ReadNextLogRecord(
- PVOID pvReadContext,
- PVOID *ppvBuffer,
- PULONG pcbBuffer,
- PCLFS_RECORD_TYPE peRecordType,
- PCLFS_LSN plsnUser,
- PCLFS_LSN plsnUndoNext,
- PCLFS_LSN plsnPrevious,
- PCLFS_LSN plsnRecord,
- LPOVERLAPPED pOverlapped
- );
- WINBOOL WINAPI FlushLogBuffers(
- PVOID pvMarshal,
- LPOVERLAPPED pOverlapped
- );
- WINBOOL WINAPI FlushLogToLsn(
- PVOID pvMarshalContext,
- PCLFS_LSN plsnFlush,
- PCLFS_LSN plsnLastFlushed,
- LPOVERLAPPED pOverlapped
- );
- WINBOOL WINAPI FreeReservedLog(
- PVOID pvMarshal,
- ULONG cReservedRecords,
- PLONGLONG pcbAdjustment
- );
- WINBOOL WINAPI GetLogContainerName(
- HANDLE hLog,
- CLFS_CONTAINER_ID cidLogicalContainer,
- LPCWSTR pwstrContainerName,
- ULONG cLenContainerName,
- PULONG pcActualLenContainerName
- );
- WINBOOL WINAPI GetLogFileInformation(
- HANDLE hLog,
- PCLFS_INFORMATION pinfoBuffer,
- PULONG cbBuffer
- );
- WINBOOL WINAPI GetLogIoStatistics(
- HANDLE hLog,
- PVOID pvStatsBuffer,
- ULONG cbStatsBuffer,
- CLFS_IOSTATS_CLASS eStatsClass,
- PULONG pcbStatsWritten
- );
- typedef LPVOID CLFS_LOG_ARCHIVE_CONTEXT;
- typedef CLFS_LOG_ARCHIVE_CONTEXT *PCLFS_LOG_ARCHIVE_CONTEXT;
- WINBOOL WINAPI GetNextLogArchiveExtent(
- CLFS_LOG_ARCHIVE_CONTEXT pvArchiveContext,
- CLFS_ARCHIVE_DESCRIPTOR rgadExtent[],
- ULONG cDescriptors,
- PULONG pcDescriptorsReturned
- );
- WINBOOL WINAPI PrepareLogArchive(
- HANDLE hLog,
- PWSTR pszBaseLogFileName,
- ULONG cLen,
- const PCLFS_LSN plsnLow,
- const PCLFS_LSN plsnHigh,
- PULONG pcActualLength,
- PULONGLONG poffBaseLogFileData,
- PULONGLONG pcbBaseLogFileLength,
- PCLFS_LSN plsnBase,
- PCLFS_LSN plsnLast,
- PCLFS_LSN plsnCurrentArchiveTail,
- PCLFS_LOG_ARCHIVE_CONTEXT ppvArchiveContext
- );
- WINBOOL WINAPI TerminateLogArchive(
- CLFS_LOG_ARCHIVE_CONTEXT pvArchiveContext
- );
- ULONG WINAPI LsnBlockOffset(
- const CLFS_LSN *plsn
- );
- CLFS_CONTAINER_ID WINAPI LsnContainer(
- const CLFS_LSN *plsn
- );
- CLFS_LSN WINAPI LsnCreate(
- CLFS_CONTAINER_ID cidContainer,
- ULONG offBlock,
- ULONG cRecord
- );
- ULONG WINAPI LsnRecordSequence(
- const CLFS_LSN *plsn
- );
- WINBOOL WINAPI PrepareLogArchive(
- HANDLE hLog,
- PWSTR pszBaseLogFileName,
- ULONG cLen,
- const PCLFS_LSN plsnLow,
- const PCLFS_LSN plsnHigh,
- PULONG pcActualLength,
- PULONGLONG poffBaseLogFileData,
- PULONGLONG pcbBaseLogFileLength,
- PCLFS_LSN plsnBase,
- PCLFS_LSN plsnLast,
- PCLFS_LSN plsnCurrentArchiveTail,
- PCLFS_LOG_ARCHIVE_CONTEXT ppvArchiveContext
- );
- WINBOOL WINAPI QueryLogPolicy(
- HANDLE hLog,
- CLFS_MGMT_POLICY_TYPE ePolicyType,
- PCLFS_MGMT_POLICY pPolicyBuffer,
- PULONG pcbPolicyBuffer
- );
- WINBOOL WINAPI ReadLogArchiveMetadata(
- CLFS_LOG_ARCHIVE_CONTEXT pvArchiveContext,
- ULONG cbOffset,
- ULONG cbBytesToRead,
- PBYTE pbReadBuffer,
- PULONG pcbBytesRead
- );
- WINBOOL WINAPI ReadLogRestartArea(
- PVOID pvMarshal,
- PVOID *ppvRestartBuffer,
- PULONG pcbRestartBuffer,
- PCLFS_LSN plsn,
- PVOID *ppvContext,
- LPOVERLAPPED pOverlapped
- );
- WINBOOL WINAPI ReadPreviousLogRestartArea(
- PVOID pvReadContext,
- PVOID *ppvRestartBuffer,
- PULONG pcbRestartBuffer,
- PCLFS_LSN plsnRestart,
- LPOVERLAPPED pOverlapped
- );
- WINBOOL WINAPI RemoveLogContainer(
- HANDLE hLog,
- LPWSTR pwszContainerPath,
- WINBOOL fForce,
- LPVOID pReserved
- );
- WINBOOL WINAPI RemoveLogContainerSet(
- HANDLE hLog,
- USHORT cContainers,
- LPWSTR *rgwszContainerPath,
- WINBOOL fForce,
- LPVOID pReserved
- );
- WINBOOL WINAPI ReserveAndAppendLog(
- PVOID pvMarshal,
- PCLFS_WRITE_ENTRY rgWriteEntries,
- ULONG cWriteEntries,
- PCLFS_LSN plsnUndoNext,
- PCLFS_LSN plsnPrevious,
- ULONG cReserveRecords,
- LONGLONG rgcbReservation[],
- ULONG fFlags,
- PCLFS_LSN plsn,
- LPOVERLAPPED pOverlapped
- );
- WINBOOL WINAPI ReserveAndAppendLogAligned(
- PVOID pvMarshal,
- PCLFS_WRITE_ENTRY rgWriteEntries,
- ULONG cWriteEntries,
- ULONG cbEntryAlignment,
- PCLFS_LSN plsnUndoNext,
- PCLFS_LSN plsnPrevious,
- ULONG cReserveRecords,
- LONGLONG rgcbReservation[],
- ULONG fFlags,
- PCLFS_LSN plsn,
- LPOVERLAPPED overlapped
- );
- WINBOOL WINAPI SetEndOfLog(
- HANDLE hLog,
- PCLFS_LSN plsnEnd,
- LPOVERLAPPED lpOverlapped
- );
- WINBOOL WINAPI SetLogArchiveMode(
- HANDLE hLog,
- CLFS_LOG_ARCHIVE_MODE eMode
- );
- WINBOOL WINAPI SetLogArchiveTail(
- HANDLE hLog,
- PCLFS_LSN plsnArchiveTail,
- LPVOID pReserved
- );
- WINBOOL WINAPI TerminateReadLog(
- PVOID pvCursorContext
- );
- WINBOOL WINAPI ValidateLog(
- LPCWSTR pszLogFileName,
- LPSECURITY_ATTRIBUTES psaLogFile,
- PCLFS_INFORMATION pinfoBuffer,
- PULONG pcbBuffer
- );
- #ifdef __cplusplus
- }
- #endif
- #endif /* (_WIN32_WINNT >= 0x0600) */
- #endif /*_INC_CLFSW32*/
|