source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/clfsmgmt.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 3.6 KB
RevLine 
[1166]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_CLFSMGMT
7#define _INC_CLFSMGMT
8#if (_WIN32_WINNT >= 0x0600)
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef enum _CLFS_MGMT_POLICY_TYPE {
14 ClfsMgmtPolicyMaximumSize = 0x0,
15 ClfsMgmtPolicyMinimumSize = 0x1,
16 ClfsMgmtPolicyNewContainerSize = 0x2,
17 ClfsMgmtPolicyGrowthRate = 0x3,
18 ClfsMgmtPolicyLogTail = 0x4,
19 ClfsMgmtPolicyAutoShrink = 0x5,
20 ClfsMgmtPolicyAutoGrow = 0x6,
21 ClfsMgmtPolicyNewContainerPrefix = 0x7,
22 ClfsMgmtPolicyNewContainerSuffix = 0x8,
23 ClfsMgmtPolicyNewContainerExtension = 9,
24 ClfsMgmtPolicyInvalid = 10
25} CLFS_MGMT_POLICY_TYPE, *PCLFS_MGMT_POLICY_TYPE;
26
27typedef enum _CLFS_MGMT_NOTIFICATION_TYPE {
28 ClfsMgmtAdvanceTailNotification = 0,
29 ClfsMgmtLogFullHandlerNotification,
30 ClfsMgmtLogUnpinnedNotification,
31 ClfsMgmtLogWriteNotification
32} CLFS_MGMT_NOTIFICATION_TYPE;
33
34typedef struct _CLFS_MGMT_NOTIFICATION {
35 CLFS_MGMT_NOTIFICATION_TYPE Notification;
36 CLFS_LSN Lsn;
37 USHORT LogIsPinned;
38} CLFS_MGMT_NOTIFICATION, *PCLFS_MGMT_NOTIFICATION;
39
40typedef struct _CLFS_MGMT_POLICY {
41 ULONG Version;
42 ULONG LengthInBytes;
43 ULONG PolicyFlags;
44 CLFS_MGMT_POLICY_TYPE PolicyType;
45 union {
46 struct {
47 ULONG Containers;
48 } MaximumSize;
49 struct {
50 ULONG Containers;
51 } MinimumSize;
52 struct {
53 ULONG SizeInBytes;
54 } NewContainerSize;
55 struct {
56 ULONG AbsoluteGrowthInContainers;
57 ULONG RelativeGrowthPercentage;
58 } GrowthRate;
59 struct {
60 ULONG MinimumAvailablePercentage;
61 ULONG MinimumAvailableContainers;
62 } LogTail;
63 struct {
64 ULONG Percentage;
65 } AutoShrink;
66 struct {
67 ULONG Enabled;
68 } AutoGrow;
69 struct {
70 USHORT PrefixLengthInBytes;
71 WCHAR PrefixString[1];
72 } NewContainerPrefix;
73 struct {
74 ULONGLONG NextContainerSuffix;
75 } NewContainerSuffix;
76 struct {
77 USHORT ExtensionLengthInBytes;
78 WCHAR ExtensionString[1];
79 } NewContainerExtension;
80 } PolicyParameters;
81} CLFS_MGMT_POLICY, *PCLFS_MGMT_POLICY;
82
83/* Conflict with CLFS_MGMT_POLICY_TYPE
84typedef struct _ClfsMgmtPolicyAutoGrow {
85 ULONG Enabled;
86} ClfsMgmtPolicyAutoGrow;
87
88typedef struct _ClfsMgmtPolicyAutoShrink {
89 ULONG Percentage;
90} ClfsMgmtPolicyAutoShrink;
91
92typedef struct _ClfsMgmtPolicyGrowthRate {
93 ULONG AbsoluteGrowthInContainers;
94 ULONG RelativeGrowthPercentage;
95} ClfsMgmtPolicyGrowthRate;
96
97typedef struct _ClfsMgmtPolicyLogTail {
98 ULONG MinimumAvailablePercentage;
99 ULONG MinimumAvailableContainers;
100} ClfsMgmtPolicyLogTail;
101
102typedef struct _ClfsMgmtPolicyMinimumSize {
103 ULONG Containers;
104} ClfsMgmtPolicyMinimumSize;
105
106typedef struct _ClfsMgmtPolicyMaximumSize {
107 ULONG Containers;
108} ClfsMgmtPolicyMaximumSize;
109
110typedef struct _ClfsMgmtPolicyNewContainerExtension {
111 ULONG ExtensionLengthInBytes;
112 WCHAR ExtensionString[1];
113} ClfsMgmtPolicyNewContainerExtension, *PClfsMgmtPolicyNewContainerExtension;
114
115typedef struct _ClfsMgmtPolicyNewContainerPrefix {
116 USHORT PrefixLengthInBytes;
117 WCHAR PrefixString[1];
118} ClfsMgmtPolicyNewContainerPrefix;
119
120typedef struct _ClfsMgmtPolicyNewContainerSize {
121 ULONG SizeInBytes;
122} ClfsMgmtPolicyNewContainerSize;
123
124typedef struct _ClfsMgmtPolicyNewContainerSuffix {
125 ULONGLONG NextContainerSuffix;
126} ClfsMgmtPolicyNewContainerSuffix, *PClfsMgmtPolicyNewContainerSuffix;
127*/
128#ifdef __cplusplus
129}
130#endif
131#endif /*(_WIN32_WINNT >= 0x0600)*/
132#endif /*_INC_CLFSMGMT*/
Note: See TracBrowser for help on using the repository browser.