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_CLFSMGMTW32 7#define _INC_CLFSMGMTW32 8#if (_WIN32_WINNT >= 0x0600) 9#ifdef __cplusplus 10extern "C" { 11#endif 12 13typedef VOID (CALLBACK * PLOG_UNPINNED_CALLBACK )( 14 HANDLE hLogFile, 15 PVOID pvClientContext 16); 17 18typedef VOID (CALLBACK * PLOG_FULL_HANDLER_CALLBACK )( 19 HANDLE hLogFile, 20 DWORD dwError, 21 WINBOOL fLogIsPinned, 22 PVOID pvClientContext 23); 24 25typedef VOID (CALLBACK * PLOG_TAIL_ADVANCE_CALLBACK )( 26 HANDLE hLogFile, 27 CLFS_LSN lsnTarget, 28 PVOID pvClientContext 29); 30 31typedef struct _LOG_MANAGEMENT_CALLBACKS { 32 PVOID CallbackContext; 33 PLOG_TAIL_ADVANCE_CALLBACK AdvanceTailCallback; 34 PLOG_FULL_HANDLER_CALLBACK LogFullHandlerCallback; 35 PLOG_UNPINNED_CALLBACK LogUnpinnedCallback; 36} LOG_MANAGEMENT_CALLBACKS, *PLOG_MANAGEMENT_CALLBACKS; 37 38WINBOOL WINAPI HandleLogFull( 39 HANDLE hLog 40); 41 42WINBOOL WINAPI RegisterManageableLogClient( 43 HANDLE hLog, 44 PLOG_MANAGEMENT_CALLBACKS pCallbacks 45); 46 47WINBOOL WINAPI ReadLogNotification( 48 HANDLE hLog, 49 PCLFS_MGMT_NOTIFICATION pNotification, 50 LPOVERLAPPED lpOverlapped 51); 52 53WINBOOL WINAPI LogTailAdvanceFailure( 54 HANDLE hLog, 55 DWORD dwReason 56); 57 58WINBOOL WINAPI RegisterForLogWriteNotification( 59 HANDLE hLog, 60 ULONG cbThreshold, 61 WINBOOL fEnable 62); 63 64WINBOOL WINAPI RemoveLogPolicy( 65 HANDLE hLog, 66 CLFS_MANAGEMENT_POLICY_TYPE ePolicyType 67); 68 69WINBOOL WINAPI SetLogFileSizeWithPolicy( 70 HANDLE hLog, 71 PULONGLONG pDesiredSize, 72 PULONGLONG pResultingSize 73); 74#ifdef __cplusplus 75} 76#endif 77#endif /*(_WIN32_WINNT >= 0x0600)*/ 78#endif /*_INC_CLFSMGMTW32*/ 79