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_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