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 10 extern "C" { 11 #endif 12 13 typedef VOID (CALLBACK * PLOG_UNPINNED_CALLBACK )( 14 HANDLE hLogFile, 15 PVOID pvClientContext 16 ); 17 18 typedef VOID (CALLBACK * PLOG_FULL_HANDLER_CALLBACK )( 19 HANDLE hLogFile, 20 DWORD dwError, 21 WINBOOL fLogIsPinned, 22 PVOID pvClientContext 23 ); 24 25 typedef VOID (CALLBACK * PLOG_TAIL_ADVANCE_CALLBACK )( 26 HANDLE hLogFile, 27 CLFS_LSN lsnTarget, 28 PVOID pvClientContext 29 ); 30 31 typedef 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 38 WINBOOL WINAPI HandleLogFull( 39 HANDLE hLog 40 ); 41 42 WINBOOL WINAPI RegisterManageableLogClient( 43 HANDLE hLog, 44 PLOG_MANAGEMENT_CALLBACKS pCallbacks 45 ); 46 47 WINBOOL WINAPI ReadLogNotification( 48 HANDLE hLog, 49 PCLFS_MGMT_NOTIFICATION pNotification, 50 LPOVERLAPPED lpOverlapped 51 ); 52 53 WINBOOL WINAPI LogTailAdvanceFailure( 54 HANDLE hLog, 55 DWORD dwReason 56 ); 57 58 WINBOOL WINAPI RegisterForLogWriteNotification( 59 HANDLE hLog, 60 ULONG cbThreshold, 61 WINBOOL fEnable 62 ); 63 64 WINBOOL WINAPI RemoveLogPolicy( 65 HANDLE hLog, 66 CLFS_MANAGEMENT_POLICY_TYPE ePolicyType 67 ); 68 69 WINBOOL 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