mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 03:15:07 +00:00
132 lines
3.6 KiB
C
132 lines
3.6 KiB
C
/**
|
|
* 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_CLFSMGMT
|
|
#define _INC_CLFSMGMT
|
|
#if (_WIN32_WINNT >= 0x0600)
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum _CLFS_MGMT_POLICY_TYPE {
|
|
ClfsMgmtPolicyMaximumSize = 0x0,
|
|
ClfsMgmtPolicyMinimumSize = 0x1,
|
|
ClfsMgmtPolicyNewContainerSize = 0x2,
|
|
ClfsMgmtPolicyGrowthRate = 0x3,
|
|
ClfsMgmtPolicyLogTail = 0x4,
|
|
ClfsMgmtPolicyAutoShrink = 0x5,
|
|
ClfsMgmtPolicyAutoGrow = 0x6,
|
|
ClfsMgmtPolicyNewContainerPrefix = 0x7,
|
|
ClfsMgmtPolicyNewContainerSuffix = 0x8,
|
|
ClfsMgmtPolicyNewContainerExtension = 9,
|
|
ClfsMgmtPolicyInvalid = 10
|
|
} CLFS_MGMT_POLICY_TYPE, *PCLFS_MGMT_POLICY_TYPE;
|
|
|
|
typedef enum _CLFS_MGMT_NOTIFICATION_TYPE {
|
|
ClfsMgmtAdvanceTailNotification = 0,
|
|
ClfsMgmtLogFullHandlerNotification,
|
|
ClfsMgmtLogUnpinnedNotification,
|
|
ClfsMgmtLogWriteNotification
|
|
} CLFS_MGMT_NOTIFICATION_TYPE;
|
|
|
|
typedef struct _CLFS_MGMT_NOTIFICATION {
|
|
CLFS_MGMT_NOTIFICATION_TYPE Notification;
|
|
CLFS_LSN Lsn;
|
|
USHORT LogIsPinned;
|
|
} CLFS_MGMT_NOTIFICATION, *PCLFS_MGMT_NOTIFICATION;
|
|
|
|
typedef struct _CLFS_MGMT_POLICY {
|
|
ULONG Version;
|
|
ULONG LengthInBytes;
|
|
ULONG PolicyFlags;
|
|
CLFS_MGMT_POLICY_TYPE PolicyType;
|
|
union {
|
|
struct {
|
|
ULONG Containers;
|
|
} MaximumSize;
|
|
struct {
|
|
ULONG Containers;
|
|
} MinimumSize;
|
|
struct {
|
|
ULONG SizeInBytes;
|
|
} NewContainerSize;
|
|
struct {
|
|
ULONG AbsoluteGrowthInContainers;
|
|
ULONG RelativeGrowthPercentage;
|
|
} GrowthRate;
|
|
struct {
|
|
ULONG MinimumAvailablePercentage;
|
|
ULONG MinimumAvailableContainers;
|
|
} LogTail;
|
|
struct {
|
|
ULONG Percentage;
|
|
} AutoShrink;
|
|
struct {
|
|
ULONG Enabled;
|
|
} AutoGrow;
|
|
struct {
|
|
USHORT PrefixLengthInBytes;
|
|
WCHAR PrefixString[1];
|
|
} NewContainerPrefix;
|
|
struct {
|
|
ULONGLONG NextContainerSuffix;
|
|
} NewContainerSuffix;
|
|
struct {
|
|
USHORT ExtensionLengthInBytes;
|
|
WCHAR ExtensionString[1];
|
|
} NewContainerExtension;
|
|
} PolicyParameters;
|
|
} CLFS_MGMT_POLICY, *PCLFS_MGMT_POLICY;
|
|
|
|
/* Conflict with CLFS_MGMT_POLICY_TYPE
|
|
typedef struct _ClfsMgmtPolicyAutoGrow {
|
|
ULONG Enabled;
|
|
} ClfsMgmtPolicyAutoGrow;
|
|
|
|
typedef struct _ClfsMgmtPolicyAutoShrink {
|
|
ULONG Percentage;
|
|
} ClfsMgmtPolicyAutoShrink;
|
|
|
|
typedef struct _ClfsMgmtPolicyGrowthRate {
|
|
ULONG AbsoluteGrowthInContainers;
|
|
ULONG RelativeGrowthPercentage;
|
|
} ClfsMgmtPolicyGrowthRate;
|
|
|
|
typedef struct _ClfsMgmtPolicyLogTail {
|
|
ULONG MinimumAvailablePercentage;
|
|
ULONG MinimumAvailableContainers;
|
|
} ClfsMgmtPolicyLogTail;
|
|
|
|
typedef struct _ClfsMgmtPolicyMinimumSize {
|
|
ULONG Containers;
|
|
} ClfsMgmtPolicyMinimumSize;
|
|
|
|
typedef struct _ClfsMgmtPolicyMaximumSize {
|
|
ULONG Containers;
|
|
} ClfsMgmtPolicyMaximumSize;
|
|
|
|
typedef struct _ClfsMgmtPolicyNewContainerExtension {
|
|
ULONG ExtensionLengthInBytes;
|
|
WCHAR ExtensionString[1];
|
|
} ClfsMgmtPolicyNewContainerExtension, *PClfsMgmtPolicyNewContainerExtension;
|
|
|
|
typedef struct _ClfsMgmtPolicyNewContainerPrefix {
|
|
USHORT PrefixLengthInBytes;
|
|
WCHAR PrefixString[1];
|
|
} ClfsMgmtPolicyNewContainerPrefix;
|
|
|
|
typedef struct _ClfsMgmtPolicyNewContainerSize {
|
|
ULONG SizeInBytes;
|
|
} ClfsMgmtPolicyNewContainerSize;
|
|
|
|
typedef struct _ClfsMgmtPolicyNewContainerSuffix {
|
|
ULONGLONG NextContainerSuffix;
|
|
} ClfsMgmtPolicyNewContainerSuffix, *PClfsMgmtPolicyNewContainerSuffix;
|
|
*/
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /*(_WIN32_WINNT >= 0x0600)*/
|
|
#endif /*_INC_CLFSMGMT*/
|