aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/clfsmgmtw32.h
blob: 81a45cec0d11690c4690f2d62f59002b95619bbe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/**
 * 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_CLFSMGMTW32
#define _INC_CLFSMGMTW32
#if (_WIN32_WINNT >= 0x0600)
#ifdef __cplusplus
extern "C" {
#endif

typedef VOID (CALLBACK * PLOG_UNPINNED_CALLBACK )(
  HANDLE hLogFile,
  PVOID pvClientContext
);

typedef VOID (CALLBACK * PLOG_FULL_HANDLER_CALLBACK )(
  HANDLE  hLogFile,
  DWORD   dwError,
  WINBOOL fLogIsPinned,
  PVOID   pvClientContext
);

typedef VOID (CALLBACK * PLOG_TAIL_ADVANCE_CALLBACK )(
  HANDLE hLogFile,
  CLFS_LSN lsnTarget,
  PVOID pvClientContext
);

typedef struct _LOG_MANAGEMENT_CALLBACKS {
  PVOID                      CallbackContext;
  PLOG_TAIL_ADVANCE_CALLBACK AdvanceTailCallback;
  PLOG_FULL_HANDLER_CALLBACK LogFullHandlerCallback;
  PLOG_UNPINNED_CALLBACK     LogUnpinnedCallback;
} LOG_MANAGEMENT_CALLBACKS, *PLOG_MANAGEMENT_CALLBACKS;

WINBOOL WINAPI HandleLogFull(
  HANDLE hLog
);

WINBOOL WINAPI RegisterManageableLogClient(
  HANDLE hLog,
  PLOG_MANAGEMENT_CALLBACKS pCallbacks
);

WINBOOL WINAPI ReadLogNotification(
  HANDLE hLog,
  PCLFS_MGMT_NOTIFICATION pNotification,
  LPOVERLAPPED lpOverlapped
);

WINBOOL WINAPI LogTailAdvanceFailure(
  HANDLE hLog,
  DWORD dwReason
);

WINBOOL WINAPI RegisterForLogWriteNotification(
  HANDLE hLog,
  ULONG cbThreshold,
  WINBOOL fEnable
);

WINBOOL WINAPI RemoveLogPolicy(
  HANDLE hLog,
  CLFS_MANAGEMENT_POLICY_TYPE ePolicyType
);

WINBOOL WINAPI SetLogFileSizeWithPolicy(
  HANDLE hLog,
  PULONGLONG pDesiredSize,
  PULONGLONG pResultingSize
);
#ifdef __cplusplus
}
#endif
#endif /*(_WIN32_WINNT >= 0x0600)*/
#endif /*_INC_CLFSMGMTW32*/