zigwin32/win32/storage/file_system.zig

8695 lines
334 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (279)
//--------------------------------------------------------------------------------
pub const EA_CONTAINER_NAME = "ContainerName";
pub const EA_CONTAINER_SIZE = "ContainerSize";
pub const CLFS_BASELOG_EXTENSION = ".blf";
pub const CLFS_FLAG_REENTRANT_FILE_SYSTEM = @as(u32, 8);
pub const CLFS_FLAG_NON_REENTRANT_FILTER = @as(u32, 16);
pub const CLFS_FLAG_REENTRANT_FILTER = @as(u32, 32);
pub const CLFS_FLAG_IGNORE_SHARE_ACCESS = @as(u32, 64);
pub const CLFS_FLAG_READ_IN_PROGRESS = @as(u32, 128);
pub const CLFS_FLAG_MINIFILTER_LEVEL = @as(u32, 256);
pub const CLFS_FLAG_HIDDEN_SYSTEM_LOG = @as(u32, 512);
pub const CLFS_MARSHALLING_FLAG_NONE = @as(u32, 0);
pub const CLFS_MARSHALLING_FLAG_DISABLE_BUFF_INIT = @as(u32, 1);
pub const CLFS_FLAG_FILTER_INTERMEDIATE_LEVEL = @as(u32, 16);
pub const CLFS_FLAG_FILTER_TOP_LEVEL = @as(u32, 32);
pub const CLFS_CONTAINER_STREAM_PREFIX = "%BLF%:";
pub const CLFS_CONTAINER_RELATIVE_PREFIX = "%BLF%\\";
pub const TRANSACTION_MANAGER_VOLATILE = @as(u32, 1);
pub const TRANSACTION_MANAGER_COMMIT_DEFAULT = @as(u32, 0);
pub const TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME = @as(u32, 2);
pub const TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES = @as(u32, 4);
pub const TRANSACTION_MANAGER_COMMIT_LOWEST = @as(u32, 8);
pub const TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY = @as(u32, 16);
pub const TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS = @as(u32, 32);
pub const TRANSACTION_MANAGER_MAXIMUM_OPTION = @as(u32, 63);
pub const TRANSACTION_DO_NOT_PROMOTE = @as(u32, 1);
pub const TRANSACTION_MAXIMUM_OPTION = @as(u32, 1);
pub const RESOURCE_MANAGER_VOLATILE = @as(u32, 1);
pub const RESOURCE_MANAGER_COMMUNICATION = @as(u32, 2);
pub const RESOURCE_MANAGER_MAXIMUM_OPTION = @as(u32, 3);
pub const CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY = @as(u32, 1);
pub const CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO = @as(u32, 2);
pub const CRM_PROTOCOL_MAXIMUM_OPTION = @as(u32, 3);
pub const ENLISTMENT_SUPERIOR = @as(u32, 1);
pub const ENLISTMENT_MAXIMUM_OPTION = @as(u32, 1);
pub const TRANSACTION_NOTIFY_MASK = @as(u32, 1073741823);
pub const TRANSACTION_NOTIFY_PREPREPARE = @as(u32, 1);
pub const TRANSACTION_NOTIFY_PREPARE = @as(u32, 2);
pub const TRANSACTION_NOTIFY_COMMIT = @as(u32, 4);
pub const TRANSACTION_NOTIFY_ROLLBACK = @as(u32, 8);
pub const TRANSACTION_NOTIFY_PREPREPARE_COMPLETE = @as(u32, 16);
pub const TRANSACTION_NOTIFY_PREPARE_COMPLETE = @as(u32, 32);
pub const TRANSACTION_NOTIFY_COMMIT_COMPLETE = @as(u32, 64);
pub const TRANSACTION_NOTIFY_ROLLBACK_COMPLETE = @as(u32, 128);
pub const TRANSACTION_NOTIFY_RECOVER = @as(u32, 256);
pub const TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT = @as(u32, 512);
pub const TRANSACTION_NOTIFY_DELEGATE_COMMIT = @as(u32, 1024);
pub const TRANSACTION_NOTIFY_RECOVER_QUERY = @as(u32, 2048);
pub const TRANSACTION_NOTIFY_ENLIST_PREPREPARE = @as(u32, 4096);
pub const TRANSACTION_NOTIFY_LAST_RECOVER = @as(u32, 8192);
pub const TRANSACTION_NOTIFY_INDOUBT = @as(u32, 16384);
pub const TRANSACTION_NOTIFY_PROPAGATE_PULL = @as(u32, 32768);
pub const TRANSACTION_NOTIFY_PROPAGATE_PUSH = @as(u32, 65536);
pub const TRANSACTION_NOTIFY_MARSHAL = @as(u32, 131072);
pub const TRANSACTION_NOTIFY_ENLIST_MASK = @as(u32, 262144);
pub const TRANSACTION_NOTIFY_RM_DISCONNECTED = @as(u32, 16777216);
pub const TRANSACTION_NOTIFY_TM_ONLINE = @as(u32, 33554432);
pub const TRANSACTION_NOTIFY_COMMIT_REQUEST = @as(u32, 67108864);
pub const TRANSACTION_NOTIFY_PROMOTE = @as(u32, 134217728);
pub const TRANSACTION_NOTIFY_PROMOTE_NEW = @as(u32, 268435456);
pub const TRANSACTION_NOTIFY_REQUEST_OUTCOME = @as(u32, 536870912);
pub const TRANSACTION_NOTIFY_COMMIT_FINALIZE = @as(u32, 1073741824);
pub const TRANSACTIONMANAGER_OBJECT_PATH = "\\TransactionManager\\";
pub const TRANSACTION_OBJECT_PATH = "\\Transaction\\";
pub const ENLISTMENT_OBJECT_PATH = "\\Enlistment\\";
pub const RESOURCE_MANAGER_OBJECT_PATH = "\\ResourceManager\\";
pub const TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED = @as(u32, 1);
pub const KTM_MARSHAL_BLOB_VERSION_MAJOR = @as(u32, 1);
pub const KTM_MARSHAL_BLOB_VERSION_MINOR = @as(u32, 1);
pub const MAX_TRANSACTION_DESCRIPTION_LENGTH = @as(u32, 64);
pub const MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH = @as(u32, 64);
pub const IOCTL_VOLUME_BASE = @as(u32, 86);
pub const IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS = @as(u32, 5636096);
pub const IOCTL_VOLUME_ONLINE = @as(u32, 5685256);
pub const IOCTL_VOLUME_OFFLINE = @as(u32, 5685260);
pub const IOCTL_VOLUME_IS_CLUSTERED = @as(u32, 5636144);
pub const IOCTL_VOLUME_GET_GPT_ATTRIBUTES = @as(u32, 5636152);
pub const IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE = @as(u32, 5636100);
pub const IOCTL_VOLUME_IS_OFFLINE = @as(u32, 5636112);
pub const IOCTL_VOLUME_IS_IO_CAPABLE = @as(u32, 5636116);
pub const IOCTL_VOLUME_QUERY_FAILOVER_SET = @as(u32, 5636120);
pub const IOCTL_VOLUME_QUERY_VOLUME_NUMBER = @as(u32, 5636124);
pub const IOCTL_VOLUME_LOGICAL_TO_PHYSICAL = @as(u32, 5636128);
pub const IOCTL_VOLUME_PHYSICAL_TO_LOGICAL = @as(u32, 5636132);
pub const IOCTL_VOLUME_IS_PARTITION = @as(u32, 5636136);
pub const IOCTL_VOLUME_READ_PLEX = @as(u32, 5652526);
pub const IOCTL_VOLUME_SET_GPT_ATTRIBUTES = @as(u32, 5636148);
pub const IOCTL_VOLUME_GET_BC_PROPERTIES = @as(u32, 5652540);
pub const IOCTL_VOLUME_ALLOCATE_BC_STREAM = @as(u32, 5685312);
pub const IOCTL_VOLUME_FREE_BC_STREAM = @as(u32, 5685316);
pub const IOCTL_VOLUME_BC_VERSION = @as(u32, 1);
pub const IOCTL_VOLUME_IS_DYNAMIC = @as(u32, 5636168);
pub const IOCTL_VOLUME_PREPARE_FOR_CRITICAL_IO = @as(u32, 5685324);
pub const IOCTL_VOLUME_QUERY_ALLOCATION_HINT = @as(u32, 5652562);
pub const IOCTL_VOLUME_UPDATE_PROPERTIES = @as(u32, 5636180);
pub const IOCTL_VOLUME_QUERY_MINIMUM_SHRINK_SIZE = @as(u32, 5652568);
pub const IOCTL_VOLUME_PREPARE_FOR_SHRINK = @as(u32, 5685340);
pub const IOCTL_VOLUME_IS_CSV = @as(u32, 5636192);
pub const IOCTL_VOLUME_POST_ONLINE = @as(u32, 5685348);
pub const IOCTL_VOLUME_GET_CSVBLOCKCACHE_CALLBACK = @as(u32, 5685352);
pub const CSV_BLOCK_CACHE_CALLBACK_VERSION = @as(u32, 1);
pub const CSV_BLOCK_AND_FILE_CACHE_CALLBACK_VERSION = @as(u32, 2);
pub const PARTITION_BASIC_DATA_GUID = Guid.initString("ebd0a0a2-b9e5-4433-87c0-68b6b72699c7");
pub const PARTITION_BSP_GUID = Guid.initString("57434f53-4df9-45b9-8e9e-2370f006457c");
pub const PARTITION_CLUSTER_GUID = Guid.initString("db97dba9-0840-4bae-97f0-ffb9a327c7e1");
pub const PARTITION_DPP_GUID = Guid.initString("57434f53-94cb-43f0-a533-d73c10cfa57d");
pub const PARTITION_ENTRY_UNUSED_GUID = Guid.initString("00000000-0000-0000-0000-000000000000");
pub const PARTITION_LDM_DATA_GUID = Guid.initString("af9b60a0-1431-4f62-bc68-3311714a69ad");
pub const PARTITION_LDM_METADATA_GUID = Guid.initString("5808c8aa-7e8f-42e0-85d2-e1e90434cfb3");
pub const PARTITION_LEGACY_BL_GUID = Guid.initString("424ca0e2-7cb2-4fb9-8143-c52a99398bc6");
pub const PARTITION_LEGACY_BL_GUID_BACKUP = Guid.initString("424c3e6c-d79f-49cb-935d-36d71467a288");
pub const PARTITION_MAIN_OS_GUID = Guid.initString("57434f53-8f45-405e-8a23-186d8a4330d3");
pub const PARTITION_MSFT_RECOVERY_GUID = Guid.initString("de94bba4-06d1-4d40-a16a-bfd50179d6ac");
pub const PARTITION_MSFT_RESERVED_GUID = Guid.initString("e3c9e316-0b5c-4db8-817d-f92df00215ae");
pub const PARTITION_MSFT_SNAPSHOT_GUID = Guid.initString("caddebf1-4400-4de8-b103-12117dcf3ccf");
pub const PARTITION_OS_DATA_GUID = Guid.initString("57434f53-23f2-44d5-a830-67bbdaa609f9");
pub const PARTITION_PATCH_GUID = Guid.initString("8967a686-96aa-6aa8-9589-a84256541090");
pub const PARTITION_PRE_INSTALLED_GUID = Guid.initString("57434f53-7fe0-4196-9b42-427b51643484");
pub const PARTITION_SERVICING_FILES_GUID = Guid.initString("57434f53-432e-4014-ae4c-8deaa9c0006a");
pub const PARTITION_SERVICING_METADATA_GUID = Guid.initString("57434f53-c691-4a05-bb4e-703dafd229ce");
pub const PARTITION_SERVICING_RESERVE_GUID = Guid.initString("57434f53-4b81-460b-a319-ffb6fe136d14");
pub const PARTITION_SERVICING_STAGING_ROOT_GUID = Guid.initString("57434f53-e84d-4e84-aaf3-ecbbbd04b9df");
pub const PARTITION_SPACES_GUID = Guid.initString("e75caf8f-f680-4cee-afa3-b001e56efc2d");
pub const PARTITION_SPACES_DATA_GUID = Guid.initString("e7addcb4-dc34-4539-9a76-ebbd07be6f7e");
pub const PARTITION_SYSTEM_GUID = Guid.initString("c12a7328-f81f-11d2-ba4b-00a0c93ec93b");
pub const PARTITION_WINDOWS_SYSTEM_GUID = Guid.initString("57434f53-e3e3-4631-a5c5-26d2243873aa");
pub const _FT_TYPES_DEFINITION_ = @as(u32, 1);
pub const CLFS_MGMT_POLICY_VERSION = @as(u32, 1);
pub const LOG_POLICY_OVERWRITE = @as(u32, 1);
pub const LOG_POLICY_PERSIST = @as(u32, 2);
pub const CLFS_MGMT_CLIENT_REGISTRATION_VERSION = @as(u32, 1);
pub const CLSID_DiskQuotaControl = Guid.initString("7988b571-ec89-11cf-9c00-00aa00a14f56");
pub const DISKQUOTA_STATE_DISABLED = @as(u32, 0);
pub const DISKQUOTA_STATE_TRACK = @as(u32, 1);
pub const DISKQUOTA_STATE_ENFORCE = @as(u32, 2);
pub const DISKQUOTA_STATE_MASK = @as(u32, 3);
pub const DISKQUOTA_FILESTATE_INCOMPLETE = @as(u32, 256);
pub const DISKQUOTA_FILESTATE_REBUILDING = @as(u32, 512);
pub const DISKQUOTA_FILESTATE_MASK = @as(u32, 768);
pub const DISKQUOTA_LOGFLAG_USER_THRESHOLD = @as(u32, 1);
pub const DISKQUOTA_LOGFLAG_USER_LIMIT = @as(u32, 2);
pub const DISKQUOTA_USER_ACCOUNT_RESOLVED = @as(u32, 0);
pub const DISKQUOTA_USER_ACCOUNT_UNAVAILABLE = @as(u32, 1);
pub const DISKQUOTA_USER_ACCOUNT_DELETED = @as(u32, 2);
pub const DISKQUOTA_USER_ACCOUNT_INVALID = @as(u32, 3);
pub const DISKQUOTA_USER_ACCOUNT_UNKNOWN = @as(u32, 4);
pub const DISKQUOTA_USER_ACCOUNT_UNRESOLVED = @as(u32, 5);
pub const INVALID_SET_FILE_POINTER = @as(u32, 4294967295);
pub const INVALID_FILE_ATTRIBUTES = @as(u32, 4294967295);
pub const SHARE_NETNAME_PARMNUM = @as(u32, 1);
pub const SHARE_TYPE_PARMNUM = @as(u32, 3);
pub const SHARE_REMARK_PARMNUM = @as(u32, 4);
pub const SHARE_PERMISSIONS_PARMNUM = @as(u32, 5);
pub const SHARE_MAX_USES_PARMNUM = @as(u32, 6);
pub const SHARE_CURRENT_USES_PARMNUM = @as(u32, 7);
pub const SHARE_PATH_PARMNUM = @as(u32, 8);
pub const SHARE_PASSWD_PARMNUM = @as(u32, 9);
pub const SHARE_FILE_SD_PARMNUM = @as(u32, 501);
pub const SHARE_SERVER_PARMNUM = @as(u32, 503);
pub const SHI1_NUM_ELEMENTS = @as(u32, 4);
pub const SHI2_NUM_ELEMENTS = @as(u32, 10);
pub const STYPE_RESERVED1 = @as(u32, 16777216);
pub const STYPE_RESERVED2 = @as(u32, 33554432);
pub const STYPE_RESERVED3 = @as(u32, 67108864);
pub const STYPE_RESERVED4 = @as(u32, 134217728);
pub const STYPE_RESERVED5 = @as(u32, 1048576);
pub const STYPE_RESERVED_ALL = @as(u32, 1073741568);
pub const SHI_USES_UNLIMITED = @as(u32, 4294967295);
pub const SHI1005_FLAGS_DFS = @as(u32, 1);
pub const SHI1005_FLAGS_DFS_ROOT = @as(u32, 2);
pub const CSC_MASK_EXT = @as(u32, 8240);
pub const CSC_MASK = @as(u32, 48);
pub const CSC_CACHE_MANUAL_REINT = @as(u32, 0);
pub const CSC_CACHE_AUTO_REINT = @as(u32, 16);
pub const CSC_CACHE_VDO = @as(u32, 32);
pub const CSC_CACHE_NONE = @as(u32, 48);
pub const SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS = @as(u32, 256);
pub const SHI1005_FLAGS_FORCE_SHARED_DELETE = @as(u32, 512);
pub const SHI1005_FLAGS_ALLOW_NAMESPACE_CACHING = @as(u32, 1024);
pub const SHI1005_FLAGS_ACCESS_BASED_DIRECTORY_ENUM = @as(u32, 2048);
pub const SHI1005_FLAGS_FORCE_LEVELII_OPLOCK = @as(u32, 4096);
pub const SHI1005_FLAGS_ENABLE_HASH = @as(u32, 8192);
pub const SHI1005_FLAGS_ENABLE_CA = @as(u32, 16384);
pub const SHI1005_FLAGS_ENCRYPT_DATA = @as(u32, 32768);
pub const SHI1005_FLAGS_RESERVED = @as(u32, 65536);
pub const SHI1005_FLAGS_DISABLE_CLIENT_BUFFERING = @as(u32, 131072);
pub const SHI1005_FLAGS_IDENTITY_REMOTING = @as(u32, 262144);
pub const SHI1005_FLAGS_CLUSTER_MANAGED = @as(u32, 524288);
pub const SHI1005_FLAGS_COMPRESS_DATA = @as(u32, 1048576);
pub const SESI1_NUM_ELEMENTS = @as(u32, 8);
pub const SESI2_NUM_ELEMENTS = @as(u32, 9);
pub const STATSOPT_CLR = @as(u32, 1);
pub const LZERROR_BADINHANDLE = @as(i32, -1);
pub const LZERROR_BADOUTHANDLE = @as(i32, -2);
pub const LZERROR_READ = @as(i32, -3);
pub const LZERROR_WRITE = @as(i32, -4);
pub const LZERROR_GLOBALLOC = @as(i32, -5);
pub const LZERROR_GLOBLOCK = @as(i32, -6);
pub const LZERROR_BADVALUE = @as(i32, -7);
pub const LZERROR_UNKNOWNALG = @as(i32, -8);
pub const NTMS_OBJECTNAME_LENGTH = @as(u32, 64);
pub const NTMS_DESCRIPTION_LENGTH = @as(u32, 127);
pub const NTMS_DEVICENAME_LENGTH = @as(u32, 64);
pub const NTMS_SERIALNUMBER_LENGTH = @as(u32, 32);
pub const NTMS_REVISION_LENGTH = @as(u32, 32);
pub const NTMS_BARCODE_LENGTH = @as(u32, 64);
pub const NTMS_SEQUENCE_LENGTH = @as(u32, 32);
pub const NTMS_VENDORNAME_LENGTH = @as(u32, 128);
pub const NTMS_PRODUCTNAME_LENGTH = @as(u32, 128);
pub const NTMS_USERNAME_LENGTH = @as(u32, 64);
pub const NTMS_APPLICATIONNAME_LENGTH = @as(u32, 64);
pub const NTMS_COMPUTERNAME_LENGTH = @as(u32, 64);
pub const NTMS_I1_MESSAGE_LENGTH = @as(u32, 127);
pub const NTMS_MESSAGE_LENGTH = @as(u32, 256);
pub const NTMS_POOLHIERARCHY_LENGTH = @as(u32, 512);
pub const NTMS_OMIDLABELID_LENGTH = @as(u32, 255);
pub const NTMS_OMIDLABELTYPE_LENGTH = @as(u32, 64);
pub const NTMS_OMIDLABELINFO_LENGTH = @as(u32, 256);
pub const NTMS_MAXATTR_LENGTH = @as(u32, 65536);
pub const NTMS_MAXATTR_NAMELEN = @as(u32, 32);
pub const NTMSMLI_MAXTYPE = @as(u32, 64);
pub const NTMSMLI_MAXIDSIZE = @as(u32, 256);
pub const NTMSMLI_MAXAPPDESCR = @as(u32, 256);
pub const TXF_LOG_RECORD_GENERIC_TYPE_COMMIT = @as(u32, 1);
pub const TXF_LOG_RECORD_GENERIC_TYPE_ABORT = @as(u32, 2);
pub const TXF_LOG_RECORD_GENERIC_TYPE_PREPARE = @as(u32, 4);
pub const TXF_LOG_RECORD_GENERIC_TYPE_DATA = @as(u32, 8);
pub const VS_VERSION_INFO = @as(u32, 1);
pub const VS_USER_DEFINED = @as(u32, 100);
pub const VS_FFI_SIGNATURE = @as(i32, -17890115);
pub const VS_FFI_STRUCVERSION = @as(i32, 65536);
pub const VS_FFI_FILEFLAGSMASK = @as(i32, 63);
pub const WINEFS_SETUSERKEY_SET_CAPABILITIES = @as(u32, 1);
pub const EFS_COMPATIBILITY_VERSION_NCRYPT_PROTECTOR = @as(u32, 5);
pub const EFS_COMPATIBILITY_VERSION_PFILE_PROTECTOR = @as(u32, 6);
pub const EFS_SUBVER_UNKNOWN = @as(u32, 0);
pub const EFS_EFS_SUBVER_EFS_CERT = @as(u32, 1);
pub const EFS_PFILE_SUBVER_RMS = @as(u32, 2);
pub const EFS_PFILE_SUBVER_APPX = @as(u32, 3);
pub const MAX_SID_SIZE = @as(u32, 256);
pub const EFS_METADATA_ADD_USER = @as(u32, 1);
pub const EFS_METADATA_REMOVE_USER = @as(u32, 2);
pub const EFS_METADATA_REPLACE_USER = @as(u32, 4);
pub const EFS_METADATA_GENERAL_OP = @as(u32, 8);
pub const WOF_PROVIDER_WIM = @as(u32, 1);
pub const WOF_PROVIDER_FILE = @as(u32, 2);
pub const WIM_PROVIDER_HASH_SIZE = @as(u32, 20);
pub const WIM_BOOT_OS_WIM = @as(u32, 1);
pub const WIM_BOOT_NOT_OS_WIM = @as(u32, 0);
pub const WIM_ENTRY_FLAG_NOT_ACTIVE = @as(u32, 1);
pub const WIM_ENTRY_FLAG_SUSPENDED = @as(u32, 2);
pub const WIM_EXTERNAL_FILE_INFO_FLAG_NOT_ACTIVE = @as(u32, 1);
pub const WIM_EXTERNAL_FILE_INFO_FLAG_SUSPENDED = @as(u32, 2);
pub const FILE_PROVIDER_COMPRESSION_XPRESS4K = @as(u32, 0);
pub const FILE_PROVIDER_COMPRESSION_LZX = @as(u32, 1);
pub const FILE_PROVIDER_COMPRESSION_XPRESS8K = @as(u32, 2);
pub const FILE_PROVIDER_COMPRESSION_XPRESS16K = @as(u32, 3);
pub const ClfsNullRecord = @as(u8, 0);
pub const ClfsDataRecord = @as(u8, 1);
pub const ClfsRestartRecord = @as(u8, 2);
pub const ClfsClientRecord = @as(u8, 3);
pub const ClsContainerInitializing = @as(u32, 1);
pub const ClsContainerInactive = @as(u32, 2);
pub const ClsContainerActive = @as(u32, 4);
pub const ClsContainerActivePendingDelete = @as(u32, 8);
pub const ClsContainerPendingArchive = @as(u32, 16);
pub const ClsContainerPendingArchiveAndDelete = @as(u32, 32);
pub const ClfsContainerInitializing = @as(u32, 1);
pub const ClfsContainerInactive = @as(u32, 2);
pub const ClfsContainerActive = @as(u32, 4);
pub const ClfsContainerActivePendingDelete = @as(u32, 8);
pub const ClfsContainerPendingArchive = @as(u32, 16);
pub const ClfsContainerPendingArchiveAndDelete = @as(u32, 32);
pub const CLFS_MAX_CONTAINER_INFO = @as(u32, 256);
pub const CLFS_SCAN_INIT = @as(u8, 1);
pub const CLFS_SCAN_FORWARD = @as(u8, 2);
pub const CLFS_SCAN_BACKWARD = @as(u8, 4);
pub const CLFS_SCAN_CLOSE = @as(u8, 8);
pub const CLFS_SCAN_INITIALIZED = @as(u8, 16);
pub const CLFS_SCAN_BUFFERED = @as(u8, 32);
//--------------------------------------------------------------------------------
// Section: Types (336)
//--------------------------------------------------------------------------------
pub const FIND_FIRST_EX_FLAGS = enum(u32) {
CASE_SENSITIVE = 1,
LARGE_FETCH = 2,
ON_DISK_ENTRIES_ONLY = 4,
_,
pub fn initFlags(o: struct {
CASE_SENSITIVE: u1 = 0,
LARGE_FETCH: u1 = 0,
ON_DISK_ENTRIES_ONLY: u1 = 0,
}) FIND_FIRST_EX_FLAGS {
return @as(FIND_FIRST_EX_FLAGS, @enumFromInt(
(if (o.CASE_SENSITIVE == 1) @intFromEnum(FIND_FIRST_EX_FLAGS.CASE_SENSITIVE) else 0)
| (if (o.LARGE_FETCH == 1) @intFromEnum(FIND_FIRST_EX_FLAGS.LARGE_FETCH) else 0)
| (if (o.ON_DISK_ENTRIES_ONLY == 1) @intFromEnum(FIND_FIRST_EX_FLAGS.ON_DISK_ENTRIES_ONLY) else 0)
));
}
};
pub const FIND_FIRST_EX_CASE_SENSITIVE = FIND_FIRST_EX_FLAGS.CASE_SENSITIVE;
pub const FIND_FIRST_EX_LARGE_FETCH = FIND_FIRST_EX_FLAGS.LARGE_FETCH;
pub const FIND_FIRST_EX_ON_DISK_ENTRIES_ONLY = FIND_FIRST_EX_FLAGS.ON_DISK_ENTRIES_ONLY;
pub const DEFINE_DOS_DEVICE_FLAGS = enum(u32) {
RAW_TARGET_PATH = 1,
REMOVE_DEFINITION = 2,
EXACT_MATCH_ON_REMOVE = 4,
NO_BROADCAST_SYSTEM = 8,
LUID_BROADCAST_DRIVE = 16,
_,
pub fn initFlags(o: struct {
RAW_TARGET_PATH: u1 = 0,
REMOVE_DEFINITION: u1 = 0,
EXACT_MATCH_ON_REMOVE: u1 = 0,
NO_BROADCAST_SYSTEM: u1 = 0,
LUID_BROADCAST_DRIVE: u1 = 0,
}) DEFINE_DOS_DEVICE_FLAGS {
return @as(DEFINE_DOS_DEVICE_FLAGS, @enumFromInt(
(if (o.RAW_TARGET_PATH == 1) @intFromEnum(DEFINE_DOS_DEVICE_FLAGS.RAW_TARGET_PATH) else 0)
| (if (o.REMOVE_DEFINITION == 1) @intFromEnum(DEFINE_DOS_DEVICE_FLAGS.REMOVE_DEFINITION) else 0)
| (if (o.EXACT_MATCH_ON_REMOVE == 1) @intFromEnum(DEFINE_DOS_DEVICE_FLAGS.EXACT_MATCH_ON_REMOVE) else 0)
| (if (o.NO_BROADCAST_SYSTEM == 1) @intFromEnum(DEFINE_DOS_DEVICE_FLAGS.NO_BROADCAST_SYSTEM) else 0)
| (if (o.LUID_BROADCAST_DRIVE == 1) @intFromEnum(DEFINE_DOS_DEVICE_FLAGS.LUID_BROADCAST_DRIVE) else 0)
));
}
};
pub const DDD_RAW_TARGET_PATH = DEFINE_DOS_DEVICE_FLAGS.RAW_TARGET_PATH;
pub const DDD_REMOVE_DEFINITION = DEFINE_DOS_DEVICE_FLAGS.REMOVE_DEFINITION;
pub const DDD_EXACT_MATCH_ON_REMOVE = DEFINE_DOS_DEVICE_FLAGS.EXACT_MATCH_ON_REMOVE;
pub const DDD_NO_BROADCAST_SYSTEM = DEFINE_DOS_DEVICE_FLAGS.NO_BROADCAST_SYSTEM;
pub const DDD_LUID_BROADCAST_DRIVE = DEFINE_DOS_DEVICE_FLAGS.LUID_BROADCAST_DRIVE;
pub const FILE_FLAGS_AND_ATTRIBUTES = enum(u32) {
FILE_ATTRIBUTE_READONLY = 1,
FILE_ATTRIBUTE_HIDDEN = 2,
FILE_ATTRIBUTE_SYSTEM = 4,
FILE_ATTRIBUTE_DIRECTORY = 16,
FILE_ATTRIBUTE_ARCHIVE = 32,
FILE_ATTRIBUTE_DEVICE = 64,
FILE_ATTRIBUTE_NORMAL = 128,
FILE_ATTRIBUTE_TEMPORARY = 256,
FILE_ATTRIBUTE_SPARSE_FILE = 512,
FILE_ATTRIBUTE_REPARSE_POINT = 1024,
FILE_ATTRIBUTE_COMPRESSED = 2048,
FILE_ATTRIBUTE_OFFLINE = 4096,
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192,
FILE_ATTRIBUTE_ENCRYPTED = 16384,
FILE_ATTRIBUTE_INTEGRITY_STREAM = 32768,
FILE_ATTRIBUTE_VIRTUAL = 65536,
FILE_ATTRIBUTE_NO_SCRUB_DATA = 131072,
FILE_ATTRIBUTE_EA = 262144,
FILE_ATTRIBUTE_PINNED = 524288,
FILE_ATTRIBUTE_UNPINNED = 1048576,
// FILE_ATTRIBUTE_RECALL_ON_OPEN = 262144, this enum value conflicts with FILE_ATTRIBUTE_EA
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = 4194304,
FILE_FLAG_WRITE_THROUGH = 2147483648,
FILE_FLAG_OVERLAPPED = 1073741824,
FILE_FLAG_NO_BUFFERING = 536870912,
FILE_FLAG_RANDOM_ACCESS = 268435456,
FILE_FLAG_SEQUENTIAL_SCAN = 134217728,
FILE_FLAG_DELETE_ON_CLOSE = 67108864,
FILE_FLAG_BACKUP_SEMANTICS = 33554432,
FILE_FLAG_POSIX_SEMANTICS = 16777216,
FILE_FLAG_SESSION_AWARE = 8388608,
FILE_FLAG_OPEN_REPARSE_POINT = 2097152,
// FILE_FLAG_OPEN_NO_RECALL = 1048576, this enum value conflicts with FILE_ATTRIBUTE_UNPINNED
// FILE_FLAG_FIRST_PIPE_INSTANCE = 524288, this enum value conflicts with FILE_ATTRIBUTE_PINNED
PIPE_ACCESS_DUPLEX = 3,
// PIPE_ACCESS_INBOUND = 1, this enum value conflicts with FILE_ATTRIBUTE_READONLY
// PIPE_ACCESS_OUTBOUND = 2, this enum value conflicts with FILE_ATTRIBUTE_HIDDEN
SECURITY_ANONYMOUS = 0,
// SECURITY_IDENTIFICATION = 65536, this enum value conflicts with FILE_ATTRIBUTE_VIRTUAL
// SECURITY_IMPERSONATION = 131072, this enum value conflicts with FILE_ATTRIBUTE_NO_SCRUB_DATA
SECURITY_DELEGATION = 196608,
// SECURITY_CONTEXT_TRACKING = 262144, this enum value conflicts with FILE_ATTRIBUTE_EA
// SECURITY_EFFECTIVE_ONLY = 524288, this enum value conflicts with FILE_ATTRIBUTE_PINNED
// SECURITY_SQOS_PRESENT = 1048576, this enum value conflicts with FILE_ATTRIBUTE_UNPINNED
SECURITY_VALID_SQOS_FLAGS = 2031616,
_,
pub fn initFlags(o: struct {
FILE_ATTRIBUTE_READONLY: u1 = 0,
FILE_ATTRIBUTE_HIDDEN: u1 = 0,
FILE_ATTRIBUTE_SYSTEM: u1 = 0,
FILE_ATTRIBUTE_DIRECTORY: u1 = 0,
FILE_ATTRIBUTE_ARCHIVE: u1 = 0,
FILE_ATTRIBUTE_DEVICE: u1 = 0,
FILE_ATTRIBUTE_NORMAL: u1 = 0,
FILE_ATTRIBUTE_TEMPORARY: u1 = 0,
FILE_ATTRIBUTE_SPARSE_FILE: u1 = 0,
FILE_ATTRIBUTE_REPARSE_POINT: u1 = 0,
FILE_ATTRIBUTE_COMPRESSED: u1 = 0,
FILE_ATTRIBUTE_OFFLINE: u1 = 0,
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u1 = 0,
FILE_ATTRIBUTE_ENCRYPTED: u1 = 0,
FILE_ATTRIBUTE_INTEGRITY_STREAM: u1 = 0,
FILE_ATTRIBUTE_VIRTUAL: u1 = 0,
FILE_ATTRIBUTE_NO_SCRUB_DATA: u1 = 0,
FILE_ATTRIBUTE_EA: u1 = 0,
FILE_ATTRIBUTE_PINNED: u1 = 0,
FILE_ATTRIBUTE_UNPINNED: u1 = 0,
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS: u1 = 0,
FILE_FLAG_WRITE_THROUGH: u1 = 0,
FILE_FLAG_OVERLAPPED: u1 = 0,
FILE_FLAG_NO_BUFFERING: u1 = 0,
FILE_FLAG_RANDOM_ACCESS: u1 = 0,
FILE_FLAG_SEQUENTIAL_SCAN: u1 = 0,
FILE_FLAG_DELETE_ON_CLOSE: u1 = 0,
FILE_FLAG_BACKUP_SEMANTICS: u1 = 0,
FILE_FLAG_POSIX_SEMANTICS: u1 = 0,
FILE_FLAG_SESSION_AWARE: u1 = 0,
FILE_FLAG_OPEN_REPARSE_POINT: u1 = 0,
PIPE_ACCESS_DUPLEX: u1 = 0,
SECURITY_ANONYMOUS: u1 = 0,
SECURITY_DELEGATION: u1 = 0,
SECURITY_VALID_SQOS_FLAGS: u1 = 0,
}) FILE_FLAGS_AND_ATTRIBUTES {
return @as(FILE_FLAGS_AND_ATTRIBUTES, @enumFromInt(
(if (o.FILE_ATTRIBUTE_READONLY == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_READONLY) else 0)
| (if (o.FILE_ATTRIBUTE_HIDDEN == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_HIDDEN) else 0)
| (if (o.FILE_ATTRIBUTE_SYSTEM == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_SYSTEM) else 0)
| (if (o.FILE_ATTRIBUTE_DIRECTORY == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_DIRECTORY) else 0)
| (if (o.FILE_ATTRIBUTE_ARCHIVE == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_ARCHIVE) else 0)
| (if (o.FILE_ATTRIBUTE_DEVICE == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_DEVICE) else 0)
| (if (o.FILE_ATTRIBUTE_NORMAL == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_NORMAL) else 0)
| (if (o.FILE_ATTRIBUTE_TEMPORARY == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_TEMPORARY) else 0)
| (if (o.FILE_ATTRIBUTE_SPARSE_FILE == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_SPARSE_FILE) else 0)
| (if (o.FILE_ATTRIBUTE_REPARSE_POINT == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_REPARSE_POINT) else 0)
| (if (o.FILE_ATTRIBUTE_COMPRESSED == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_COMPRESSED) else 0)
| (if (o.FILE_ATTRIBUTE_OFFLINE == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_OFFLINE) else 0)
| (if (o.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED) else 0)
| (if (o.FILE_ATTRIBUTE_ENCRYPTED == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_ENCRYPTED) else 0)
| (if (o.FILE_ATTRIBUTE_INTEGRITY_STREAM == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_INTEGRITY_STREAM) else 0)
| (if (o.FILE_ATTRIBUTE_VIRTUAL == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_VIRTUAL) else 0)
| (if (o.FILE_ATTRIBUTE_NO_SCRUB_DATA == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_NO_SCRUB_DATA) else 0)
| (if (o.FILE_ATTRIBUTE_EA == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_EA) else 0)
| (if (o.FILE_ATTRIBUTE_PINNED == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_PINNED) else 0)
| (if (o.FILE_ATTRIBUTE_UNPINNED == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_UNPINNED) else 0)
| (if (o.FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS) else 0)
| (if (o.FILE_FLAG_WRITE_THROUGH == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_WRITE_THROUGH) else 0)
| (if (o.FILE_FLAG_OVERLAPPED == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_OVERLAPPED) else 0)
| (if (o.FILE_FLAG_NO_BUFFERING == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_NO_BUFFERING) else 0)
| (if (o.FILE_FLAG_RANDOM_ACCESS == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_RANDOM_ACCESS) else 0)
| (if (o.FILE_FLAG_SEQUENTIAL_SCAN == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_SEQUENTIAL_SCAN) else 0)
| (if (o.FILE_FLAG_DELETE_ON_CLOSE == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_DELETE_ON_CLOSE) else 0)
| (if (o.FILE_FLAG_BACKUP_SEMANTICS == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_BACKUP_SEMANTICS) else 0)
| (if (o.FILE_FLAG_POSIX_SEMANTICS == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_POSIX_SEMANTICS) else 0)
| (if (o.FILE_FLAG_SESSION_AWARE == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_SESSION_AWARE) else 0)
| (if (o.FILE_FLAG_OPEN_REPARSE_POINT == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_OPEN_REPARSE_POINT) else 0)
| (if (o.PIPE_ACCESS_DUPLEX == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.PIPE_ACCESS_DUPLEX) else 0)
| (if (o.SECURITY_ANONYMOUS == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.SECURITY_ANONYMOUS) else 0)
| (if (o.SECURITY_DELEGATION == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.SECURITY_DELEGATION) else 0)
| (if (o.SECURITY_VALID_SQOS_FLAGS == 1) @intFromEnum(FILE_FLAGS_AND_ATTRIBUTES.SECURITY_VALID_SQOS_FLAGS) else 0)
));
}
};
pub const FILE_ATTRIBUTE_READONLY = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_READONLY;
pub const FILE_ATTRIBUTE_HIDDEN = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_HIDDEN;
pub const FILE_ATTRIBUTE_SYSTEM = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_SYSTEM;
pub const FILE_ATTRIBUTE_DIRECTORY = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_DIRECTORY;
pub const FILE_ATTRIBUTE_ARCHIVE = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_ARCHIVE;
pub const FILE_ATTRIBUTE_DEVICE = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_DEVICE;
pub const FILE_ATTRIBUTE_NORMAL = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_NORMAL;
pub const FILE_ATTRIBUTE_TEMPORARY = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_TEMPORARY;
pub const FILE_ATTRIBUTE_SPARSE_FILE = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_SPARSE_FILE;
pub const FILE_ATTRIBUTE_REPARSE_POINT = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_REPARSE_POINT;
pub const FILE_ATTRIBUTE_COMPRESSED = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_COMPRESSED;
pub const FILE_ATTRIBUTE_OFFLINE = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_OFFLINE;
pub const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
pub const FILE_ATTRIBUTE_ENCRYPTED = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_ENCRYPTED;
pub const FILE_ATTRIBUTE_INTEGRITY_STREAM = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_INTEGRITY_STREAM;
pub const FILE_ATTRIBUTE_VIRTUAL = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_VIRTUAL;
pub const FILE_ATTRIBUTE_NO_SCRUB_DATA = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_NO_SCRUB_DATA;
pub const FILE_ATTRIBUTE_EA = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_EA;
pub const FILE_ATTRIBUTE_PINNED = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_PINNED;
pub const FILE_ATTRIBUTE_UNPINNED = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_UNPINNED;
pub const FILE_ATTRIBUTE_RECALL_ON_OPEN = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_EA;
pub const FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS;
pub const FILE_FLAG_WRITE_THROUGH = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_WRITE_THROUGH;
pub const FILE_FLAG_OVERLAPPED = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_OVERLAPPED;
pub const FILE_FLAG_NO_BUFFERING = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_NO_BUFFERING;
pub const FILE_FLAG_RANDOM_ACCESS = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_RANDOM_ACCESS;
pub const FILE_FLAG_SEQUENTIAL_SCAN = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_SEQUENTIAL_SCAN;
pub const FILE_FLAG_DELETE_ON_CLOSE = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_DELETE_ON_CLOSE;
pub const FILE_FLAG_BACKUP_SEMANTICS = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_BACKUP_SEMANTICS;
pub const FILE_FLAG_POSIX_SEMANTICS = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_POSIX_SEMANTICS;
pub const FILE_FLAG_SESSION_AWARE = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_SESSION_AWARE;
pub const FILE_FLAG_OPEN_REPARSE_POINT = FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_OPEN_REPARSE_POINT;
pub const FILE_FLAG_OPEN_NO_RECALL = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_UNPINNED;
pub const FILE_FLAG_FIRST_PIPE_INSTANCE = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_PINNED;
pub const PIPE_ACCESS_DUPLEX = FILE_FLAGS_AND_ATTRIBUTES.PIPE_ACCESS_DUPLEX;
pub const PIPE_ACCESS_INBOUND = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_READONLY;
pub const PIPE_ACCESS_OUTBOUND = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_HIDDEN;
pub const SECURITY_ANONYMOUS = FILE_FLAGS_AND_ATTRIBUTES.SECURITY_ANONYMOUS;
pub const SECURITY_IDENTIFICATION = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_VIRTUAL;
pub const SECURITY_IMPERSONATION = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_NO_SCRUB_DATA;
pub const SECURITY_DELEGATION = FILE_FLAGS_AND_ATTRIBUTES.SECURITY_DELEGATION;
pub const SECURITY_CONTEXT_TRACKING = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_EA;
pub const SECURITY_EFFECTIVE_ONLY = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_PINNED;
pub const SECURITY_SQOS_PRESENT = FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_UNPINNED;
pub const SECURITY_VALID_SQOS_FLAGS = FILE_FLAGS_AND_ATTRIBUTES.SECURITY_VALID_SQOS_FLAGS;
pub const FILE_ACCESS_FLAGS = enum(u32) {
FILE_READ_DATA = 1,
// FILE_LIST_DIRECTORY = 1, this enum value conflicts with FILE_READ_DATA
FILE_WRITE_DATA = 2,
// FILE_ADD_FILE = 2, this enum value conflicts with FILE_WRITE_DATA
FILE_APPEND_DATA = 4,
// FILE_ADD_SUBDIRECTORY = 4, this enum value conflicts with FILE_APPEND_DATA
// FILE_CREATE_PIPE_INSTANCE = 4, this enum value conflicts with FILE_APPEND_DATA
FILE_READ_EA = 8,
FILE_WRITE_EA = 16,
FILE_EXECUTE = 32,
// FILE_TRAVERSE = 32, this enum value conflicts with FILE_EXECUTE
FILE_DELETE_CHILD = 64,
FILE_READ_ATTRIBUTES = 128,
FILE_WRITE_ATTRIBUTES = 256,
READ_CONTROL = 131072,
SYNCHRONIZE = 1048576,
STANDARD_RIGHTS_REQUIRED = 983040,
// STANDARD_RIGHTS_READ = 131072, this enum value conflicts with READ_CONTROL
// STANDARD_RIGHTS_WRITE = 131072, this enum value conflicts with READ_CONTROL
// STANDARD_RIGHTS_EXECUTE = 131072, this enum value conflicts with READ_CONTROL
STANDARD_RIGHTS_ALL = 2031616,
SPECIFIC_RIGHTS_ALL = 65535,
FILE_ALL_ACCESS = 2032127,
FILE_GENERIC_READ = 1179785,
FILE_GENERIC_WRITE = 1179926,
FILE_GENERIC_EXECUTE = 1179808,
_,
pub fn initFlags(o: struct {
FILE_READ_DATA: u1 = 0,
FILE_WRITE_DATA: u1 = 0,
FILE_APPEND_DATA: u1 = 0,
FILE_READ_EA: u1 = 0,
FILE_WRITE_EA: u1 = 0,
FILE_EXECUTE: u1 = 0,
FILE_DELETE_CHILD: u1 = 0,
FILE_READ_ATTRIBUTES: u1 = 0,
FILE_WRITE_ATTRIBUTES: u1 = 0,
READ_CONTROL: u1 = 0,
SYNCHRONIZE: u1 = 0,
STANDARD_RIGHTS_REQUIRED: u1 = 0,
STANDARD_RIGHTS_ALL: u1 = 0,
SPECIFIC_RIGHTS_ALL: u1 = 0,
FILE_ALL_ACCESS: u1 = 0,
FILE_GENERIC_READ: u1 = 0,
FILE_GENERIC_WRITE: u1 = 0,
FILE_GENERIC_EXECUTE: u1 = 0,
}) FILE_ACCESS_FLAGS {
return @as(FILE_ACCESS_FLAGS, @enumFromInt(
(if (o.FILE_READ_DATA == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_READ_DATA) else 0)
| (if (o.FILE_WRITE_DATA == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_WRITE_DATA) else 0)
| (if (o.FILE_APPEND_DATA == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_APPEND_DATA) else 0)
| (if (o.FILE_READ_EA == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_READ_EA) else 0)
| (if (o.FILE_WRITE_EA == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_WRITE_EA) else 0)
| (if (o.FILE_EXECUTE == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_EXECUTE) else 0)
| (if (o.FILE_DELETE_CHILD == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_DELETE_CHILD) else 0)
| (if (o.FILE_READ_ATTRIBUTES == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_READ_ATTRIBUTES) else 0)
| (if (o.FILE_WRITE_ATTRIBUTES == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_WRITE_ATTRIBUTES) else 0)
| (if (o.READ_CONTROL == 1) @intFromEnum(FILE_ACCESS_FLAGS.READ_CONTROL) else 0)
| (if (o.SYNCHRONIZE == 1) @intFromEnum(FILE_ACCESS_FLAGS.SYNCHRONIZE) else 0)
| (if (o.STANDARD_RIGHTS_REQUIRED == 1) @intFromEnum(FILE_ACCESS_FLAGS.STANDARD_RIGHTS_REQUIRED) else 0)
| (if (o.STANDARD_RIGHTS_ALL == 1) @intFromEnum(FILE_ACCESS_FLAGS.STANDARD_RIGHTS_ALL) else 0)
| (if (o.SPECIFIC_RIGHTS_ALL == 1) @intFromEnum(FILE_ACCESS_FLAGS.SPECIFIC_RIGHTS_ALL) else 0)
| (if (o.FILE_ALL_ACCESS == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_ALL_ACCESS) else 0)
| (if (o.FILE_GENERIC_READ == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_GENERIC_READ) else 0)
| (if (o.FILE_GENERIC_WRITE == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_GENERIC_WRITE) else 0)
| (if (o.FILE_GENERIC_EXECUTE == 1) @intFromEnum(FILE_ACCESS_FLAGS.FILE_GENERIC_EXECUTE) else 0)
));
}
};
pub const FILE_READ_DATA = FILE_ACCESS_FLAGS.FILE_READ_DATA;
pub const FILE_LIST_DIRECTORY = FILE_ACCESS_FLAGS.FILE_READ_DATA;
pub const FILE_WRITE_DATA = FILE_ACCESS_FLAGS.FILE_WRITE_DATA;
pub const FILE_ADD_FILE = FILE_ACCESS_FLAGS.FILE_WRITE_DATA;
pub const FILE_APPEND_DATA = FILE_ACCESS_FLAGS.FILE_APPEND_DATA;
pub const FILE_ADD_SUBDIRECTORY = FILE_ACCESS_FLAGS.FILE_APPEND_DATA;
pub const FILE_CREATE_PIPE_INSTANCE = FILE_ACCESS_FLAGS.FILE_APPEND_DATA;
pub const FILE_READ_EA = FILE_ACCESS_FLAGS.FILE_READ_EA;
pub const FILE_WRITE_EA = FILE_ACCESS_FLAGS.FILE_WRITE_EA;
pub const FILE_EXECUTE = FILE_ACCESS_FLAGS.FILE_EXECUTE;
pub const FILE_TRAVERSE = FILE_ACCESS_FLAGS.FILE_EXECUTE;
pub const FILE_DELETE_CHILD = FILE_ACCESS_FLAGS.FILE_DELETE_CHILD;
pub const FILE_READ_ATTRIBUTES = FILE_ACCESS_FLAGS.FILE_READ_ATTRIBUTES;
pub const FILE_WRITE_ATTRIBUTES = FILE_ACCESS_FLAGS.FILE_WRITE_ATTRIBUTES;
pub const READ_CONTROL = FILE_ACCESS_FLAGS.READ_CONTROL;
pub const SYNCHRONIZE = FILE_ACCESS_FLAGS.SYNCHRONIZE;
pub const STANDARD_RIGHTS_REQUIRED = FILE_ACCESS_FLAGS.STANDARD_RIGHTS_REQUIRED;
pub const STANDARD_RIGHTS_READ = FILE_ACCESS_FLAGS.READ_CONTROL;
pub const STANDARD_RIGHTS_WRITE = FILE_ACCESS_FLAGS.READ_CONTROL;
pub const STANDARD_RIGHTS_EXECUTE = FILE_ACCESS_FLAGS.READ_CONTROL;
pub const STANDARD_RIGHTS_ALL = FILE_ACCESS_FLAGS.STANDARD_RIGHTS_ALL;
pub const SPECIFIC_RIGHTS_ALL = FILE_ACCESS_FLAGS.SPECIFIC_RIGHTS_ALL;
pub const FILE_ALL_ACCESS = FILE_ACCESS_FLAGS.FILE_ALL_ACCESS;
pub const FILE_GENERIC_READ = FILE_ACCESS_FLAGS.FILE_GENERIC_READ;
pub const FILE_GENERIC_WRITE = FILE_ACCESS_FLAGS.FILE_GENERIC_WRITE;
pub const FILE_GENERIC_EXECUTE = FILE_ACCESS_FLAGS.FILE_GENERIC_EXECUTE;
pub const GET_FILE_VERSION_INFO_FLAGS = enum(u32) {
LOCALISED = 1,
NEUTRAL = 2,
PREFETCHED = 4,
_,
pub fn initFlags(o: struct {
LOCALISED: u1 = 0,
NEUTRAL: u1 = 0,
PREFETCHED: u1 = 0,
}) GET_FILE_VERSION_INFO_FLAGS {
return @as(GET_FILE_VERSION_INFO_FLAGS, @enumFromInt(
(if (o.LOCALISED == 1) @intFromEnum(GET_FILE_VERSION_INFO_FLAGS.LOCALISED) else 0)
| (if (o.NEUTRAL == 1) @intFromEnum(GET_FILE_VERSION_INFO_FLAGS.NEUTRAL) else 0)
| (if (o.PREFETCHED == 1) @intFromEnum(GET_FILE_VERSION_INFO_FLAGS.PREFETCHED) else 0)
));
}
};
pub const FILE_VER_GET_LOCALISED = GET_FILE_VERSION_INFO_FLAGS.LOCALISED;
pub const FILE_VER_GET_NEUTRAL = GET_FILE_VERSION_INFO_FLAGS.NEUTRAL;
pub const FILE_VER_GET_PREFETCHED = GET_FILE_VERSION_INFO_FLAGS.PREFETCHED;
pub const VER_FIND_FILE_FLAGS = enum(u32) {
E = 1,
};
pub const VFFF_ISSHAREDFILE = VER_FIND_FILE_FLAGS.E;
pub const VER_FIND_FILE_STATUS = enum(u32) {
CURNEDEST = 1,
FILEINUSE = 2,
BUFFTOOSMALL = 4,
_,
pub fn initFlags(o: struct {
CURNEDEST: u1 = 0,
FILEINUSE: u1 = 0,
BUFFTOOSMALL: u1 = 0,
}) VER_FIND_FILE_STATUS {
return @as(VER_FIND_FILE_STATUS, @enumFromInt(
(if (o.CURNEDEST == 1) @intFromEnum(VER_FIND_FILE_STATUS.CURNEDEST) else 0)
| (if (o.FILEINUSE == 1) @intFromEnum(VER_FIND_FILE_STATUS.FILEINUSE) else 0)
| (if (o.BUFFTOOSMALL == 1) @intFromEnum(VER_FIND_FILE_STATUS.BUFFTOOSMALL) else 0)
));
}
};
pub const VFF_CURNEDEST = VER_FIND_FILE_STATUS.CURNEDEST;
pub const VFF_FILEINUSE = VER_FIND_FILE_STATUS.FILEINUSE;
pub const VFF_BUFFTOOSMALL = VER_FIND_FILE_STATUS.BUFFTOOSMALL;
pub const VER_INSTALL_FILE_FLAGS = enum(u32) {
FORCEINSTALL = 1,
DONTDELETEOLD = 2,
};
pub const VIFF_FORCEINSTALL = VER_INSTALL_FILE_FLAGS.FORCEINSTALL;
pub const VIFF_DONTDELETEOLD = VER_INSTALL_FILE_FLAGS.DONTDELETEOLD;
pub const VER_INSTALL_FILE_STATUS = enum(u32) {
TEMPFILE = 1,
MISMATCH = 2,
SRCOLD = 4,
DIFFLANG = 8,
DIFFCODEPG = 16,
DIFFTYPE = 32,
WRITEPROT = 64,
FILEINUSE = 128,
OUTOFSPACE = 256,
ACCESSVIOLATION = 512,
SHARINGVIOLATION = 1024,
CANNOTCREATE = 2048,
CANNOTDELETE = 4096,
CANNOTRENAME = 8192,
CANNOTDELETECUR = 16384,
OUTOFMEMORY = 32768,
CANNOTREADSRC = 65536,
CANNOTREADDST = 131072,
BUFFTOOSMALL = 262144,
CANNOTLOADLZ32 = 524288,
CANNOTLOADCABINET = 1048576,
_,
pub fn initFlags(o: struct {
TEMPFILE: u1 = 0,
MISMATCH: u1 = 0,
SRCOLD: u1 = 0,
DIFFLANG: u1 = 0,
DIFFCODEPG: u1 = 0,
DIFFTYPE: u1 = 0,
WRITEPROT: u1 = 0,
FILEINUSE: u1 = 0,
OUTOFSPACE: u1 = 0,
ACCESSVIOLATION: u1 = 0,
SHARINGVIOLATION: u1 = 0,
CANNOTCREATE: u1 = 0,
CANNOTDELETE: u1 = 0,
CANNOTRENAME: u1 = 0,
CANNOTDELETECUR: u1 = 0,
OUTOFMEMORY: u1 = 0,
CANNOTREADSRC: u1 = 0,
CANNOTREADDST: u1 = 0,
BUFFTOOSMALL: u1 = 0,
CANNOTLOADLZ32: u1 = 0,
CANNOTLOADCABINET: u1 = 0,
}) VER_INSTALL_FILE_STATUS {
return @as(VER_INSTALL_FILE_STATUS, @enumFromInt(
(if (o.TEMPFILE == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.TEMPFILE) else 0)
| (if (o.MISMATCH == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.MISMATCH) else 0)
| (if (o.SRCOLD == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.SRCOLD) else 0)
| (if (o.DIFFLANG == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.DIFFLANG) else 0)
| (if (o.DIFFCODEPG == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.DIFFCODEPG) else 0)
| (if (o.DIFFTYPE == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.DIFFTYPE) else 0)
| (if (o.WRITEPROT == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.WRITEPROT) else 0)
| (if (o.FILEINUSE == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.FILEINUSE) else 0)
| (if (o.OUTOFSPACE == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.OUTOFSPACE) else 0)
| (if (o.ACCESSVIOLATION == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.ACCESSVIOLATION) else 0)
| (if (o.SHARINGVIOLATION == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.SHARINGVIOLATION) else 0)
| (if (o.CANNOTCREATE == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.CANNOTCREATE) else 0)
| (if (o.CANNOTDELETE == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.CANNOTDELETE) else 0)
| (if (o.CANNOTRENAME == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.CANNOTRENAME) else 0)
| (if (o.CANNOTDELETECUR == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.CANNOTDELETECUR) else 0)
| (if (o.OUTOFMEMORY == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.OUTOFMEMORY) else 0)
| (if (o.CANNOTREADSRC == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.CANNOTREADSRC) else 0)
| (if (o.CANNOTREADDST == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.CANNOTREADDST) else 0)
| (if (o.BUFFTOOSMALL == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.BUFFTOOSMALL) else 0)
| (if (o.CANNOTLOADLZ32 == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.CANNOTLOADLZ32) else 0)
| (if (o.CANNOTLOADCABINET == 1) @intFromEnum(VER_INSTALL_FILE_STATUS.CANNOTLOADCABINET) else 0)
));
}
};
pub const VIF_TEMPFILE = VER_INSTALL_FILE_STATUS.TEMPFILE;
pub const VIF_MISMATCH = VER_INSTALL_FILE_STATUS.MISMATCH;
pub const VIF_SRCOLD = VER_INSTALL_FILE_STATUS.SRCOLD;
pub const VIF_DIFFLANG = VER_INSTALL_FILE_STATUS.DIFFLANG;
pub const VIF_DIFFCODEPG = VER_INSTALL_FILE_STATUS.DIFFCODEPG;
pub const VIF_DIFFTYPE = VER_INSTALL_FILE_STATUS.DIFFTYPE;
pub const VIF_WRITEPROT = VER_INSTALL_FILE_STATUS.WRITEPROT;
pub const VIF_FILEINUSE = VER_INSTALL_FILE_STATUS.FILEINUSE;
pub const VIF_OUTOFSPACE = VER_INSTALL_FILE_STATUS.OUTOFSPACE;
pub const VIF_ACCESSVIOLATION = VER_INSTALL_FILE_STATUS.ACCESSVIOLATION;
pub const VIF_SHARINGVIOLATION = VER_INSTALL_FILE_STATUS.SHARINGVIOLATION;
pub const VIF_CANNOTCREATE = VER_INSTALL_FILE_STATUS.CANNOTCREATE;
pub const VIF_CANNOTDELETE = VER_INSTALL_FILE_STATUS.CANNOTDELETE;
pub const VIF_CANNOTRENAME = VER_INSTALL_FILE_STATUS.CANNOTRENAME;
pub const VIF_CANNOTDELETECUR = VER_INSTALL_FILE_STATUS.CANNOTDELETECUR;
pub const VIF_OUTOFMEMORY = VER_INSTALL_FILE_STATUS.OUTOFMEMORY;
pub const VIF_CANNOTREADSRC = VER_INSTALL_FILE_STATUS.CANNOTREADSRC;
pub const VIF_CANNOTREADDST = VER_INSTALL_FILE_STATUS.CANNOTREADDST;
pub const VIF_BUFFTOOSMALL = VER_INSTALL_FILE_STATUS.BUFFTOOSMALL;
pub const VIF_CANNOTLOADLZ32 = VER_INSTALL_FILE_STATUS.CANNOTLOADLZ32;
pub const VIF_CANNOTLOADCABINET = VER_INSTALL_FILE_STATUS.CANNOTLOADCABINET;
pub const VS_FIXEDFILEINFO_FILE_FLAGS = enum(u32) {
DEBUG = 1,
PRERELEASE = 2,
PATCHED = 4,
PRIVATEBUILD = 8,
INFOINFERRED = 16,
SPECIALBUILD = 32,
_,
pub fn initFlags(o: struct {
DEBUG: u1 = 0,
PRERELEASE: u1 = 0,
PATCHED: u1 = 0,
PRIVATEBUILD: u1 = 0,
INFOINFERRED: u1 = 0,
SPECIALBUILD: u1 = 0,
}) VS_FIXEDFILEINFO_FILE_FLAGS {
return @as(VS_FIXEDFILEINFO_FILE_FLAGS, @enumFromInt(
(if (o.DEBUG == 1) @intFromEnum(VS_FIXEDFILEINFO_FILE_FLAGS.DEBUG) else 0)
| (if (o.PRERELEASE == 1) @intFromEnum(VS_FIXEDFILEINFO_FILE_FLAGS.PRERELEASE) else 0)
| (if (o.PATCHED == 1) @intFromEnum(VS_FIXEDFILEINFO_FILE_FLAGS.PATCHED) else 0)
| (if (o.PRIVATEBUILD == 1) @intFromEnum(VS_FIXEDFILEINFO_FILE_FLAGS.PRIVATEBUILD) else 0)
| (if (o.INFOINFERRED == 1) @intFromEnum(VS_FIXEDFILEINFO_FILE_FLAGS.INFOINFERRED) else 0)
| (if (o.SPECIALBUILD == 1) @intFromEnum(VS_FIXEDFILEINFO_FILE_FLAGS.SPECIALBUILD) else 0)
));
}
};
pub const VS_FF_DEBUG = VS_FIXEDFILEINFO_FILE_FLAGS.DEBUG;
pub const VS_FF_PRERELEASE = VS_FIXEDFILEINFO_FILE_FLAGS.PRERELEASE;
pub const VS_FF_PATCHED = VS_FIXEDFILEINFO_FILE_FLAGS.PATCHED;
pub const VS_FF_PRIVATEBUILD = VS_FIXEDFILEINFO_FILE_FLAGS.PRIVATEBUILD;
pub const VS_FF_INFOINFERRED = VS_FIXEDFILEINFO_FILE_FLAGS.INFOINFERRED;
pub const VS_FF_SPECIALBUILD = VS_FIXEDFILEINFO_FILE_FLAGS.SPECIALBUILD;
pub const VS_FIXEDFILEINFO_FILE_OS = enum(i32) {
UNKNOWN = 0,
DOS = 65536,
OS216 = 131072,
OS232 = 196608,
NT = 262144,
WINCE = 327680,
// _BASE = 0, this enum value conflicts with UNKNOWN
_WINDOWS16 = 1,
_PM16 = 2,
_PM32 = 3,
_WINDOWS32 = 4,
DOS_WINDOWS16 = 65537,
DOS_WINDOWS32 = 65540,
OS216_PM16 = 131074,
OS232_PM32 = 196611,
NT_WINDOWS32 = 262148,
};
pub const VOS_UNKNOWN = VS_FIXEDFILEINFO_FILE_OS.UNKNOWN;
pub const VOS_DOS = VS_FIXEDFILEINFO_FILE_OS.DOS;
pub const VOS_OS216 = VS_FIXEDFILEINFO_FILE_OS.OS216;
pub const VOS_OS232 = VS_FIXEDFILEINFO_FILE_OS.OS232;
pub const VOS_NT = VS_FIXEDFILEINFO_FILE_OS.NT;
pub const VOS_WINCE = VS_FIXEDFILEINFO_FILE_OS.WINCE;
pub const VOS__BASE = VS_FIXEDFILEINFO_FILE_OS.UNKNOWN;
pub const VOS__WINDOWS16 = VS_FIXEDFILEINFO_FILE_OS._WINDOWS16;
pub const VOS__PM16 = VS_FIXEDFILEINFO_FILE_OS._PM16;
pub const VOS__PM32 = VS_FIXEDFILEINFO_FILE_OS._PM32;
pub const VOS__WINDOWS32 = VS_FIXEDFILEINFO_FILE_OS._WINDOWS32;
pub const VOS_DOS_WINDOWS16 = VS_FIXEDFILEINFO_FILE_OS.DOS_WINDOWS16;
pub const VOS_DOS_WINDOWS32 = VS_FIXEDFILEINFO_FILE_OS.DOS_WINDOWS32;
pub const VOS_OS216_PM16 = VS_FIXEDFILEINFO_FILE_OS.OS216_PM16;
pub const VOS_OS232_PM32 = VS_FIXEDFILEINFO_FILE_OS.OS232_PM32;
pub const VOS_NT_WINDOWS32 = VS_FIXEDFILEINFO_FILE_OS.NT_WINDOWS32;
pub const VS_FIXEDFILEINFO_FILE_TYPE = enum(i32) {
UNKNOWN = 0,
APP = 1,
DLL = 2,
DRV = 3,
FONT = 4,
VXD = 5,
STATIC_LIB = 7,
};
pub const VFT_UNKNOWN = VS_FIXEDFILEINFO_FILE_TYPE.UNKNOWN;
pub const VFT_APP = VS_FIXEDFILEINFO_FILE_TYPE.APP;
pub const VFT_DLL = VS_FIXEDFILEINFO_FILE_TYPE.DLL;
pub const VFT_DRV = VS_FIXEDFILEINFO_FILE_TYPE.DRV;
pub const VFT_FONT = VS_FIXEDFILEINFO_FILE_TYPE.FONT;
pub const VFT_VXD = VS_FIXEDFILEINFO_FILE_TYPE.VXD;
pub const VFT_STATIC_LIB = VS_FIXEDFILEINFO_FILE_TYPE.STATIC_LIB;
pub const VS_FIXEDFILEINFO_FILE_SUBTYPE = enum(i32) {
UNKNOWN = 0,
DRV_PRINTER = 1,
DRV_KEYBOARD = 2,
DRV_LANGUAGE = 3,
DRV_DISPLAY = 4,
DRV_MOUSE = 5,
DRV_NETWORK = 6,
DRV_SYSTEM = 7,
DRV_INSTALLABLE = 8,
DRV_SOUND = 9,
DRV_COMM = 10,
DRV_INPUTMETHOD = 11,
DRV_VERSIONED_PRINTER = 12,
// FONT_RASTER = 1, this enum value conflicts with DRV_PRINTER
// FONT_VECTOR = 2, this enum value conflicts with DRV_KEYBOARD
// FONT_TRUETYPE = 3, this enum value conflicts with DRV_LANGUAGE
};
pub const VFT2_UNKNOWN = VS_FIXEDFILEINFO_FILE_SUBTYPE.UNKNOWN;
pub const VFT2_DRV_PRINTER = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_PRINTER;
pub const VFT2_DRV_KEYBOARD = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_KEYBOARD;
pub const VFT2_DRV_LANGUAGE = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_LANGUAGE;
pub const VFT2_DRV_DISPLAY = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_DISPLAY;
pub const VFT2_DRV_MOUSE = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_MOUSE;
pub const VFT2_DRV_NETWORK = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_NETWORK;
pub const VFT2_DRV_SYSTEM = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_SYSTEM;
pub const VFT2_DRV_INSTALLABLE = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_INSTALLABLE;
pub const VFT2_DRV_SOUND = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_SOUND;
pub const VFT2_DRV_COMM = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_COMM;
pub const VFT2_DRV_INPUTMETHOD = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_INPUTMETHOD;
pub const VFT2_DRV_VERSIONED_PRINTER = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_VERSIONED_PRINTER;
pub const VFT2_FONT_RASTER = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_PRINTER;
pub const VFT2_FONT_VECTOR = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_KEYBOARD;
pub const VFT2_FONT_TRUETYPE = VS_FIXEDFILEINFO_FILE_SUBTYPE.DRV_LANGUAGE;
pub const FILE_CREATION_DISPOSITION = enum(u32) {
CREATE_NEW = 1,
CREATE_ALWAYS = 2,
OPEN_EXISTING = 3,
OPEN_ALWAYS = 4,
TRUNCATE_EXISTING = 5,
};
pub const CREATE_NEW = FILE_CREATION_DISPOSITION.CREATE_NEW;
pub const CREATE_ALWAYS = FILE_CREATION_DISPOSITION.CREATE_ALWAYS;
pub const OPEN_EXISTING = FILE_CREATION_DISPOSITION.OPEN_EXISTING;
pub const OPEN_ALWAYS = FILE_CREATION_DISPOSITION.OPEN_ALWAYS;
pub const TRUNCATE_EXISTING = FILE_CREATION_DISPOSITION.TRUNCATE_EXISTING;
pub const FILE_SHARE_MODE = enum(u32) {
NONE = 0,
DELETE = 4,
READ = 1,
WRITE = 2,
_,
pub fn initFlags(o: struct {
NONE: u1 = 0,
DELETE: u1 = 0,
READ: u1 = 0,
WRITE: u1 = 0,
}) FILE_SHARE_MODE {
return @as(FILE_SHARE_MODE, @enumFromInt(
(if (o.NONE == 1) @intFromEnum(FILE_SHARE_MODE.NONE) else 0)
| (if (o.DELETE == 1) @intFromEnum(FILE_SHARE_MODE.DELETE) else 0)
| (if (o.READ == 1) @intFromEnum(FILE_SHARE_MODE.READ) else 0)
| (if (o.WRITE == 1) @intFromEnum(FILE_SHARE_MODE.WRITE) else 0)
));
}
};
pub const FILE_SHARE_NONE = FILE_SHARE_MODE.NONE;
pub const FILE_SHARE_DELETE = FILE_SHARE_MODE.DELETE;
pub const FILE_SHARE_READ = FILE_SHARE_MODE.READ;
pub const FILE_SHARE_WRITE = FILE_SHARE_MODE.WRITE;
pub const SHARE_TYPE = enum(u32) {
DISKTREE = 0,
PRINTQ = 1,
DEVICE = 2,
IPC = 3,
SPECIAL = 2147483648,
TEMPORARY = 1073741824,
MASK = 255,
_,
pub fn initFlags(o: struct {
DISKTREE: u1 = 0,
PRINTQ: u1 = 0,
DEVICE: u1 = 0,
IPC: u1 = 0,
SPECIAL: u1 = 0,
TEMPORARY: u1 = 0,
MASK: u1 = 0,
}) SHARE_TYPE {
return @as(SHARE_TYPE, @enumFromInt(
(if (o.DISKTREE == 1) @intFromEnum(SHARE_TYPE.DISKTREE) else 0)
| (if (o.PRINTQ == 1) @intFromEnum(SHARE_TYPE.PRINTQ) else 0)
| (if (o.DEVICE == 1) @intFromEnum(SHARE_TYPE.DEVICE) else 0)
| (if (o.IPC == 1) @intFromEnum(SHARE_TYPE.IPC) else 0)
| (if (o.SPECIAL == 1) @intFromEnum(SHARE_TYPE.SPECIAL) else 0)
| (if (o.TEMPORARY == 1) @intFromEnum(SHARE_TYPE.TEMPORARY) else 0)
| (if (o.MASK == 1) @intFromEnum(SHARE_TYPE.MASK) else 0)
));
}
};
pub const STYPE_DISKTREE = SHARE_TYPE.DISKTREE;
pub const STYPE_PRINTQ = SHARE_TYPE.PRINTQ;
pub const STYPE_DEVICE = SHARE_TYPE.DEVICE;
pub const STYPE_IPC = SHARE_TYPE.IPC;
pub const STYPE_SPECIAL = SHARE_TYPE.SPECIAL;
pub const STYPE_TEMPORARY = SHARE_TYPE.TEMPORARY;
pub const STYPE_MASK = SHARE_TYPE.MASK;
pub const CLFS_FLAG = enum(u32) {
FORCE_APPEND = 1,
FORCE_FLUSH = 2,
NO_FLAGS = 0,
USE_RESERVATION = 4,
_,
pub fn initFlags(o: struct {
FORCE_APPEND: u1 = 0,
FORCE_FLUSH: u1 = 0,
NO_FLAGS: u1 = 0,
USE_RESERVATION: u1 = 0,
}) CLFS_FLAG {
return @as(CLFS_FLAG, @enumFromInt(
(if (o.FORCE_APPEND == 1) @intFromEnum(CLFS_FLAG.FORCE_APPEND) else 0)
| (if (o.FORCE_FLUSH == 1) @intFromEnum(CLFS_FLAG.FORCE_FLUSH) else 0)
| (if (o.NO_FLAGS == 1) @intFromEnum(CLFS_FLAG.NO_FLAGS) else 0)
| (if (o.USE_RESERVATION == 1) @intFromEnum(CLFS_FLAG.USE_RESERVATION) else 0)
));
}
};
pub const CLFS_FLAG_FORCE_APPEND = CLFS_FLAG.FORCE_APPEND;
pub const CLFS_FLAG_FORCE_FLUSH = CLFS_FLAG.FORCE_FLUSH;
pub const CLFS_FLAG_NO_FLAGS = CLFS_FLAG.NO_FLAGS;
pub const CLFS_FLAG_USE_RESERVATION = CLFS_FLAG.USE_RESERVATION;
pub const SET_FILE_POINTER_MOVE_METHOD = enum(u32) {
BEGIN = 0,
CURRENT = 1,
END = 2,
};
pub const FILE_BEGIN = SET_FILE_POINTER_MOVE_METHOD.BEGIN;
pub const FILE_CURRENT = SET_FILE_POINTER_MOVE_METHOD.CURRENT;
pub const FILE_END = SET_FILE_POINTER_MOVE_METHOD.END;
pub const MOVE_FILE_FLAGS = enum(u32) {
COPY_ALLOWED = 2,
CREATE_HARDLINK = 16,
DELAY_UNTIL_REBOOT = 4,
REPLACE_EXISTING = 1,
WRITE_THROUGH = 8,
FAIL_IF_NOT_TRACKABLE = 32,
_,
pub fn initFlags(o: struct {
COPY_ALLOWED: u1 = 0,
CREATE_HARDLINK: u1 = 0,
DELAY_UNTIL_REBOOT: u1 = 0,
REPLACE_EXISTING: u1 = 0,
WRITE_THROUGH: u1 = 0,
FAIL_IF_NOT_TRACKABLE: u1 = 0,
}) MOVE_FILE_FLAGS {
return @as(MOVE_FILE_FLAGS, @enumFromInt(
(if (o.COPY_ALLOWED == 1) @intFromEnum(MOVE_FILE_FLAGS.COPY_ALLOWED) else 0)
| (if (o.CREATE_HARDLINK == 1) @intFromEnum(MOVE_FILE_FLAGS.CREATE_HARDLINK) else 0)
| (if (o.DELAY_UNTIL_REBOOT == 1) @intFromEnum(MOVE_FILE_FLAGS.DELAY_UNTIL_REBOOT) else 0)
| (if (o.REPLACE_EXISTING == 1) @intFromEnum(MOVE_FILE_FLAGS.REPLACE_EXISTING) else 0)
| (if (o.WRITE_THROUGH == 1) @intFromEnum(MOVE_FILE_FLAGS.WRITE_THROUGH) else 0)
| (if (o.FAIL_IF_NOT_TRACKABLE == 1) @intFromEnum(MOVE_FILE_FLAGS.FAIL_IF_NOT_TRACKABLE) else 0)
));
}
};
pub const MOVEFILE_COPY_ALLOWED = MOVE_FILE_FLAGS.COPY_ALLOWED;
pub const MOVEFILE_CREATE_HARDLINK = MOVE_FILE_FLAGS.CREATE_HARDLINK;
pub const MOVEFILE_DELAY_UNTIL_REBOOT = MOVE_FILE_FLAGS.DELAY_UNTIL_REBOOT;
pub const MOVEFILE_REPLACE_EXISTING = MOVE_FILE_FLAGS.REPLACE_EXISTING;
pub const MOVEFILE_WRITE_THROUGH = MOVE_FILE_FLAGS.WRITE_THROUGH;
pub const MOVEFILE_FAIL_IF_NOT_TRACKABLE = MOVE_FILE_FLAGS.FAIL_IF_NOT_TRACKABLE;
pub const FILE_NAME = enum(u32) {
NORMALIZED = 0,
OPENED = 8,
};
pub const FILE_NAME_NORMALIZED = FILE_NAME.NORMALIZED;
pub const FILE_NAME_OPENED = FILE_NAME.OPENED;
pub const LZOPENFILE_STYLE = enum(u32) {
CANCEL = 2048,
CREATE = 4096,
DELETE = 512,
EXIST = 16384,
PARSE = 256,
PROMPT = 8192,
READ = 0,
READWRITE = 2,
REOPEN = 32768,
SHARE_DENY_NONE = 64,
SHARE_DENY_READ = 48,
SHARE_DENY_WRITE = 32,
SHARE_EXCLUSIVE = 16,
WRITE = 1,
// SHARE_COMPAT = 0, this enum value conflicts with READ
VERIFY = 1024,
_,
pub fn initFlags(o: struct {
CANCEL: u1 = 0,
CREATE: u1 = 0,
DELETE: u1 = 0,
EXIST: u1 = 0,
PARSE: u1 = 0,
PROMPT: u1 = 0,
READ: u1 = 0,
READWRITE: u1 = 0,
REOPEN: u1 = 0,
SHARE_DENY_NONE: u1 = 0,
SHARE_DENY_READ: u1 = 0,
SHARE_DENY_WRITE: u1 = 0,
SHARE_EXCLUSIVE: u1 = 0,
WRITE: u1 = 0,
VERIFY: u1 = 0,
}) LZOPENFILE_STYLE {
return @as(LZOPENFILE_STYLE, @enumFromInt(
(if (o.CANCEL == 1) @intFromEnum(LZOPENFILE_STYLE.CANCEL) else 0)
| (if (o.CREATE == 1) @intFromEnum(LZOPENFILE_STYLE.CREATE) else 0)
| (if (o.DELETE == 1) @intFromEnum(LZOPENFILE_STYLE.DELETE) else 0)
| (if (o.EXIST == 1) @intFromEnum(LZOPENFILE_STYLE.EXIST) else 0)
| (if (o.PARSE == 1) @intFromEnum(LZOPENFILE_STYLE.PARSE) else 0)
| (if (o.PROMPT == 1) @intFromEnum(LZOPENFILE_STYLE.PROMPT) else 0)
| (if (o.READ == 1) @intFromEnum(LZOPENFILE_STYLE.READ) else 0)
| (if (o.READWRITE == 1) @intFromEnum(LZOPENFILE_STYLE.READWRITE) else 0)
| (if (o.REOPEN == 1) @intFromEnum(LZOPENFILE_STYLE.REOPEN) else 0)
| (if (o.SHARE_DENY_NONE == 1) @intFromEnum(LZOPENFILE_STYLE.SHARE_DENY_NONE) else 0)
| (if (o.SHARE_DENY_READ == 1) @intFromEnum(LZOPENFILE_STYLE.SHARE_DENY_READ) else 0)
| (if (o.SHARE_DENY_WRITE == 1) @intFromEnum(LZOPENFILE_STYLE.SHARE_DENY_WRITE) else 0)
| (if (o.SHARE_EXCLUSIVE == 1) @intFromEnum(LZOPENFILE_STYLE.SHARE_EXCLUSIVE) else 0)
| (if (o.WRITE == 1) @intFromEnum(LZOPENFILE_STYLE.WRITE) else 0)
| (if (o.VERIFY == 1) @intFromEnum(LZOPENFILE_STYLE.VERIFY) else 0)
));
}
};
pub const OF_CANCEL = LZOPENFILE_STYLE.CANCEL;
pub const OF_CREATE = LZOPENFILE_STYLE.CREATE;
pub const OF_DELETE = LZOPENFILE_STYLE.DELETE;
pub const OF_EXIST = LZOPENFILE_STYLE.EXIST;
pub const OF_PARSE = LZOPENFILE_STYLE.PARSE;
pub const OF_PROMPT = LZOPENFILE_STYLE.PROMPT;
pub const OF_READ = LZOPENFILE_STYLE.READ;
pub const OF_READWRITE = LZOPENFILE_STYLE.READWRITE;
pub const OF_REOPEN = LZOPENFILE_STYLE.REOPEN;
pub const OF_SHARE_DENY_NONE = LZOPENFILE_STYLE.SHARE_DENY_NONE;
pub const OF_SHARE_DENY_READ = LZOPENFILE_STYLE.SHARE_DENY_READ;
pub const OF_SHARE_DENY_WRITE = LZOPENFILE_STYLE.SHARE_DENY_WRITE;
pub const OF_SHARE_EXCLUSIVE = LZOPENFILE_STYLE.SHARE_EXCLUSIVE;
pub const OF_WRITE = LZOPENFILE_STYLE.WRITE;
pub const OF_SHARE_COMPAT = LZOPENFILE_STYLE.READ;
pub const OF_VERIFY = LZOPENFILE_STYLE.VERIFY;
pub const FILE_NOTIFY_CHANGE = enum(u32) {
FILE_NAME = 1,
DIR_NAME = 2,
ATTRIBUTES = 4,
SIZE = 8,
LAST_WRITE = 16,
LAST_ACCESS = 32,
CREATION = 64,
SECURITY = 256,
_,
pub fn initFlags(o: struct {
FILE_NAME: u1 = 0,
DIR_NAME: u1 = 0,
ATTRIBUTES: u1 = 0,
SIZE: u1 = 0,
LAST_WRITE: u1 = 0,
LAST_ACCESS: u1 = 0,
CREATION: u1 = 0,
SECURITY: u1 = 0,
}) FILE_NOTIFY_CHANGE {
return @as(FILE_NOTIFY_CHANGE, @enumFromInt(
(if (o.FILE_NAME == 1) @intFromEnum(FILE_NOTIFY_CHANGE.FILE_NAME) else 0)
| (if (o.DIR_NAME == 1) @intFromEnum(FILE_NOTIFY_CHANGE.DIR_NAME) else 0)
| (if (o.ATTRIBUTES == 1) @intFromEnum(FILE_NOTIFY_CHANGE.ATTRIBUTES) else 0)
| (if (o.SIZE == 1) @intFromEnum(FILE_NOTIFY_CHANGE.SIZE) else 0)
| (if (o.LAST_WRITE == 1) @intFromEnum(FILE_NOTIFY_CHANGE.LAST_WRITE) else 0)
| (if (o.LAST_ACCESS == 1) @intFromEnum(FILE_NOTIFY_CHANGE.LAST_ACCESS) else 0)
| (if (o.CREATION == 1) @intFromEnum(FILE_NOTIFY_CHANGE.CREATION) else 0)
| (if (o.SECURITY == 1) @intFromEnum(FILE_NOTIFY_CHANGE.SECURITY) else 0)
));
}
};
pub const FILE_NOTIFY_CHANGE_FILE_NAME = FILE_NOTIFY_CHANGE.FILE_NAME;
pub const FILE_NOTIFY_CHANGE_DIR_NAME = FILE_NOTIFY_CHANGE.DIR_NAME;
pub const FILE_NOTIFY_CHANGE_ATTRIBUTES = FILE_NOTIFY_CHANGE.ATTRIBUTES;
pub const FILE_NOTIFY_CHANGE_SIZE = FILE_NOTIFY_CHANGE.SIZE;
pub const FILE_NOTIFY_CHANGE_LAST_WRITE = FILE_NOTIFY_CHANGE.LAST_WRITE;
pub const FILE_NOTIFY_CHANGE_LAST_ACCESS = FILE_NOTIFY_CHANGE.LAST_ACCESS;
pub const FILE_NOTIFY_CHANGE_CREATION = FILE_NOTIFY_CHANGE.CREATION;
pub const FILE_NOTIFY_CHANGE_SECURITY = FILE_NOTIFY_CHANGE.SECURITY;
pub const TXFS_MINIVERSION = enum(u32) {
COMMITTED_VIEW = 0,
DIRTY_VIEW = 65535,
DEFAULT_VIEW = 65534,
};
pub const TXFS_MINIVERSION_COMMITTED_VIEW = TXFS_MINIVERSION.COMMITTED_VIEW;
pub const TXFS_MINIVERSION_DIRTY_VIEW = TXFS_MINIVERSION.DIRTY_VIEW;
pub const TXFS_MINIVERSION_DEFAULT_VIEW = TXFS_MINIVERSION.DEFAULT_VIEW;
pub const TAPE_POSITION_TYPE = enum(i32) {
ABSOLUTE_POSITION = 0,
LOGICAL_POSITION = 1,
};
pub const TAPE_ABSOLUTE_POSITION = TAPE_POSITION_TYPE.ABSOLUTE_POSITION;
pub const TAPE_LOGICAL_POSITION = TAPE_POSITION_TYPE.LOGICAL_POSITION;
pub const CREATE_TAPE_PARTITION_METHOD = enum(i32) {
FIXED_PARTITIONS = 0,
INITIATOR_PARTITIONS = 2,
SELECT_PARTITIONS = 1,
};
pub const TAPE_FIXED_PARTITIONS = CREATE_TAPE_PARTITION_METHOD.FIXED_PARTITIONS;
pub const TAPE_INITIATOR_PARTITIONS = CREATE_TAPE_PARTITION_METHOD.INITIATOR_PARTITIONS;
pub const TAPE_SELECT_PARTITIONS = CREATE_TAPE_PARTITION_METHOD.SELECT_PARTITIONS;
pub const REPLACE_FILE_FLAGS = enum(u32) {
WRITE_THROUGH = 1,
IGNORE_MERGE_ERRORS = 2,
IGNORE_ACL_ERRORS = 4,
_,
pub fn initFlags(o: struct {
WRITE_THROUGH: u1 = 0,
IGNORE_MERGE_ERRORS: u1 = 0,
IGNORE_ACL_ERRORS: u1 = 0,
}) REPLACE_FILE_FLAGS {
return @as(REPLACE_FILE_FLAGS, @enumFromInt(
(if (o.WRITE_THROUGH == 1) @intFromEnum(REPLACE_FILE_FLAGS.WRITE_THROUGH) else 0)
| (if (o.IGNORE_MERGE_ERRORS == 1) @intFromEnum(REPLACE_FILE_FLAGS.IGNORE_MERGE_ERRORS) else 0)
| (if (o.IGNORE_ACL_ERRORS == 1) @intFromEnum(REPLACE_FILE_FLAGS.IGNORE_ACL_ERRORS) else 0)
));
}
};
pub const REPLACEFILE_WRITE_THROUGH = REPLACE_FILE_FLAGS.WRITE_THROUGH;
pub const REPLACEFILE_IGNORE_MERGE_ERRORS = REPLACE_FILE_FLAGS.IGNORE_MERGE_ERRORS;
pub const REPLACEFILE_IGNORE_ACL_ERRORS = REPLACE_FILE_FLAGS.IGNORE_ACL_ERRORS;
pub const TAPEMARK_TYPE = enum(i32) {
FILEMARKS = 1,
LONG_FILEMARKS = 3,
SETMARKS = 0,
SHORT_FILEMARKS = 2,
};
pub const TAPE_FILEMARKS = TAPEMARK_TYPE.FILEMARKS;
pub const TAPE_LONG_FILEMARKS = TAPEMARK_TYPE.LONG_FILEMARKS;
pub const TAPE_SETMARKS = TAPEMARK_TYPE.SETMARKS;
pub const TAPE_SHORT_FILEMARKS = TAPEMARK_TYPE.SHORT_FILEMARKS;
pub const DISKQUOTA_USERNAME_RESOLVE = enum(u32) {
ASYNC = 2,
NONE = 0,
SYNC = 1,
};
pub const DISKQUOTA_USERNAME_RESOLVE_ASYNC = DISKQUOTA_USERNAME_RESOLVE.ASYNC;
pub const DISKQUOTA_USERNAME_RESOLVE_NONE = DISKQUOTA_USERNAME_RESOLVE.NONE;
pub const DISKQUOTA_USERNAME_RESOLVE_SYNC = DISKQUOTA_USERNAME_RESOLVE.SYNC;
pub const TAPE_POSITION_METHOD = enum(i32) {
ABSOLUTE_BLOCK = 1,
LOGICAL_BLOCK = 2,
REWIND = 0,
SPACE_END_OF_DATA = 4,
SPACE_FILEMARKS = 6,
SPACE_RELATIVE_BLOCKS = 5,
SPACE_SEQUENTIAL_FMKS = 7,
SPACE_SEQUENTIAL_SMKS = 9,
SPACE_SETMARKS = 8,
};
pub const TAPE_ABSOLUTE_BLOCK = TAPE_POSITION_METHOD.ABSOLUTE_BLOCK;
pub const TAPE_LOGICAL_BLOCK = TAPE_POSITION_METHOD.LOGICAL_BLOCK;
pub const TAPE_REWIND = TAPE_POSITION_METHOD.REWIND;
pub const TAPE_SPACE_END_OF_DATA = TAPE_POSITION_METHOD.SPACE_END_OF_DATA;
pub const TAPE_SPACE_FILEMARKS = TAPE_POSITION_METHOD.SPACE_FILEMARKS;
pub const TAPE_SPACE_RELATIVE_BLOCKS = TAPE_POSITION_METHOD.SPACE_RELATIVE_BLOCKS;
pub const TAPE_SPACE_SEQUENTIAL_FMKS = TAPE_POSITION_METHOD.SPACE_SEQUENTIAL_FMKS;
pub const TAPE_SPACE_SEQUENTIAL_SMKS = TAPE_POSITION_METHOD.SPACE_SEQUENTIAL_SMKS;
pub const TAPE_SPACE_SETMARKS = TAPE_POSITION_METHOD.SPACE_SETMARKS;
pub const NT_CREATE_FILE_DISPOSITION = enum(u32) {
SUPERSEDE = 0,
CREATE = 2,
OPEN = 1,
OPEN_IF = 3,
OVERWRITE = 4,
OVERWRITE_IF = 5,
};
pub const FILE_SUPERSEDE = NT_CREATE_FILE_DISPOSITION.SUPERSEDE;
pub const FILE_CREATE = NT_CREATE_FILE_DISPOSITION.CREATE;
pub const FILE_OPEN = NT_CREATE_FILE_DISPOSITION.OPEN;
pub const FILE_OPEN_IF = NT_CREATE_FILE_DISPOSITION.OPEN_IF;
pub const FILE_OVERWRITE = NT_CREATE_FILE_DISPOSITION.OVERWRITE;
pub const FILE_OVERWRITE_IF = NT_CREATE_FILE_DISPOSITION.OVERWRITE_IF;
pub const TAPE_INFORMATION_TYPE = enum(u32) {
DRIVE_INFORMATION = 1,
MEDIA_INFORMATION = 0,
};
pub const SET_TAPE_DRIVE_INFORMATION = TAPE_INFORMATION_TYPE.DRIVE_INFORMATION;
pub const SET_TAPE_MEDIA_INFORMATION = TAPE_INFORMATION_TYPE.MEDIA_INFORMATION;
pub const NTMS_OMID_TYPE = enum(u32) {
FILESYSTEM_INFO = 2,
RAW_LABEL = 1,
};
pub const NTMS_OMID_TYPE_FILESYSTEM_INFO = NTMS_OMID_TYPE.FILESYSTEM_INFO;
pub const NTMS_OMID_TYPE_RAW_LABEL = NTMS_OMID_TYPE.RAW_LABEL;
pub const LOCK_FILE_FLAGS = enum(u32) {
EXCLUSIVE_LOCK = 2,
FAIL_IMMEDIATELY = 1,
_,
pub fn initFlags(o: struct {
EXCLUSIVE_LOCK: u1 = 0,
FAIL_IMMEDIATELY: u1 = 0,
}) LOCK_FILE_FLAGS {
return @as(LOCK_FILE_FLAGS, @enumFromInt(
(if (o.EXCLUSIVE_LOCK == 1) @intFromEnum(LOCK_FILE_FLAGS.EXCLUSIVE_LOCK) else 0)
| (if (o.FAIL_IMMEDIATELY == 1) @intFromEnum(LOCK_FILE_FLAGS.FAIL_IMMEDIATELY) else 0)
));
}
};
pub const LOCKFILE_EXCLUSIVE_LOCK = LOCK_FILE_FLAGS.EXCLUSIVE_LOCK;
pub const LOCKFILE_FAIL_IMMEDIATELY = LOCK_FILE_FLAGS.FAIL_IMMEDIATELY;
pub const LPPROGRESS_ROUTINE_CALLBACK_REASON = enum(u32) {
CHUNK_FINISHED = 0,
STREAM_SWITCH = 1,
};
pub const CALLBACK_CHUNK_FINISHED = LPPROGRESS_ROUTINE_CALLBACK_REASON.CHUNK_FINISHED;
pub const CALLBACK_STREAM_SWITCH = LPPROGRESS_ROUTINE_CALLBACK_REASON.STREAM_SWITCH;
pub const PREPARE_TAPE_OPERATION = enum(i32) {
FORMAT = 5,
LOAD = 0,
LOCK = 3,
TENSION = 2,
UNLOAD = 1,
UNLOCK = 4,
};
pub const TAPE_FORMAT = PREPARE_TAPE_OPERATION.FORMAT;
pub const TAPE_LOAD = PREPARE_TAPE_OPERATION.LOAD;
pub const TAPE_LOCK = PREPARE_TAPE_OPERATION.LOCK;
pub const TAPE_TENSION = PREPARE_TAPE_OPERATION.TENSION;
pub const TAPE_UNLOAD = PREPARE_TAPE_OPERATION.UNLOAD;
pub const TAPE_UNLOCK = PREPARE_TAPE_OPERATION.UNLOCK;
pub const GET_TAPE_DRIVE_PARAMETERS_OPERATION = enum(u32) {
DRIVE_INFORMATION = 1,
MEDIA_INFORMATION = 0,
};
pub const GET_TAPE_DRIVE_INFORMATION = GET_TAPE_DRIVE_PARAMETERS_OPERATION.DRIVE_INFORMATION;
pub const GET_TAPE_MEDIA_INFORMATION = GET_TAPE_DRIVE_PARAMETERS_OPERATION.MEDIA_INFORMATION;
pub const ERASE_TAPE_TYPE = enum(i32) {
LONG = 1,
SHORT = 0,
};
pub const TAPE_ERASE_LONG = ERASE_TAPE_TYPE.LONG;
pub const TAPE_ERASE_SHORT = ERASE_TAPE_TYPE.SHORT;
pub const FILE_ACTION = enum(u32) {
ADDED = 1,
REMOVED = 2,
MODIFIED = 3,
RENAMED_OLD_NAME = 4,
RENAMED_NEW_NAME = 5,
};
pub const FILE_ACTION_ADDED = FILE_ACTION.ADDED;
pub const FILE_ACTION_REMOVED = FILE_ACTION.REMOVED;
pub const FILE_ACTION_MODIFIED = FILE_ACTION.MODIFIED;
pub const FILE_ACTION_RENAMED_OLD_NAME = FILE_ACTION.RENAMED_OLD_NAME;
pub const FILE_ACTION_RENAMED_NEW_NAME = FILE_ACTION.RENAMED_NEW_NAME;
pub const SHARE_INFO_PERMISSIONS = enum(u32) {
READ = 1,
WRITE = 2,
CREATE = 4,
EXEC = 8,
DELETE = 16,
ATRIB = 32,
PERM = 64,
ALL = 32768,
};
pub const ACCESS_READ = SHARE_INFO_PERMISSIONS.READ;
pub const ACCESS_WRITE = SHARE_INFO_PERMISSIONS.WRITE;
pub const ACCESS_CREATE = SHARE_INFO_PERMISSIONS.CREATE;
pub const ACCESS_EXEC = SHARE_INFO_PERMISSIONS.EXEC;
pub const ACCESS_DELETE = SHARE_INFO_PERMISSIONS.DELETE;
pub const ACCESS_ATRIB = SHARE_INFO_PERMISSIONS.ATRIB;
pub const ACCESS_PERM = SHARE_INFO_PERMISSIONS.PERM;
pub const ACCESS_ALL = SHARE_INFO_PERMISSIONS.ALL;
pub const FILE_DEVICE_TYPE = enum(u32) {
CD_ROM = 2,
DISK = 7,
TAPE = 31,
DVD = 51,
};
pub const FILE_DEVICE_CD_ROM = FILE_DEVICE_TYPE.CD_ROM;
pub const FILE_DEVICE_DISK = FILE_DEVICE_TYPE.DISK;
pub const FILE_DEVICE_TAPE = FILE_DEVICE_TYPE.TAPE;
pub const FILE_DEVICE_DVD = FILE_DEVICE_TYPE.DVD;
pub const SESSION_INFO_USER_FLAGS = enum(u32) {
GUEST = 1,
NOENCRYPTION = 2,
};
pub const SESS_GUEST = SESSION_INFO_USER_FLAGS.GUEST;
pub const SESS_NOENCRYPTION = SESSION_INFO_USER_FLAGS.NOENCRYPTION;
pub const WIN_STREAM_ID = enum(u32) {
ALTERNATE_DATA = 4,
DATA = 1,
EA_DATA = 2,
LINK = 5,
OBJECT_ID = 7,
PROPERTY_DATA = 6,
REPARSE_DATA = 8,
SECURITY_DATA = 3,
SPARSE_BLOCK = 9,
TXFS_DATA = 10,
};
pub const BACKUP_ALTERNATE_DATA = WIN_STREAM_ID.ALTERNATE_DATA;
pub const BACKUP_DATA = WIN_STREAM_ID.DATA;
pub const BACKUP_EA_DATA = WIN_STREAM_ID.EA_DATA;
pub const BACKUP_LINK = WIN_STREAM_ID.LINK;
pub const BACKUP_OBJECT_ID = WIN_STREAM_ID.OBJECT_ID;
pub const BACKUP_PROPERTY_DATA = WIN_STREAM_ID.PROPERTY_DATA;
pub const BACKUP_REPARSE_DATA = WIN_STREAM_ID.REPARSE_DATA;
pub const BACKUP_SECURITY_DATA = WIN_STREAM_ID.SECURITY_DATA;
pub const BACKUP_SPARSE_BLOCK = WIN_STREAM_ID.SPARSE_BLOCK;
pub const BACKUP_TXFS_DATA = WIN_STREAM_ID.TXFS_DATA;
pub const TXF_LOG_RECORD_TYPE = enum(u16) {
AFFECTED_FILE = 4,
TRUNCATE = 2,
WRITE = 1,
};
pub const TXF_LOG_RECORD_TYPE_AFFECTED_FILE = TXF_LOG_RECORD_TYPE.AFFECTED_FILE;
pub const TXF_LOG_RECORD_TYPE_TRUNCATE = TXF_LOG_RECORD_TYPE.TRUNCATE;
pub const TXF_LOG_RECORD_TYPE_WRITE = TXF_LOG_RECORD_TYPE.WRITE;
pub const FILE_INFO_FLAGS_PERMISSIONS = enum(u32) {
READ = 1,
WRITE = 2,
CREATE = 4,
_,
pub fn initFlags(o: struct {
READ: u1 = 0,
WRITE: u1 = 0,
CREATE: u1 = 0,
}) FILE_INFO_FLAGS_PERMISSIONS {
return @as(FILE_INFO_FLAGS_PERMISSIONS, @enumFromInt(
(if (o.READ == 1) @intFromEnum(FILE_INFO_FLAGS_PERMISSIONS.READ) else 0)
| (if (o.WRITE == 1) @intFromEnum(FILE_INFO_FLAGS_PERMISSIONS.WRITE) else 0)
| (if (o.CREATE == 1) @intFromEnum(FILE_INFO_FLAGS_PERMISSIONS.CREATE) else 0)
));
}
};
pub const PERM_FILE_READ = FILE_INFO_FLAGS_PERMISSIONS.READ;
pub const PERM_FILE_WRITE = FILE_INFO_FLAGS_PERMISSIONS.WRITE;
pub const PERM_FILE_CREATE = FILE_INFO_FLAGS_PERMISSIONS.CREATE;
pub const SYMBOLIC_LINK_FLAGS = enum(u32) {
DIRECTORY = 1,
ALLOW_UNPRIVILEGED_CREATE = 2,
_,
pub fn initFlags(o: struct {
DIRECTORY: u1 = 0,
ALLOW_UNPRIVILEGED_CREATE: u1 = 0,
}) SYMBOLIC_LINK_FLAGS {
return @as(SYMBOLIC_LINK_FLAGS, @enumFromInt(
(if (o.DIRECTORY == 1) @intFromEnum(SYMBOLIC_LINK_FLAGS.DIRECTORY) else 0)
| (if (o.ALLOW_UNPRIVILEGED_CREATE == 1) @intFromEnum(SYMBOLIC_LINK_FLAGS.ALLOW_UNPRIVILEGED_CREATE) else 0)
));
}
};
pub const SYMBOLIC_LINK_FLAG_DIRECTORY = SYMBOLIC_LINK_FLAGS.DIRECTORY;
pub const SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE = SYMBOLIC_LINK_FLAGS.ALLOW_UNPRIVILEGED_CREATE;
// TODO: this type has a FreeFunc 'FindClose', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const FindFileHandle = isize;
// TODO: this type has a FreeFunc 'FindClose', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const FindFileNameHandle = isize;
// TODO: this type has a FreeFunc 'FindClose', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const FindStreamHandle = isize;
// TODO: this type has a FreeFunc 'FindCloseChangeNotification', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const FindChangeNotificationHandle = isize;
// TODO: this type has a FreeFunc 'FindVolumeClose', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const FindVolumeHandle = isize;
// TODO: this type has a FreeFunc 'FindVolumeMountPointClose', what can Zig do with this information?
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const FindVolumeMointPointHandle = isize;
pub const WIN32_FIND_DATAA = extern struct {
dwFileAttributes: u32,
ftCreationTime: FILETIME,
ftLastAccessTime: FILETIME,
ftLastWriteTime: FILETIME,
nFileSizeHigh: u32,
nFileSizeLow: u32,
dwReserved0: u32,
dwReserved1: u32,
cFileName: [260]CHAR,
cAlternateFileName: [14]CHAR,
};
pub const WIN32_FIND_DATAW = extern struct {
dwFileAttributes: u32,
ftCreationTime: FILETIME,
ftLastAccessTime: FILETIME,
ftLastWriteTime: FILETIME,
nFileSizeHigh: u32,
nFileSizeLow: u32,
dwReserved0: u32,
dwReserved1: u32,
cFileName: [260]u16,
cAlternateFileName: [14]u16,
};
pub const FINDEX_INFO_LEVELS = enum(i32) {
Standard = 0,
Basic = 1,
MaxInfoLevel = 2,
};
pub const FindExInfoStandard = FINDEX_INFO_LEVELS.Standard;
pub const FindExInfoBasic = FINDEX_INFO_LEVELS.Basic;
pub const FindExInfoMaxInfoLevel = FINDEX_INFO_LEVELS.MaxInfoLevel;
pub const FINDEX_SEARCH_OPS = enum(i32) {
NameMatch = 0,
LimitToDirectories = 1,
LimitToDevices = 2,
MaxSearchOp = 3,
};
pub const FindExSearchNameMatch = FINDEX_SEARCH_OPS.NameMatch;
pub const FindExSearchLimitToDirectories = FINDEX_SEARCH_OPS.LimitToDirectories;
pub const FindExSearchLimitToDevices = FINDEX_SEARCH_OPS.LimitToDevices;
pub const FindExSearchMaxSearchOp = FINDEX_SEARCH_OPS.MaxSearchOp;
pub const READ_DIRECTORY_NOTIFY_INFORMATION_CLASS = enum(i32) {
Information = 1,
ExtendedInformation = 2,
};
pub const ReadDirectoryNotifyInformation = READ_DIRECTORY_NOTIFY_INFORMATION_CLASS.Information;
pub const ReadDirectoryNotifyExtendedInformation = READ_DIRECTORY_NOTIFY_INFORMATION_CLASS.ExtendedInformation;
pub const GET_FILEEX_INFO_LEVELS = enum(i32) {
InfoStandard = 0,
MaxInfoLevel = 1,
};
pub const GetFileExInfoStandard = GET_FILEEX_INFO_LEVELS.InfoStandard;
pub const GetFileExMaxInfoLevel = GET_FILEEX_INFO_LEVELS.MaxInfoLevel;
pub const FILE_INFO_BY_HANDLE_CLASS = enum(i32) {
FileBasicInfo = 0,
FileStandardInfo = 1,
FileNameInfo = 2,
FileRenameInfo = 3,
FileDispositionInfo = 4,
FileAllocationInfo = 5,
FileEndOfFileInfo = 6,
FileStreamInfo = 7,
FileCompressionInfo = 8,
FileAttributeTagInfo = 9,
FileIdBothDirectoryInfo = 10,
FileIdBothDirectoryRestartInfo = 11,
FileIoPriorityHintInfo = 12,
FileRemoteProtocolInfo = 13,
FileFullDirectoryInfo = 14,
FileFullDirectoryRestartInfo = 15,
FileStorageInfo = 16,
FileAlignmentInfo = 17,
FileIdInfo = 18,
FileIdExtdDirectoryInfo = 19,
FileIdExtdDirectoryRestartInfo = 20,
FileDispositionInfoEx = 21,
FileRenameInfoEx = 22,
FileCaseSensitiveInfo = 23,
FileNormalizedNameInfo = 24,
MaximumFileInfoByHandleClass = 25,
};
pub const FileBasicInfo = FILE_INFO_BY_HANDLE_CLASS.FileBasicInfo;
pub const FileStandardInfo = FILE_INFO_BY_HANDLE_CLASS.FileStandardInfo;
pub const FileNameInfo = FILE_INFO_BY_HANDLE_CLASS.FileNameInfo;
pub const FileRenameInfo = FILE_INFO_BY_HANDLE_CLASS.FileRenameInfo;
pub const FileDispositionInfo = FILE_INFO_BY_HANDLE_CLASS.FileDispositionInfo;
pub const FileAllocationInfo = FILE_INFO_BY_HANDLE_CLASS.FileAllocationInfo;
pub const FileEndOfFileInfo = FILE_INFO_BY_HANDLE_CLASS.FileEndOfFileInfo;
pub const FileStreamInfo = FILE_INFO_BY_HANDLE_CLASS.FileStreamInfo;
pub const FileCompressionInfo = FILE_INFO_BY_HANDLE_CLASS.FileCompressionInfo;
pub const FileAttributeTagInfo = FILE_INFO_BY_HANDLE_CLASS.FileAttributeTagInfo;
pub const FileIdBothDirectoryInfo = FILE_INFO_BY_HANDLE_CLASS.FileIdBothDirectoryInfo;
pub const FileIdBothDirectoryRestartInfo = FILE_INFO_BY_HANDLE_CLASS.FileIdBothDirectoryRestartInfo;
pub const FileIoPriorityHintInfo = FILE_INFO_BY_HANDLE_CLASS.FileIoPriorityHintInfo;
pub const FileRemoteProtocolInfo = FILE_INFO_BY_HANDLE_CLASS.FileRemoteProtocolInfo;
pub const FileFullDirectoryInfo = FILE_INFO_BY_HANDLE_CLASS.FileFullDirectoryInfo;
pub const FileFullDirectoryRestartInfo = FILE_INFO_BY_HANDLE_CLASS.FileFullDirectoryRestartInfo;
pub const FileStorageInfo = FILE_INFO_BY_HANDLE_CLASS.FileStorageInfo;
pub const FileAlignmentInfo = FILE_INFO_BY_HANDLE_CLASS.FileAlignmentInfo;
pub const FileIdInfo = FILE_INFO_BY_HANDLE_CLASS.FileIdInfo;
pub const FileIdExtdDirectoryInfo = FILE_INFO_BY_HANDLE_CLASS.FileIdExtdDirectoryInfo;
pub const FileIdExtdDirectoryRestartInfo = FILE_INFO_BY_HANDLE_CLASS.FileIdExtdDirectoryRestartInfo;
pub const FileDispositionInfoEx = FILE_INFO_BY_HANDLE_CLASS.FileDispositionInfoEx;
pub const FileRenameInfoEx = FILE_INFO_BY_HANDLE_CLASS.FileRenameInfoEx;
pub const FileCaseSensitiveInfo = FILE_INFO_BY_HANDLE_CLASS.FileCaseSensitiveInfo;
pub const FileNormalizedNameInfo = FILE_INFO_BY_HANDLE_CLASS.FileNormalizedNameInfo;
pub const MaximumFileInfoByHandleClass = FILE_INFO_BY_HANDLE_CLASS.MaximumFileInfoByHandleClass;
pub const TRANSACTION_NOTIFICATION = extern struct {
TransactionKey: ?*anyopaque,
TransactionNotification: u32,
TmVirtualClock: LARGE_INTEGER,
ArgumentLength: u32,
};
pub const TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = extern struct {
EnlistmentId: Guid,
UOW: Guid,
};
pub const TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = extern struct {
TmIdentity: Guid,
Flags: u32,
};
pub const TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = extern struct {
SavepointId: u32,
};
pub const TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = extern struct {
PropagationCookie: u32,
UOW: Guid,
TmIdentity: Guid,
BufferLength: u32,
};
pub const TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = extern struct {
MarshalCookie: u32,
UOW: Guid,
};
pub const KCRM_MARSHAL_HEADER = extern struct {
VersionMajor: u32,
VersionMinor: u32,
NumProtocols: u32,
Unused: u32,
};
pub const KCRM_TRANSACTION_BLOB = extern struct {
UOW: Guid,
TmIdentity: Guid,
IsolationLevel: u32,
IsolationFlags: u32,
Timeout: u32,
Description: [64]u16,
};
pub const KCRM_PROTOCOL_BLOB = extern struct {
ProtocolId: Guid,
StaticInfoLength: u32,
TransactionIdInfoLength: u32,
Unused1: u32,
Unused2: u32,
};
pub const DISK_SPACE_INFORMATION = extern struct {
ActualTotalAllocationUnits: u64,
ActualAvailableAllocationUnits: u64,
ActualPoolUnavailableAllocationUnits: u64,
CallerTotalAllocationUnits: u64,
CallerAvailableAllocationUnits: u64,
CallerPoolUnavailableAllocationUnits: u64,
UsedAllocationUnits: u64,
TotalReservedAllocationUnits: u64,
VolumeStorageReserveAllocationUnits: u64,
AvailableCommittedAllocationUnits: u64,
PoolAvailableAllocationUnits: u64,
SectorsPerAllocationUnit: u32,
BytesPerSector: u32,
};
pub const WIN32_FILE_ATTRIBUTE_DATA = extern struct {
dwFileAttributes: u32,
ftCreationTime: FILETIME,
ftLastAccessTime: FILETIME,
ftLastWriteTime: FILETIME,
nFileSizeHigh: u32,
nFileSizeLow: u32,
};
pub const BY_HANDLE_FILE_INFORMATION = extern struct {
dwFileAttributes: u32,
ftCreationTime: FILETIME,
ftLastAccessTime: FILETIME,
ftLastWriteTime: FILETIME,
dwVolumeSerialNumber: u32,
nFileSizeHigh: u32,
nFileSizeLow: u32,
nNumberOfLinks: u32,
nFileIndexHigh: u32,
nFileIndexLow: u32,
};
pub const CREATEFILE2_EXTENDED_PARAMETERS = extern struct {
dwSize: u32,
dwFileAttributes: u32,
dwFileFlags: u32,
dwSecurityQosFlags: u32,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
hTemplateFile: ?HANDLE,
};
pub const STREAM_INFO_LEVELS = enum(i32) {
Standard = 0,
MaxInfoLevel = 1,
};
pub const FindStreamInfoStandard = STREAM_INFO_LEVELS.Standard;
pub const FindStreamInfoMaxInfoLevel = STREAM_INFO_LEVELS.MaxInfoLevel;
pub const WIN32_FIND_STREAM_DATA = extern struct {
StreamSize: LARGE_INTEGER,
cStreamName: [296]u16,
};
pub const VS_FIXEDFILEINFO = extern struct {
dwSignature: u32,
dwStrucVersion: u32,
dwFileVersionMS: u32,
dwFileVersionLS: u32,
dwProductVersionMS: u32,
dwProductVersionLS: u32,
dwFileFlagsMask: u32,
dwFileFlags: VS_FIXEDFILEINFO_FILE_FLAGS,
dwFileOS: VS_FIXEDFILEINFO_FILE_OS,
dwFileType: VS_FIXEDFILEINFO_FILE_TYPE,
dwFileSubtype: VS_FIXEDFILEINFO_FILE_SUBTYPE,
dwFileDateMS: u32,
dwFileDateLS: u32,
};
pub const NtmsObjectsTypes = enum(i32) {
UNKNOWN = 0,
OBJECT = 1,
CHANGER = 2,
CHANGER_TYPE = 3,
COMPUTER = 4,
DRIVE = 5,
DRIVE_TYPE = 6,
IEDOOR = 7,
IEPORT = 8,
LIBRARY = 9,
LIBREQUEST = 10,
LOGICAL_MEDIA = 11,
MEDIA_POOL = 12,
MEDIA_TYPE = 13,
PARTITION = 14,
PHYSICAL_MEDIA = 15,
STORAGESLOT = 16,
OPREQUEST = 17,
UI_DESTINATION = 18,
NUMBER_OF_OBJECT_TYPES = 19,
};
pub const NTMS_UNKNOWN = NtmsObjectsTypes.UNKNOWN;
pub const NTMS_OBJECT = NtmsObjectsTypes.OBJECT;
pub const NTMS_CHANGER = NtmsObjectsTypes.CHANGER;
pub const NTMS_CHANGER_TYPE = NtmsObjectsTypes.CHANGER_TYPE;
pub const NTMS_COMPUTER = NtmsObjectsTypes.COMPUTER;
pub const NTMS_DRIVE = NtmsObjectsTypes.DRIVE;
pub const NTMS_DRIVE_TYPE = NtmsObjectsTypes.DRIVE_TYPE;
pub const NTMS_IEDOOR = NtmsObjectsTypes.IEDOOR;
pub const NTMS_IEPORT = NtmsObjectsTypes.IEPORT;
pub const NTMS_LIBRARY = NtmsObjectsTypes.LIBRARY;
pub const NTMS_LIBREQUEST = NtmsObjectsTypes.LIBREQUEST;
pub const NTMS_LOGICAL_MEDIA = NtmsObjectsTypes.LOGICAL_MEDIA;
pub const NTMS_MEDIA_POOL = NtmsObjectsTypes.MEDIA_POOL;
pub const NTMS_MEDIA_TYPE = NtmsObjectsTypes.MEDIA_TYPE;
pub const NTMS_PARTITION = NtmsObjectsTypes.PARTITION;
pub const NTMS_PHYSICAL_MEDIA = NtmsObjectsTypes.PHYSICAL_MEDIA;
pub const NTMS_STORAGESLOT = NtmsObjectsTypes.STORAGESLOT;
pub const NTMS_OPREQUEST = NtmsObjectsTypes.OPREQUEST;
pub const NTMS_UI_DESTINATION = NtmsObjectsTypes.UI_DESTINATION;
pub const NTMS_NUMBER_OF_OBJECT_TYPES = NtmsObjectsTypes.NUMBER_OF_OBJECT_TYPES;
pub const NTMS_ASYNC_IO = extern struct {
OperationId: Guid,
EventId: Guid,
dwOperationType: u32,
dwResult: u32,
dwAsyncState: u32,
hEvent: ?HANDLE,
bOnStateChange: BOOL,
};
pub const NtmsAsyncStatus = enum(i32) {
QUEUED = 0,
WAIT_RESOURCE = 1,
WAIT_OPERATOR = 2,
INPROCESS = 3,
COMPLETE = 4,
};
pub const NTMS_ASYNCSTATE_QUEUED = NtmsAsyncStatus.QUEUED;
pub const NTMS_ASYNCSTATE_WAIT_RESOURCE = NtmsAsyncStatus.WAIT_RESOURCE;
pub const NTMS_ASYNCSTATE_WAIT_OPERATOR = NtmsAsyncStatus.WAIT_OPERATOR;
pub const NTMS_ASYNCSTATE_INPROCESS = NtmsAsyncStatus.INPROCESS;
pub const NTMS_ASYNCSTATE_COMPLETE = NtmsAsyncStatus.COMPLETE;
pub const NtmsAsyncOperations = enum(i32) {
T = 1,
};
pub const NTMS_ASYNCOP_MOUNT = NtmsAsyncOperations.T;
pub const NtmsSessionOptions = enum(i32) {
E = 1,
};
pub const NTMS_SESSION_QUERYEXPEDITE = NtmsSessionOptions.E;
pub const NtmsMountOptions = enum(i32) {
READ = 1,
WRITE = 2,
ERROR_NOT_AVAILABLE = 4,
// ERROR_IF_UNAVAILABLE = 4, this enum value conflicts with ERROR_NOT_AVAILABLE
ERROR_OFFLINE = 8,
// ERROR_IF_OFFLINE = 8, this enum value conflicts with ERROR_OFFLINE
SPECIFIC_DRIVE = 16,
NOWAIT = 32,
};
pub const NTMS_MOUNT_READ = NtmsMountOptions.READ;
pub const NTMS_MOUNT_WRITE = NtmsMountOptions.WRITE;
pub const NTMS_MOUNT_ERROR_NOT_AVAILABLE = NtmsMountOptions.ERROR_NOT_AVAILABLE;
pub const NTMS_MOUNT_ERROR_IF_UNAVAILABLE = NtmsMountOptions.ERROR_NOT_AVAILABLE;
pub const NTMS_MOUNT_ERROR_OFFLINE = NtmsMountOptions.ERROR_OFFLINE;
pub const NTMS_MOUNT_ERROR_IF_OFFLINE = NtmsMountOptions.ERROR_OFFLINE;
pub const NTMS_MOUNT_SPECIFIC_DRIVE = NtmsMountOptions.SPECIFIC_DRIVE;
pub const NTMS_MOUNT_NOWAIT = NtmsMountOptions.NOWAIT;
pub const NtmsDismountOptions = enum(i32) {
DEFERRED = 1,
IMMEDIATE = 2,
};
pub const NTMS_DISMOUNT_DEFERRED = NtmsDismountOptions.DEFERRED;
pub const NTMS_DISMOUNT_IMMEDIATE = NtmsDismountOptions.IMMEDIATE;
pub const NtmsMountPriority = enum(i32) {
DEFAULT = 0,
HIGHEST = 15,
HIGH = 7,
// NORMAL = 0, this enum value conflicts with DEFAULT
LOW = -7,
LOWEST = -15,
};
pub const NTMS_PRIORITY_DEFAULT = NtmsMountPriority.DEFAULT;
pub const NTMS_PRIORITY_HIGHEST = NtmsMountPriority.HIGHEST;
pub const NTMS_PRIORITY_HIGH = NtmsMountPriority.HIGH;
pub const NTMS_PRIORITY_NORMAL = NtmsMountPriority.DEFAULT;
pub const NTMS_PRIORITY_LOW = NtmsMountPriority.LOW;
pub const NTMS_PRIORITY_LOWEST = NtmsMountPriority.LOWEST;
pub const NTMS_MOUNT_INFORMATION = extern struct {
dwSize: u32,
lpReserved: ?*anyopaque,
};
pub const NtmsAllocateOptions = enum(i32) {
NEW = 1,
NEXT = 2,
ERROR_IF_UNAVAILABLE = 4,
};
pub const NTMS_ALLOCATE_NEW = NtmsAllocateOptions.NEW;
pub const NTMS_ALLOCATE_NEXT = NtmsAllocateOptions.NEXT;
pub const NTMS_ALLOCATE_ERROR_IF_UNAVAILABLE = NtmsAllocateOptions.ERROR_IF_UNAVAILABLE;
pub const NTMS_ALLOCATION_INFORMATION = extern struct {
dwSize: u32,
lpReserved: ?*anyopaque,
AllocatedFrom: Guid,
};
pub const NtmsCreateOptions = enum(i32) {
OPEN_EXISTING = 1,
CREATE_NEW = 2,
OPEN_ALWAYS = 3,
};
pub const NTMS_OPEN_EXISTING = NtmsCreateOptions.OPEN_EXISTING;
pub const NTMS_CREATE_NEW = NtmsCreateOptions.CREATE_NEW;
pub const NTMS_OPEN_ALWAYS = NtmsCreateOptions.OPEN_ALWAYS;
pub const NtmsDriveState = enum(i32) {
DISMOUNTED = 0,
MOUNTED = 1,
LOADED = 2,
UNLOADED = 5,
BEING_CLEANED = 6,
DISMOUNTABLE = 7,
};
pub const NTMS_DRIVESTATE_DISMOUNTED = NtmsDriveState.DISMOUNTED;
pub const NTMS_DRIVESTATE_MOUNTED = NtmsDriveState.MOUNTED;
pub const NTMS_DRIVESTATE_LOADED = NtmsDriveState.LOADED;
pub const NTMS_DRIVESTATE_UNLOADED = NtmsDriveState.UNLOADED;
pub const NTMS_DRIVESTATE_BEING_CLEANED = NtmsDriveState.BEING_CLEANED;
pub const NTMS_DRIVESTATE_DISMOUNTABLE = NtmsDriveState.DISMOUNTABLE;
pub const NTMS_DRIVEINFORMATIONA = extern struct {
Number: u32,
State: NtmsDriveState,
DriveType: Guid,
szDeviceName: [64]CHAR,
szSerialNumber: [32]CHAR,
szRevision: [32]CHAR,
ScsiPort: u16,
ScsiBus: u16,
ScsiTarget: u16,
ScsiLun: u16,
dwMountCount: u32,
LastCleanedTs: SYSTEMTIME,
SavedPartitionId: Guid,
Library: Guid,
Reserved: Guid,
dwDeferDismountDelay: u32,
};
pub const NTMS_DRIVEINFORMATIONW = extern struct {
Number: u32,
State: NtmsDriveState,
DriveType: Guid,
szDeviceName: [64]u16,
szSerialNumber: [32]u16,
szRevision: [32]u16,
ScsiPort: u16,
ScsiBus: u16,
ScsiTarget: u16,
ScsiLun: u16,
dwMountCount: u32,
LastCleanedTs: SYSTEMTIME,
SavedPartitionId: Guid,
Library: Guid,
Reserved: Guid,
dwDeferDismountDelay: u32,
};
pub const NtmsLibraryType = enum(i32) {
UNKNOWN = 0,
OFFLINE = 1,
ONLINE = 2,
STANDALONE = 3,
};
pub const NTMS_LIBRARYTYPE_UNKNOWN = NtmsLibraryType.UNKNOWN;
pub const NTMS_LIBRARYTYPE_OFFLINE = NtmsLibraryType.OFFLINE;
pub const NTMS_LIBRARYTYPE_ONLINE = NtmsLibraryType.ONLINE;
pub const NTMS_LIBRARYTYPE_STANDALONE = NtmsLibraryType.STANDALONE;
pub const NtmsLibraryFlags = enum(i32) {
FIXEDOFFLINE = 1,
CLEANERPRESENT = 2,
AUTODETECTCHANGE = 4,
IGNORECLEANERUSESREMAINING = 8,
RECOGNIZECLEANERBARCODE = 16,
};
pub const NTMS_LIBRARYFLAG_FIXEDOFFLINE = NtmsLibraryFlags.FIXEDOFFLINE;
pub const NTMS_LIBRARYFLAG_CLEANERPRESENT = NtmsLibraryFlags.CLEANERPRESENT;
pub const NTMS_LIBRARYFLAG_AUTODETECTCHANGE = NtmsLibraryFlags.AUTODETECTCHANGE;
pub const NTMS_LIBRARYFLAG_IGNORECLEANERUSESREMAINING = NtmsLibraryFlags.IGNORECLEANERUSESREMAINING;
pub const NTMS_LIBRARYFLAG_RECOGNIZECLEANERBARCODE = NtmsLibraryFlags.RECOGNIZECLEANERBARCODE;
pub const NtmsInventoryMethod = enum(i32) {
NONE = 0,
FAST = 1,
OMID = 2,
DEFAULT = 3,
SLOT = 4,
STOP = 5,
MAX = 6,
};
pub const NTMS_INVENTORY_NONE = NtmsInventoryMethod.NONE;
pub const NTMS_INVENTORY_FAST = NtmsInventoryMethod.FAST;
pub const NTMS_INVENTORY_OMID = NtmsInventoryMethod.OMID;
pub const NTMS_INVENTORY_DEFAULT = NtmsInventoryMethod.DEFAULT;
pub const NTMS_INVENTORY_SLOT = NtmsInventoryMethod.SLOT;
pub const NTMS_INVENTORY_STOP = NtmsInventoryMethod.STOP;
pub const NTMS_INVENTORY_MAX = NtmsInventoryMethod.MAX;
pub const NTMS_LIBRARYINFORMATION = extern struct {
LibraryType: NtmsLibraryType,
CleanerSlot: Guid,
CleanerSlotDefault: Guid,
LibrarySupportsDriveCleaning: BOOL,
BarCodeReaderInstalled: BOOL,
InventoryMethod: NtmsInventoryMethod,
dwCleanerUsesRemaining: u32,
FirstDriveNumber: u32,
dwNumberOfDrives: u32,
FirstSlotNumber: u32,
dwNumberOfSlots: u32,
FirstDoorNumber: u32,
dwNumberOfDoors: u32,
FirstPortNumber: u32,
dwNumberOfPorts: u32,
FirstChangerNumber: u32,
dwNumberOfChangers: u32,
dwNumberOfMedia: u32,
dwNumberOfMediaTypes: u32,
dwNumberOfLibRequests: u32,
Reserved: Guid,
AutoRecovery: BOOL,
dwFlags: NtmsLibraryFlags,
};
pub const NTMS_CHANGERINFORMATIONA = extern struct {
Number: u32,
ChangerType: Guid,
szSerialNumber: [32]CHAR,
szRevision: [32]CHAR,
szDeviceName: [64]CHAR,
ScsiPort: u16,
ScsiBus: u16,
ScsiTarget: u16,
ScsiLun: u16,
Library: Guid,
};
pub const NTMS_CHANGERINFORMATIONW = extern struct {
Number: u32,
ChangerType: Guid,
szSerialNumber: [32]u16,
szRevision: [32]u16,
szDeviceName: [64]u16,
ScsiPort: u16,
ScsiBus: u16,
ScsiTarget: u16,
ScsiLun: u16,
Library: Guid,
};
pub const NtmsSlotState = enum(i32) {
UNKNOWN = 0,
FULL = 1,
EMPTY = 2,
NOTPRESENT = 3,
NEEDSINVENTORY = 4,
};
pub const NTMS_SLOTSTATE_UNKNOWN = NtmsSlotState.UNKNOWN;
pub const NTMS_SLOTSTATE_FULL = NtmsSlotState.FULL;
pub const NTMS_SLOTSTATE_EMPTY = NtmsSlotState.EMPTY;
pub const NTMS_SLOTSTATE_NOTPRESENT = NtmsSlotState.NOTPRESENT;
pub const NTMS_SLOTSTATE_NEEDSINVENTORY = NtmsSlotState.NEEDSINVENTORY;
pub const NTMS_STORAGESLOTINFORMATION = extern struct {
Number: u32,
State: u32,
Library: Guid,
};
pub const NtmsDoorState = enum(i32) {
UNKNOWN = 0,
CLOSED = 1,
OPEN = 2,
};
pub const NTMS_DOORSTATE_UNKNOWN = NtmsDoorState.UNKNOWN;
pub const NTMS_DOORSTATE_CLOSED = NtmsDoorState.CLOSED;
pub const NTMS_DOORSTATE_OPEN = NtmsDoorState.OPEN;
pub const NTMS_IEDOORINFORMATION = extern struct {
Number: u32,
State: NtmsDoorState,
MaxOpenSecs: u16,
Library: Guid,
};
pub const NtmsPortPosition = enum(i32) {
UNKNOWN = 0,
EXTENDED = 1,
RETRACTED = 2,
};
pub const NTMS_PORTPOSITION_UNKNOWN = NtmsPortPosition.UNKNOWN;
pub const NTMS_PORTPOSITION_EXTENDED = NtmsPortPosition.EXTENDED;
pub const NTMS_PORTPOSITION_RETRACTED = NtmsPortPosition.RETRACTED;
pub const NtmsPortContent = enum(i32) {
UNKNOWN = 0,
FULL = 1,
EMPTY = 2,
};
pub const NTMS_PORTCONTENT_UNKNOWN = NtmsPortContent.UNKNOWN;
pub const NTMS_PORTCONTENT_FULL = NtmsPortContent.FULL;
pub const NTMS_PORTCONTENT_EMPTY = NtmsPortContent.EMPTY;
pub const NTMS_IEPORTINFORMATION = extern struct {
Number: u32,
Content: NtmsPortContent,
Position: NtmsPortPosition,
MaxExtendSecs: u16,
Library: Guid,
};
pub const NtmsBarCodeState = enum(i32) {
OK = 1,
UNREADABLE = 2,
};
pub const NTMS_BARCODESTATE_OK = NtmsBarCodeState.OK;
pub const NTMS_BARCODESTATE_UNREADABLE = NtmsBarCodeState.UNREADABLE;
pub const NtmsMediaState = enum(i32) {
IDLE = 0,
INUSE = 1,
MOUNTED = 2,
LOADED = 3,
UNLOADED = 4,
OPERROR = 5,
OPREQ = 6,
};
pub const NTMS_MEDIASTATE_IDLE = NtmsMediaState.IDLE;
pub const NTMS_MEDIASTATE_INUSE = NtmsMediaState.INUSE;
pub const NTMS_MEDIASTATE_MOUNTED = NtmsMediaState.MOUNTED;
pub const NTMS_MEDIASTATE_LOADED = NtmsMediaState.LOADED;
pub const NTMS_MEDIASTATE_UNLOADED = NtmsMediaState.UNLOADED;
pub const NTMS_MEDIASTATE_OPERROR = NtmsMediaState.OPERROR;
pub const NTMS_MEDIASTATE_OPREQ = NtmsMediaState.OPREQ;
pub const NTMS_PMIDINFORMATIONA = extern struct {
CurrentLibrary: Guid,
MediaPool: Guid,
Location: Guid,
LocationType: u32,
MediaType: Guid,
HomeSlot: Guid,
szBarCode: [64]CHAR,
BarCodeState: NtmsBarCodeState,
szSequenceNumber: [32]CHAR,
MediaState: NtmsMediaState,
dwNumberOfPartitions: u32,
dwMediaTypeCode: u32,
dwDensityCode: u32,
MountedPartition: Guid,
};
pub const NTMS_PMIDINFORMATIONW = extern struct {
CurrentLibrary: Guid,
MediaPool: Guid,
Location: Guid,
LocationType: u32,
MediaType: Guid,
HomeSlot: Guid,
szBarCode: [64]u16,
BarCodeState: NtmsBarCodeState,
szSequenceNumber: [32]u16,
MediaState: NtmsMediaState,
dwNumberOfPartitions: u32,
dwMediaTypeCode: u32,
dwDensityCode: u32,
MountedPartition: Guid,
};
pub const NTMS_LMIDINFORMATION = extern struct {
MediaPool: Guid,
dwNumberOfPartitions: u32,
};
pub const NtmsPartitionState = enum(i32) {
UNKNOWN = 0,
UNPREPARED = 1,
INCOMPATIBLE = 2,
DECOMMISSIONED = 3,
AVAILABLE = 4,
ALLOCATED = 5,
COMPLETE = 6,
FOREIGN = 7,
IMPORT = 8,
RESERVED = 9,
};
pub const NTMS_PARTSTATE_UNKNOWN = NtmsPartitionState.UNKNOWN;
pub const NTMS_PARTSTATE_UNPREPARED = NtmsPartitionState.UNPREPARED;
pub const NTMS_PARTSTATE_INCOMPATIBLE = NtmsPartitionState.INCOMPATIBLE;
pub const NTMS_PARTSTATE_DECOMMISSIONED = NtmsPartitionState.DECOMMISSIONED;
pub const NTMS_PARTSTATE_AVAILABLE = NtmsPartitionState.AVAILABLE;
pub const NTMS_PARTSTATE_ALLOCATED = NtmsPartitionState.ALLOCATED;
pub const NTMS_PARTSTATE_COMPLETE = NtmsPartitionState.COMPLETE;
pub const NTMS_PARTSTATE_FOREIGN = NtmsPartitionState.FOREIGN;
pub const NTMS_PARTSTATE_IMPORT = NtmsPartitionState.IMPORT;
pub const NTMS_PARTSTATE_RESERVED = NtmsPartitionState.RESERVED;
pub const NTMS_PARTITIONINFORMATIONA = extern struct {
PhysicalMedia: Guid,
LogicalMedia: Guid,
State: NtmsPartitionState,
Side: u16,
dwOmidLabelIdLength: u32,
OmidLabelId: [255]u8,
szOmidLabelType: [64]CHAR,
szOmidLabelInfo: [256]CHAR,
dwMountCount: u32,
dwAllocateCount: u32,
Capacity: LARGE_INTEGER,
};
pub const NTMS_PARTITIONINFORMATIONW = extern struct {
PhysicalMedia: Guid,
LogicalMedia: Guid,
State: NtmsPartitionState,
Side: u16,
dwOmidLabelIdLength: u32,
OmidLabelId: [255]u8,
szOmidLabelType: [64]u16,
szOmidLabelInfo: [256]u16,
dwMountCount: u32,
dwAllocateCount: u32,
Capacity: LARGE_INTEGER,
};
pub const NtmsPoolType = enum(i32) {
UNKNOWN = 0,
SCRATCH = 1,
FOREIGN = 2,
IMPORT = 3,
APPLICATION = 1000,
};
pub const NTMS_POOLTYPE_UNKNOWN = NtmsPoolType.UNKNOWN;
pub const NTMS_POOLTYPE_SCRATCH = NtmsPoolType.SCRATCH;
pub const NTMS_POOLTYPE_FOREIGN = NtmsPoolType.FOREIGN;
pub const NTMS_POOLTYPE_IMPORT = NtmsPoolType.IMPORT;
pub const NTMS_POOLTYPE_APPLICATION = NtmsPoolType.APPLICATION;
pub const NtmsAllocationPolicy = enum(i32) {
H = 1,
};
pub const NTMS_ALLOCATE_FROMSCRATCH = NtmsAllocationPolicy.H;
pub const NtmsDeallocationPolicy = enum(i32) {
H = 1,
};
pub const NTMS_DEALLOCATE_TOSCRATCH = NtmsDeallocationPolicy.H;
pub const NTMS_MEDIAPOOLINFORMATION = extern struct {
PoolType: u32,
MediaType: Guid,
Parent: Guid,
AllocationPolicy: u32,
DeallocationPolicy: u32,
dwMaxAllocates: u32,
dwNumberOfPhysicalMedia: u32,
dwNumberOfLogicalMedia: u32,
dwNumberOfMediaPools: u32,
};
pub const NtmsReadWriteCharacteristics = enum(i32) {
UNKNOWN = 0,
REWRITABLE = 1,
WRITEONCE = 2,
READONLY = 3,
};
pub const NTMS_MEDIARW_UNKNOWN = NtmsReadWriteCharacteristics.UNKNOWN;
pub const NTMS_MEDIARW_REWRITABLE = NtmsReadWriteCharacteristics.REWRITABLE;
pub const NTMS_MEDIARW_WRITEONCE = NtmsReadWriteCharacteristics.WRITEONCE;
pub const NTMS_MEDIARW_READONLY = NtmsReadWriteCharacteristics.READONLY;
pub const NTMS_MEDIATYPEINFORMATION = extern struct {
MediaType: u32,
NumberOfSides: u32,
ReadWriteCharacteristics: NtmsReadWriteCharacteristics,
DeviceType: FILE_DEVICE_TYPE,
};
pub const NTMS_DRIVETYPEINFORMATIONA = extern struct {
szVendor: [128]CHAR,
szProduct: [128]CHAR,
NumberOfHeads: u32,
DeviceType: FILE_DEVICE_TYPE,
};
pub const NTMS_DRIVETYPEINFORMATIONW = extern struct {
szVendor: [128]u16,
szProduct: [128]u16,
NumberOfHeads: u32,
DeviceType: FILE_DEVICE_TYPE,
};
pub const NTMS_CHANGERTYPEINFORMATIONA = extern struct {
szVendor: [128]CHAR,
szProduct: [128]CHAR,
DeviceType: u32,
};
pub const NTMS_CHANGERTYPEINFORMATIONW = extern struct {
szVendor: [128]u16,
szProduct: [128]u16,
DeviceType: u32,
};
pub const NtmsLmOperation = enum(i32) {
REMOVE = 0,
DISABLECHANGER = 1,
// DISABLELIBRARY = 1, this enum value conflicts with DISABLECHANGER
ENABLECHANGER = 2,
// ENABLELIBRARY = 2, this enum value conflicts with ENABLECHANGER
DISABLEDRIVE = 3,
ENABLEDRIVE = 4,
DISABLEMEDIA = 5,
ENABLEMEDIA = 6,
UPDATEOMID = 7,
INVENTORY = 8,
DOORACCESS = 9,
EJECT = 10,
EJECTCLEANER = 11,
INJECT = 12,
INJECTCLEANER = 13,
PROCESSOMID = 14,
CLEANDRIVE = 15,
DISMOUNT = 16,
MOUNT = 17,
WRITESCRATCH = 18,
CLASSIFY = 19,
RESERVECLEANER = 20,
RELEASECLEANER = 21,
MAXWORKITEM = 22,
};
pub const NTMS_LM_REMOVE = NtmsLmOperation.REMOVE;
pub const NTMS_LM_DISABLECHANGER = NtmsLmOperation.DISABLECHANGER;
pub const NTMS_LM_DISABLELIBRARY = NtmsLmOperation.DISABLECHANGER;
pub const NTMS_LM_ENABLECHANGER = NtmsLmOperation.ENABLECHANGER;
pub const NTMS_LM_ENABLELIBRARY = NtmsLmOperation.ENABLECHANGER;
pub const NTMS_LM_DISABLEDRIVE = NtmsLmOperation.DISABLEDRIVE;
pub const NTMS_LM_ENABLEDRIVE = NtmsLmOperation.ENABLEDRIVE;
pub const NTMS_LM_DISABLEMEDIA = NtmsLmOperation.DISABLEMEDIA;
pub const NTMS_LM_ENABLEMEDIA = NtmsLmOperation.ENABLEMEDIA;
pub const NTMS_LM_UPDATEOMID = NtmsLmOperation.UPDATEOMID;
pub const NTMS_LM_INVENTORY = NtmsLmOperation.INVENTORY;
pub const NTMS_LM_DOORACCESS = NtmsLmOperation.DOORACCESS;
pub const NTMS_LM_EJECT = NtmsLmOperation.EJECT;
pub const NTMS_LM_EJECTCLEANER = NtmsLmOperation.EJECTCLEANER;
pub const NTMS_LM_INJECT = NtmsLmOperation.INJECT;
pub const NTMS_LM_INJECTCLEANER = NtmsLmOperation.INJECTCLEANER;
pub const NTMS_LM_PROCESSOMID = NtmsLmOperation.PROCESSOMID;
pub const NTMS_LM_CLEANDRIVE = NtmsLmOperation.CLEANDRIVE;
pub const NTMS_LM_DISMOUNT = NtmsLmOperation.DISMOUNT;
pub const NTMS_LM_MOUNT = NtmsLmOperation.MOUNT;
pub const NTMS_LM_WRITESCRATCH = NtmsLmOperation.WRITESCRATCH;
pub const NTMS_LM_CLASSIFY = NtmsLmOperation.CLASSIFY;
pub const NTMS_LM_RESERVECLEANER = NtmsLmOperation.RESERVECLEANER;
pub const NTMS_LM_RELEASECLEANER = NtmsLmOperation.RELEASECLEANER;
pub const NTMS_LM_MAXWORKITEM = NtmsLmOperation.MAXWORKITEM;
pub const NtmsLmState = enum(i32) {
QUEUED = 0,
INPROCESS = 1,
PASSED = 2,
FAILED = 3,
INVALID = 4,
WAITING = 5,
DEFERRED = 6,
// DEFFERED = 6, this enum value conflicts with DEFERRED
CANCELLED = 7,
STOPPED = 8,
};
pub const NTMS_LM_QUEUED = NtmsLmState.QUEUED;
pub const NTMS_LM_INPROCESS = NtmsLmState.INPROCESS;
pub const NTMS_LM_PASSED = NtmsLmState.PASSED;
pub const NTMS_LM_FAILED = NtmsLmState.FAILED;
pub const NTMS_LM_INVALID = NtmsLmState.INVALID;
pub const NTMS_LM_WAITING = NtmsLmState.WAITING;
pub const NTMS_LM_DEFERRED = NtmsLmState.DEFERRED;
pub const NTMS_LM_DEFFERED = NtmsLmState.DEFERRED;
pub const NTMS_LM_CANCELLED = NtmsLmState.CANCELLED;
pub const NTMS_LM_STOPPED = NtmsLmState.STOPPED;
pub const NTMS_LIBREQUESTINFORMATIONA = extern struct {
OperationCode: NtmsLmOperation,
OperationOption: u32,
State: NtmsLmState,
PartitionId: Guid,
DriveId: Guid,
PhysMediaId: Guid,
Library: Guid,
SlotId: Guid,
TimeQueued: SYSTEMTIME,
TimeCompleted: SYSTEMTIME,
szApplication: [64]CHAR,
szUser: [64]CHAR,
szComputer: [64]CHAR,
dwErrorCode: u32,
WorkItemId: Guid,
dwPriority: u32,
};
pub const NTMS_LIBREQUESTINFORMATIONW = extern struct {
OperationCode: NtmsLmOperation,
OperationOption: u32,
State: NtmsLmState,
PartitionId: Guid,
DriveId: Guid,
PhysMediaId: Guid,
Library: Guid,
SlotId: Guid,
TimeQueued: SYSTEMTIME,
TimeCompleted: SYSTEMTIME,
szApplication: [64]u16,
szUser: [64]u16,
szComputer: [64]u16,
dwErrorCode: u32,
WorkItemId: Guid,
dwPriority: u32,
};
pub const NtmsOpreqCommand = enum(i32) {
UNKNOWN = 0,
NEWMEDIA = 1,
CLEANER = 2,
DEVICESERVICE = 3,
MOVEMEDIA = 4,
MESSAGE = 5,
};
pub const NTMS_OPREQ_UNKNOWN = NtmsOpreqCommand.UNKNOWN;
pub const NTMS_OPREQ_NEWMEDIA = NtmsOpreqCommand.NEWMEDIA;
pub const NTMS_OPREQ_CLEANER = NtmsOpreqCommand.CLEANER;
pub const NTMS_OPREQ_DEVICESERVICE = NtmsOpreqCommand.DEVICESERVICE;
pub const NTMS_OPREQ_MOVEMEDIA = NtmsOpreqCommand.MOVEMEDIA;
pub const NTMS_OPREQ_MESSAGE = NtmsOpreqCommand.MESSAGE;
pub const NtmsOpreqState = enum(i32) {
UNKNOWN = 0,
SUBMITTED = 1,
ACTIVE = 2,
INPROGRESS = 3,
REFUSED = 4,
COMPLETE = 5,
};
pub const NTMS_OPSTATE_UNKNOWN = NtmsOpreqState.UNKNOWN;
pub const NTMS_OPSTATE_SUBMITTED = NtmsOpreqState.SUBMITTED;
pub const NTMS_OPSTATE_ACTIVE = NtmsOpreqState.ACTIVE;
pub const NTMS_OPSTATE_INPROGRESS = NtmsOpreqState.INPROGRESS;
pub const NTMS_OPSTATE_REFUSED = NtmsOpreqState.REFUSED;
pub const NTMS_OPSTATE_COMPLETE = NtmsOpreqState.COMPLETE;
pub const NTMS_OPREQUESTINFORMATIONA = extern struct {
Request: NtmsOpreqCommand,
Submitted: SYSTEMTIME,
State: NtmsOpreqState,
szMessage: [256]CHAR,
Arg1Type: NtmsObjectsTypes,
Arg1: Guid,
Arg2Type: NtmsObjectsTypes,
Arg2: Guid,
szApplication: [64]CHAR,
szUser: [64]CHAR,
szComputer: [64]CHAR,
};
pub const NTMS_OPREQUESTINFORMATIONW = extern struct {
Request: NtmsOpreqCommand,
Submitted: SYSTEMTIME,
State: NtmsOpreqState,
szMessage: [256]u16,
Arg1Type: NtmsObjectsTypes,
Arg1: Guid,
Arg2Type: NtmsObjectsTypes,
Arg2: Guid,
szApplication: [64]u16,
szUser: [64]u16,
szComputer: [64]u16,
};
pub const NTMS_COMPUTERINFORMATION = extern struct {
dwLibRequestPurgeTime: u32,
dwOpRequestPurgeTime: u32,
dwLibRequestFlags: u32,
dwOpRequestFlags: u32,
dwMediaPoolPolicy: u32,
};
pub const NtmsLibRequestFlags = enum(i32) {
AUTOPURGE = 1,
FAILEDPURGE = 2,
};
pub const NTMS_LIBREQFLAGS_NOAUTOPURGE = NtmsLibRequestFlags.AUTOPURGE;
pub const NTMS_LIBREQFLAGS_NOFAILEDPURGE = NtmsLibRequestFlags.FAILEDPURGE;
pub const NtmsOpRequestFlags = enum(i32) {
AUTOPURGE = 1,
FAILEDPURGE = 2,
ALERTS = 16,
TRAYICON = 32,
};
pub const NTMS_OPREQFLAGS_NOAUTOPURGE = NtmsOpRequestFlags.AUTOPURGE;
pub const NTMS_OPREQFLAGS_NOFAILEDPURGE = NtmsOpRequestFlags.FAILEDPURGE;
pub const NTMS_OPREQFLAGS_NOALERTS = NtmsOpRequestFlags.ALERTS;
pub const NTMS_OPREQFLAGS_NOTRAYICON = NtmsOpRequestFlags.TRAYICON;
pub const NtmsMediaPoolPolicy = enum(i32) {
PURGEOFFLINESCRATCH = 1,
KEEPOFFLINEIMPORT = 2,
};
pub const NTMS_POOLPOLICY_PURGEOFFLINESCRATCH = NtmsMediaPoolPolicy.PURGEOFFLINESCRATCH;
pub const NTMS_POOLPOLICY_KEEPOFFLINEIMPORT = NtmsMediaPoolPolicy.KEEPOFFLINEIMPORT;
pub const NtmsOperationalState = enum(i32) {
READY = 0,
INITIALIZING = 10,
NEEDS_SERVICE = 20,
NOT_PRESENT = 21,
};
pub const NTMS_READY = NtmsOperationalState.READY;
pub const NTMS_INITIALIZING = NtmsOperationalState.INITIALIZING;
pub const NTMS_NEEDS_SERVICE = NtmsOperationalState.NEEDS_SERVICE;
pub const NTMS_NOT_PRESENT = NtmsOperationalState.NOT_PRESENT;
pub const NTMS_OBJECTINFORMATIONA = extern struct {
dwSize: u32,
dwType: NtmsObjectsTypes,
Created: SYSTEMTIME,
Modified: SYSTEMTIME,
ObjectGuid: Guid,
Enabled: BOOL,
dwOperationalState: NtmsOperationalState,
szName: [64]CHAR,
szDescription: [127]CHAR,
Info: extern union {
Drive: NTMS_DRIVEINFORMATIONA,
DriveType: NTMS_DRIVETYPEINFORMATIONA,
Library: NTMS_LIBRARYINFORMATION,
Changer: NTMS_CHANGERINFORMATIONA,
ChangerType: NTMS_CHANGERTYPEINFORMATIONA,
StorageSlot: NTMS_STORAGESLOTINFORMATION,
IEDoor: NTMS_IEDOORINFORMATION,
IEPort: NTMS_IEPORTINFORMATION,
PhysicalMedia: NTMS_PMIDINFORMATIONA,
LogicalMedia: NTMS_LMIDINFORMATION,
Partition: NTMS_PARTITIONINFORMATIONA,
MediaPool: NTMS_MEDIAPOOLINFORMATION,
MediaType: NTMS_MEDIATYPEINFORMATION,
LibRequest: NTMS_LIBREQUESTINFORMATIONA,
OpRequest: NTMS_OPREQUESTINFORMATIONA,
Computer: NTMS_COMPUTERINFORMATION,
},
};
pub const NTMS_OBJECTINFORMATIONW = extern struct {
dwSize: u32,
dwType: NtmsObjectsTypes,
Created: SYSTEMTIME,
Modified: SYSTEMTIME,
ObjectGuid: Guid,
Enabled: BOOL,
dwOperationalState: NtmsOperationalState,
szName: [64]u16,
szDescription: [127]u16,
Info: extern union {
Drive: NTMS_DRIVEINFORMATIONW,
DriveType: NTMS_DRIVETYPEINFORMATIONW,
Library: NTMS_LIBRARYINFORMATION,
Changer: NTMS_CHANGERINFORMATIONW,
ChangerType: NTMS_CHANGERTYPEINFORMATIONW,
StorageSlot: NTMS_STORAGESLOTINFORMATION,
IEDoor: NTMS_IEDOORINFORMATION,
IEPort: NTMS_IEPORTINFORMATION,
PhysicalMedia: NTMS_PMIDINFORMATIONW,
LogicalMedia: NTMS_LMIDINFORMATION,
Partition: NTMS_PARTITIONINFORMATIONW,
MediaPool: NTMS_MEDIAPOOLINFORMATION,
MediaType: NTMS_MEDIATYPEINFORMATION,
LibRequest: NTMS_LIBREQUESTINFORMATIONW,
OpRequest: NTMS_OPREQUESTINFORMATIONW,
Computer: NTMS_COMPUTERINFORMATION,
},
};
pub const NTMS_I1_LIBRARYINFORMATION = extern struct {
LibraryType: u32,
CleanerSlot: Guid,
CleanerSlotDefault: Guid,
LibrarySupportsDriveCleaning: BOOL,
BarCodeReaderInstalled: BOOL,
InventoryMethod: u32,
dwCleanerUsesRemaining: u32,
FirstDriveNumber: u32,
dwNumberOfDrives: u32,
FirstSlotNumber: u32,
dwNumberOfSlots: u32,
FirstDoorNumber: u32,
dwNumberOfDoors: u32,
FirstPortNumber: u32,
dwNumberOfPorts: u32,
FirstChangerNumber: u32,
dwNumberOfChangers: u32,
dwNumberOfMedia: u32,
dwNumberOfMediaTypes: u32,
dwNumberOfLibRequests: u32,
Reserved: Guid,
};
pub const NTMS_I1_LIBREQUESTINFORMATIONA = extern struct {
OperationCode: u32,
OperationOption: u32,
State: u32,
PartitionId: Guid,
DriveId: Guid,
PhysMediaId: Guid,
Library: Guid,
SlotId: Guid,
TimeQueued: SYSTEMTIME,
TimeCompleted: SYSTEMTIME,
szApplication: [64]CHAR,
szUser: [64]CHAR,
szComputer: [64]CHAR,
};
pub const NTMS_I1_LIBREQUESTINFORMATIONW = extern struct {
OperationCode: u32,
OperationOption: u32,
State: u32,
PartitionId: Guid,
DriveId: Guid,
PhysMediaId: Guid,
Library: Guid,
SlotId: Guid,
TimeQueued: SYSTEMTIME,
TimeCompleted: SYSTEMTIME,
szApplication: [64]u16,
szUser: [64]u16,
szComputer: [64]u16,
};
pub const NTMS_I1_PMIDINFORMATIONA = extern struct {
CurrentLibrary: Guid,
MediaPool: Guid,
Location: Guid,
LocationType: u32,
MediaType: Guid,
HomeSlot: Guid,
szBarCode: [64]CHAR,
BarCodeState: u32,
szSequenceNumber: [32]CHAR,
MediaState: u32,
dwNumberOfPartitions: u32,
};
pub const NTMS_I1_PMIDINFORMATIONW = extern struct {
CurrentLibrary: Guid,
MediaPool: Guid,
Location: Guid,
LocationType: u32,
MediaType: Guid,
HomeSlot: Guid,
szBarCode: [64]u16,
BarCodeState: u32,
szSequenceNumber: [32]u16,
MediaState: u32,
dwNumberOfPartitions: u32,
};
pub const NTMS_I1_PARTITIONINFORMATIONA = extern struct {
PhysicalMedia: Guid,
LogicalMedia: Guid,
State: u32,
Side: u16,
dwOmidLabelIdLength: u32,
OmidLabelId: [255]u8,
szOmidLabelType: [64]CHAR,
szOmidLabelInfo: [256]CHAR,
dwMountCount: u32,
dwAllocateCount: u32,
};
pub const NTMS_I1_PARTITIONINFORMATIONW = extern struct {
PhysicalMedia: Guid,
LogicalMedia: Guid,
State: u32,
Side: u16,
dwOmidLabelIdLength: u32,
OmidLabelId: [255]u8,
szOmidLabelType: [64]u16,
szOmidLabelInfo: [256]u16,
dwMountCount: u32,
dwAllocateCount: u32,
};
pub const NTMS_I1_OPREQUESTINFORMATIONA = extern struct {
Request: u32,
Submitted: SYSTEMTIME,
State: u32,
szMessage: [127]CHAR,
Arg1Type: u32,
Arg1: Guid,
Arg2Type: u32,
Arg2: Guid,
szApplication: [64]CHAR,
szUser: [64]CHAR,
szComputer: [64]CHAR,
};
pub const NTMS_I1_OPREQUESTINFORMATIONW = extern struct {
Request: u32,
Submitted: SYSTEMTIME,
State: u32,
szMessage: [127]u16,
Arg1Type: u32,
Arg1: Guid,
Arg2Type: u32,
Arg2: Guid,
szApplication: [64]u16,
szUser: [64]u16,
szComputer: [64]u16,
};
pub const NTMS_I1_OBJECTINFORMATIONA = extern struct {
dwSize: u32,
dwType: u32,
Created: SYSTEMTIME,
Modified: SYSTEMTIME,
ObjectGuid: Guid,
Enabled: BOOL,
dwOperationalState: u32,
szName: [64]CHAR,
szDescription: [127]CHAR,
Info: extern union {
Drive: NTMS_DRIVEINFORMATIONA,
DriveType: NTMS_DRIVETYPEINFORMATIONA,
Library: NTMS_I1_LIBRARYINFORMATION,
Changer: NTMS_CHANGERINFORMATIONA,
ChangerType: NTMS_CHANGERTYPEINFORMATIONA,
StorageSlot: NTMS_STORAGESLOTINFORMATION,
IEDoor: NTMS_IEDOORINFORMATION,
IEPort: NTMS_IEPORTINFORMATION,
PhysicalMedia: NTMS_I1_PMIDINFORMATIONA,
LogicalMedia: NTMS_LMIDINFORMATION,
Partition: NTMS_I1_PARTITIONINFORMATIONA,
MediaPool: NTMS_MEDIAPOOLINFORMATION,
MediaType: NTMS_MEDIATYPEINFORMATION,
LibRequest: NTMS_I1_LIBREQUESTINFORMATIONA,
OpRequest: NTMS_I1_OPREQUESTINFORMATIONA,
},
};
pub const NTMS_I1_OBJECTINFORMATIONW = extern struct {
dwSize: u32,
dwType: u32,
Created: SYSTEMTIME,
Modified: SYSTEMTIME,
ObjectGuid: Guid,
Enabled: BOOL,
dwOperationalState: u32,
szName: [64]u16,
szDescription: [127]u16,
Info: extern union {
Drive: NTMS_DRIVEINFORMATIONW,
DriveType: NTMS_DRIVETYPEINFORMATIONW,
Library: NTMS_I1_LIBRARYINFORMATION,
Changer: NTMS_CHANGERINFORMATIONW,
ChangerType: NTMS_CHANGERTYPEINFORMATIONW,
StorageSlot: NTMS_STORAGESLOTINFORMATION,
IEDoor: NTMS_IEDOORINFORMATION,
IEPort: NTMS_IEPORTINFORMATION,
PhysicalMedia: NTMS_I1_PMIDINFORMATIONW,
LogicalMedia: NTMS_LMIDINFORMATION,
Partition: NTMS_I1_PARTITIONINFORMATIONW,
MediaPool: NTMS_MEDIAPOOLINFORMATION,
MediaType: NTMS_MEDIATYPEINFORMATION,
LibRequest: NTMS_I1_LIBREQUESTINFORMATIONW,
OpRequest: NTMS_I1_OPREQUESTINFORMATIONW,
},
};
pub const NtmsCreateNtmsMediaOptions = enum(i32) {
E = 1,
};
pub const NTMS_ERROR_ON_DUPLICATE = NtmsCreateNtmsMediaOptions.E;
pub const NtmsEnumerateOption = enum(i32) {
DEFAULT = 0,
ROOTPOOL = 1,
};
pub const NTMS_ENUM_DEFAULT = NtmsEnumerateOption.DEFAULT;
pub const NTMS_ENUM_ROOTPOOL = NtmsEnumerateOption.ROOTPOOL;
pub const NtmsEjectOperation = enum(i32) {
START = 0,
STOP = 1,
QUEUE = 2,
FORCE = 3,
IMMEDIATE = 4,
ASK_USER = 5,
};
pub const NTMS_EJECT_START = NtmsEjectOperation.START;
pub const NTMS_EJECT_STOP = NtmsEjectOperation.STOP;
pub const NTMS_EJECT_QUEUE = NtmsEjectOperation.QUEUE;
pub const NTMS_EJECT_FORCE = NtmsEjectOperation.FORCE;
pub const NTMS_EJECT_IMMEDIATE = NtmsEjectOperation.IMMEDIATE;
pub const NTMS_EJECT_ASK_USER = NtmsEjectOperation.ASK_USER;
pub const NtmsInjectOperation = enum(i32) {
START = 0,
STOP = 1,
RETRACT = 2,
STARTMANY = 3,
};
pub const NTMS_INJECT_START = NtmsInjectOperation.START;
pub const NTMS_INJECT_STOP = NtmsInjectOperation.STOP;
pub const NTMS_INJECT_RETRACT = NtmsInjectOperation.RETRACT;
pub const NTMS_INJECT_STARTMANY = NtmsInjectOperation.STARTMANY;
pub const NTMS_FILESYSTEM_INFO = extern struct {
FileSystemType: [64]u16,
VolumeName: [256]u16,
SerialNumber: u32,
};
pub const NtmsDriveType = enum(i32) {
E = 0,
};
pub const NTMS_UNKNOWN_DRIVE = NtmsDriveType.E;
pub const NtmsAccessMask = enum(i32) {
USE_ACCESS = 1,
MODIFY_ACCESS = 2,
CONTROL_ACCESS = 4,
};
pub const NTMS_USE_ACCESS = NtmsAccessMask.USE_ACCESS;
pub const NTMS_MODIFY_ACCESS = NtmsAccessMask.MODIFY_ACCESS;
pub const NTMS_CONTROL_ACCESS = NtmsAccessMask.CONTROL_ACCESS;
pub const NtmsUITypes = enum(i32) {
INVALID = 0,
INFO = 1,
REQ = 2,
ERR = 3,
MAX = 4,
};
pub const NTMS_UITYPE_INVALID = NtmsUITypes.INVALID;
pub const NTMS_UITYPE_INFO = NtmsUITypes.INFO;
pub const NTMS_UITYPE_REQ = NtmsUITypes.REQ;
pub const NTMS_UITYPE_ERR = NtmsUITypes.ERR;
pub const NTMS_UITYPE_MAX = NtmsUITypes.MAX;
pub const NtmsUIOperations = enum(i32) {
DEST_ADD = 1,
DEST_DELETE = 2,
DEST_DELETEALL = 3,
OPERATION_MAX = 4,
};
pub const NTMS_UIDEST_ADD = NtmsUIOperations.DEST_ADD;
pub const NTMS_UIDEST_DELETE = NtmsUIOperations.DEST_DELETE;
pub const NTMS_UIDEST_DELETEALL = NtmsUIOperations.DEST_DELETEALL;
pub const NTMS_UIOPERATION_MAX = NtmsUIOperations.OPERATION_MAX;
pub const NtmsNotificationOperations = enum(i32) {
OBJ_UPDATE = 1,
OBJ_INSERT = 2,
OBJ_DELETE = 3,
EVENT_SIGNAL = 4,
EVENT_COMPLETE = 5,
};
pub const NTMS_OBJ_UPDATE = NtmsNotificationOperations.OBJ_UPDATE;
pub const NTMS_OBJ_INSERT = NtmsNotificationOperations.OBJ_INSERT;
pub const NTMS_OBJ_DELETE = NtmsNotificationOperations.OBJ_DELETE;
pub const NTMS_EVENT_SIGNAL = NtmsNotificationOperations.EVENT_SIGNAL;
pub const NTMS_EVENT_COMPLETE = NtmsNotificationOperations.EVENT_COMPLETE;
pub const NTMS_NOTIFICATIONINFORMATION = extern struct {
dwOperation: NtmsNotificationOperations,
ObjectId: Guid,
};
pub const MediaLabelInfo = extern struct {
LabelType: [64]u16,
LabelIDSize: u32,
LabelID: [256]u8,
LabelAppDescr: [256]u16,
};
pub const MAXMEDIALABEL = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pMaxSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
pMaxSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const CLAIMMEDIALABEL = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pBuffer: ?*const u8,
nBufferSize: u32,
pLabelInfo: ?*MediaLabelInfo,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
pBuffer: ?*const u8,
nBufferSize: u32,
pLabelInfo: ?*MediaLabelInfo,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const CLAIMMEDIALABELEX = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pBuffer: ?*const u8,
nBufferSize: u32,
pLabelInfo: ?*MediaLabelInfo,
LabelGuid: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
pBuffer: ?*const u8,
nBufferSize: u32,
pLabelInfo: ?*MediaLabelInfo,
LabelGuid: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const CLS_LSN = extern struct {
Internal: u64,
};
pub const CLS_CONTEXT_MODE = enum(i32) {
None = 0,
UndoNext = 1,
Previous = 2,
Forward = 3,
};
pub const ClsContextNone = CLS_CONTEXT_MODE.None;
pub const ClsContextUndoNext = CLS_CONTEXT_MODE.UndoNext;
pub const ClsContextPrevious = CLS_CONTEXT_MODE.Previous;
pub const ClsContextForward = CLS_CONTEXT_MODE.Forward;
pub const CLFS_CONTEXT_MODE = enum(i32) {
None = 0,
UndoNext = 1,
Previous = 2,
Forward = 3,
};
pub const ClfsContextNone = CLFS_CONTEXT_MODE.None;
pub const ClfsContextUndoNext = CLFS_CONTEXT_MODE.UndoNext;
pub const ClfsContextPrevious = CLFS_CONTEXT_MODE.Previous;
pub const ClfsContextForward = CLFS_CONTEXT_MODE.Forward;
pub const CLFS_NODE_ID = extern struct {
cType: u32,
cbNode: u32,
};
pub const CLS_WRITE_ENTRY = extern struct {
Buffer: ?*anyopaque,
ByteLength: u32,
};
pub const CLS_INFORMATION = extern struct {
TotalAvailable: i64,
CurrentAvailable: i64,
TotalReservation: i64,
BaseFileSize: u64,
ContainerSize: u64,
TotalContainers: u32,
FreeContainers: u32,
TotalClients: u32,
Attributes: u32,
FlushThreshold: u32,
SectorSize: u32,
MinArchiveTailLsn: CLS_LSN,
BaseLsn: CLS_LSN,
LastFlushedLsn: CLS_LSN,
LastLsn: CLS_LSN,
RestartLsn: CLS_LSN,
Identity: Guid,
};
pub const CLFS_LOG_NAME_INFORMATION = extern struct {
NameLengthInBytes: u16,
Name: [1]u16,
};
pub const CLFS_STREAM_ID_INFORMATION = extern struct {
StreamIdentifier: u8,
};
pub const CLFS_PHYSICAL_LSN_INFORMATION = extern struct {
StreamIdentifier: u8,
VirtualLsn: CLS_LSN,
PhysicalLsn: CLS_LSN,
};
pub const CLS_CONTAINER_INFORMATION = extern struct {
FileAttributes: u32,
CreationTime: u64,
LastAccessTime: u64,
LastWriteTime: u64,
ContainerSize: i64,
FileNameActualLength: u32,
FileNameLength: u32,
FileName: [256]u16,
State: u32,
PhysicalContainerId: u32,
LogicalContainerId: u32,
};
pub const CLS_LOG_INFORMATION_CLASS = enum(i32) {
BasicInformation = 0,
BasicInformationPhysical = 1,
PhysicalNameInformation = 2,
StreamIdentifierInformation = 3,
SystemMarkingInformation = 4,
PhysicalLsnInformation = 5,
};
pub const ClfsLogBasicInformation = CLS_LOG_INFORMATION_CLASS.BasicInformation;
pub const ClfsLogBasicInformationPhysical = CLS_LOG_INFORMATION_CLASS.BasicInformationPhysical;
pub const ClfsLogPhysicalNameInformation = CLS_LOG_INFORMATION_CLASS.PhysicalNameInformation;
pub const ClfsLogStreamIdentifierInformation = CLS_LOG_INFORMATION_CLASS.StreamIdentifierInformation;
pub const ClfsLogSystemMarkingInformation = CLS_LOG_INFORMATION_CLASS.SystemMarkingInformation;
pub const ClfsLogPhysicalLsnInformation = CLS_LOG_INFORMATION_CLASS.PhysicalLsnInformation;
pub const CLS_IOSTATS_CLASS = enum(i32) {
Default = 0,
Max = 65535,
};
pub const ClsIoStatsDefault = CLS_IOSTATS_CLASS.Default;
pub const ClsIoStatsMax = CLS_IOSTATS_CLASS.Max;
pub const CLFS_IOSTATS_CLASS = enum(i32) {
Default = 0,
Max = 65535,
};
pub const ClfsIoStatsDefault = CLFS_IOSTATS_CLASS.Default;
pub const ClfsIoStatsMax = CLFS_IOSTATS_CLASS.Max;
pub const CLS_IO_STATISTICS_HEADER = extern struct {
ubMajorVersion: u8,
ubMinorVersion: u8,
eStatsClass: CLFS_IOSTATS_CLASS,
cbLength: u16,
coffData: u32,
};
pub const CLS_IO_STATISTICS = extern struct {
hdrIoStats: CLS_IO_STATISTICS_HEADER,
cFlush: u64,
cbFlush: u64,
cMetaFlush: u64,
cbMetaFlush: u64,
};
pub const CLS_SCAN_CONTEXT = extern struct {
cidNode: CLFS_NODE_ID,
hLog: ?HANDLE,
cIndex: u32,
cContainers: u32,
cContainersReturned: u32,
eScanMode: u8,
pinfoContainer: ?*CLS_CONTAINER_INFORMATION,
};
pub const CLS_ARCHIVE_DESCRIPTOR = extern struct {
coffLow: u64,
coffHigh: u64,
infoContainer: CLS_CONTAINER_INFORMATION,
};
pub const CLFS_BLOCK_ALLOCATION = switch (@import("builtin").zig_backend) {
.stage1 => fn(
cbBufferLength: u32,
pvUserContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
else => *const fn(
cbBufferLength: u32,
pvUserContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque,
} ;
pub const CLFS_BLOCK_DEALLOCATION = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pvBuffer: ?*anyopaque,
pvUserContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
pvBuffer: ?*anyopaque,
pvUserContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const CLFS_LOG_ARCHIVE_MODE = enum(i32) {
Enabled = 1,
Disabled = 2,
};
pub const ClfsLogArchiveEnabled = CLFS_LOG_ARCHIVE_MODE.Enabled;
pub const ClfsLogArchiveDisabled = CLFS_LOG_ARCHIVE_MODE.Disabled;
pub const PCLFS_COMPLETION_ROUTINE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pvOverlapped: ?*anyopaque,
ulReserved: u32,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
pvOverlapped: ?*anyopaque,
ulReserved: u32,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const CLFS_MGMT_POLICY_TYPE = enum(i32) {
MaximumSize = 0,
MinimumSize = 1,
NewContainerSize = 2,
GrowthRate = 3,
LogTail = 4,
AutoShrink = 5,
AutoGrow = 6,
NewContainerPrefix = 7,
NewContainerSuffix = 8,
NewContainerExtension = 9,
Invalid = 10,
};
pub const ClfsMgmtPolicyMaximumSize = CLFS_MGMT_POLICY_TYPE.MaximumSize;
pub const ClfsMgmtPolicyMinimumSize = CLFS_MGMT_POLICY_TYPE.MinimumSize;
pub const ClfsMgmtPolicyNewContainerSize = CLFS_MGMT_POLICY_TYPE.NewContainerSize;
pub const ClfsMgmtPolicyGrowthRate = CLFS_MGMT_POLICY_TYPE.GrowthRate;
pub const ClfsMgmtPolicyLogTail = CLFS_MGMT_POLICY_TYPE.LogTail;
pub const ClfsMgmtPolicyAutoShrink = CLFS_MGMT_POLICY_TYPE.AutoShrink;
pub const ClfsMgmtPolicyAutoGrow = CLFS_MGMT_POLICY_TYPE.AutoGrow;
pub const ClfsMgmtPolicyNewContainerPrefix = CLFS_MGMT_POLICY_TYPE.NewContainerPrefix;
pub const ClfsMgmtPolicyNewContainerSuffix = CLFS_MGMT_POLICY_TYPE.NewContainerSuffix;
pub const ClfsMgmtPolicyNewContainerExtension = CLFS_MGMT_POLICY_TYPE.NewContainerExtension;
pub const ClfsMgmtPolicyInvalid = CLFS_MGMT_POLICY_TYPE.Invalid;
pub const CLFS_MGMT_POLICY = extern struct {
Version: u32,
LengthInBytes: u32,
PolicyFlags: u32,
PolicyType: CLFS_MGMT_POLICY_TYPE,
PolicyParameters: extern union {
MaximumSize: extern struct {
Containers: u32,
},
MinimumSize: extern struct {
Containers: u32,
},
NewContainerSize: extern struct {
SizeInBytes: u32,
},
GrowthRate: extern struct {
AbsoluteGrowthInContainers: u32,
RelativeGrowthPercentage: u32,
},
LogTail: extern struct {
MinimumAvailablePercentage: u32,
MinimumAvailableContainers: u32,
},
AutoShrink: extern struct {
Percentage: u32,
},
AutoGrow: extern struct {
Enabled: u32,
},
NewContainerPrefix: extern struct {
PrefixLengthInBytes: u16,
PrefixString: [1]u16,
},
NewContainerSuffix: extern struct {
NextContainerSuffix: u64,
},
NewContainerExtension: extern struct {
ExtensionLengthInBytes: u16,
ExtensionString: [1]u16,
},
},
};
pub const CLFS_MGMT_NOTIFICATION_TYPE = enum(i32) {
AdvanceTailNotification = 0,
LogFullHandlerNotification = 1,
LogUnpinnedNotification = 2,
LogWriteNotification = 3,
};
pub const ClfsMgmtAdvanceTailNotification = CLFS_MGMT_NOTIFICATION_TYPE.AdvanceTailNotification;
pub const ClfsMgmtLogFullHandlerNotification = CLFS_MGMT_NOTIFICATION_TYPE.LogFullHandlerNotification;
pub const ClfsMgmtLogUnpinnedNotification = CLFS_MGMT_NOTIFICATION_TYPE.LogUnpinnedNotification;
pub const ClfsMgmtLogWriteNotification = CLFS_MGMT_NOTIFICATION_TYPE.LogWriteNotification;
pub const CLFS_MGMT_NOTIFICATION = extern struct {
Notification: CLFS_MGMT_NOTIFICATION_TYPE,
Lsn: CLS_LSN,
LogIsPinned: u16,
};
pub const PLOG_TAIL_ADVANCE_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hLogFile: ?HANDLE,
lsnTarget: CLS_LSN,
pvClientContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
hLogFile: ?HANDLE,
lsnTarget: CLS_LSN,
pvClientContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const PLOG_FULL_HANDLER_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hLogFile: ?HANDLE,
dwError: u32,
fLogIsPinned: BOOL,
pvClientContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
hLogFile: ?HANDLE,
dwError: u32,
fLogIsPinned: BOOL,
pvClientContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const PLOG_UNPINNED_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hLogFile: ?HANDLE,
pvClientContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
hLogFile: ?HANDLE,
pvClientContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const LOG_MANAGEMENT_CALLBACKS = extern struct {
CallbackContext: ?*anyopaque,
AdvanceTailCallback: ?PLOG_TAIL_ADVANCE_CALLBACK,
LogFullHandlerCallback: ?PLOG_FULL_HANDLER_CALLBACK,
LogUnpinnedCallback: ?PLOG_UNPINNED_CALLBACK,
};
pub const DISKQUOTA_USER_INFORMATION = extern struct {
QuotaUsed: i64,
QuotaThreshold: i64,
QuotaLimit: i64,
};
// TODO: this type is limited to platform 'windows5.1.2600'
const IID_IDiskQuotaUser_Value = Guid.initString("7988b574-ec89-11cf-9c00-00aa00a14f56");
pub const IID_IDiskQuotaUser = &IID_IDiskQuotaUser_Value;
pub const IDiskQuotaUser = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
GetID: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pulID: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pulID: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pszAccountContainer: ?PWSTR,
cchAccountContainer: u32,
pszLogonName: ?PWSTR,
cchLogonName: u32,
pszDisplayName: ?PWSTR,
cchDisplayName: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pszAccountContainer: ?PWSTR,
cchAccountContainer: u32,
pszLogonName: ?PWSTR,
cchLogonName: u32,
pszDisplayName: ?PWSTR,
cchDisplayName: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetSidLength: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pdwLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pdwLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetSid: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pbSidBuffer: ?*u8,
cbSidBuffer: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pbSidBuffer: ?*u8,
cbSidBuffer: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaThreshold: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pllThreshold: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pllThreshold: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaThresholdText: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaLimit: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pllLimit: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pllLimit: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaLimitText: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaUsed: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pllUsed: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pllUsed: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaUsedText: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaInformation: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pbQuotaInfo: ?*anyopaque,
cbQuotaInfo: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pbQuotaInfo: ?*anyopaque,
cbQuotaInfo: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetQuotaThreshold: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
llThreshold: i64,
fWriteThrough: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
llThreshold: i64,
fWriteThrough: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetQuotaLimit: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
llLimit: i64,
fWriteThrough: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
llLimit: i64,
fWriteThrough: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Invalidate: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetAccountStatus: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUser,
pdwStatus: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUser,
pdwStatus: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetID(self: *const T, pulID: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetID(@as(*const IDiskQuotaUser, @ptrCast(self)), pulID);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetName(self: *const T, pszAccountContainer: ?PWSTR, cchAccountContainer: u32, pszLogonName: ?PWSTR, cchLogonName: u32, pszDisplayName: ?PWSTR, cchDisplayName: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetName(@as(*const IDiskQuotaUser, @ptrCast(self)), pszAccountContainer, cchAccountContainer, pszLogonName, cchLogonName, pszDisplayName, cchDisplayName);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetSidLength(self: *const T, pdwLength: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetSidLength(@as(*const IDiskQuotaUser, @ptrCast(self)), pdwLength);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetSid(self: *const T, pbSidBuffer: ?*u8, cbSidBuffer: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetSid(@as(*const IDiskQuotaUser, @ptrCast(self)), pbSidBuffer, cbSidBuffer);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetQuotaThreshold(self: *const T, pllThreshold: ?*i64) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetQuotaThreshold(@as(*const IDiskQuotaUser, @ptrCast(self)), pllThreshold);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetQuotaThresholdText(self: *const T, pszText: ?PWSTR, cchText: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetQuotaThresholdText(@as(*const IDiskQuotaUser, @ptrCast(self)), pszText, cchText);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetQuotaLimit(self: *const T, pllLimit: ?*i64) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetQuotaLimit(@as(*const IDiskQuotaUser, @ptrCast(self)), pllLimit);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetQuotaLimitText(self: *const T, pszText: ?PWSTR, cchText: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetQuotaLimitText(@as(*const IDiskQuotaUser, @ptrCast(self)), pszText, cchText);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetQuotaUsed(self: *const T, pllUsed: ?*i64) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetQuotaUsed(@as(*const IDiskQuotaUser, @ptrCast(self)), pllUsed);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetQuotaUsedText(self: *const T, pszText: ?PWSTR, cchText: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetQuotaUsedText(@as(*const IDiskQuotaUser, @ptrCast(self)), pszText, cchText);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetQuotaInformation(self: *const T, pbQuotaInfo: ?*anyopaque, cbQuotaInfo: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetQuotaInformation(@as(*const IDiskQuotaUser, @ptrCast(self)), pbQuotaInfo, cbQuotaInfo);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_SetQuotaThreshold(self: *const T, llThreshold: i64, fWriteThrough: BOOL) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).SetQuotaThreshold(@as(*const IDiskQuotaUser, @ptrCast(self)), llThreshold, fWriteThrough);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_SetQuotaLimit(self: *const T, llLimit: i64, fWriteThrough: BOOL) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).SetQuotaLimit(@as(*const IDiskQuotaUser, @ptrCast(self)), llLimit, fWriteThrough);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_Invalidate(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).Invalidate(@as(*const IDiskQuotaUser, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUser_GetAccountStatus(self: *const T, pdwStatus: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUser.VTable, @ptrCast(self.vtable)).GetAccountStatus(@as(*const IDiskQuotaUser, @ptrCast(self)), pdwStatus);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.1.2600'
const IID_IEnumDiskQuotaUsers_Value = Guid.initString("7988b577-ec89-11cf-9c00-00aa00a14f56");
pub const IID_IEnumDiskQuotaUsers = &IID_IEnumDiskQuotaUsers_Value;
pub const IEnumDiskQuotaUsers = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Next: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IEnumDiskQuotaUsers,
cUsers: u32,
rgUsers: ?*?*IDiskQuotaUser,
pcUsersFetched: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IEnumDiskQuotaUsers,
cUsers: u32,
rgUsers: ?*?*IDiskQuotaUser,
pcUsersFetched: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Skip: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IEnumDiskQuotaUsers,
cUsers: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IEnumDiskQuotaUsers,
cUsers: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Reset: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IEnumDiskQuotaUsers,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IEnumDiskQuotaUsers,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Clone: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IEnumDiskQuotaUsers,
ppEnum: ?*?*IEnumDiskQuotaUsers,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IEnumDiskQuotaUsers,
ppEnum: ?*?*IEnumDiskQuotaUsers,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumDiskQuotaUsers_Next(self: *const T, cUsers: u32, rgUsers: ?*?*IDiskQuotaUser, pcUsersFetched: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IEnumDiskQuotaUsers.VTable, @ptrCast(self.vtable)).Next(@as(*const IEnumDiskQuotaUsers, @ptrCast(self)), cUsers, rgUsers, pcUsersFetched);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumDiskQuotaUsers_Skip(self: *const T, cUsers: u32) callconv(.Inline) HRESULT {
return @as(*const IEnumDiskQuotaUsers.VTable, @ptrCast(self.vtable)).Skip(@as(*const IEnumDiskQuotaUsers, @ptrCast(self)), cUsers);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumDiskQuotaUsers_Reset(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IEnumDiskQuotaUsers.VTable, @ptrCast(self.vtable)).Reset(@as(*const IEnumDiskQuotaUsers, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IEnumDiskQuotaUsers_Clone(self: *const T, ppEnum: ?*?*IEnumDiskQuotaUsers) callconv(.Inline) HRESULT {
return @as(*const IEnumDiskQuotaUsers.VTable, @ptrCast(self.vtable)).Clone(@as(*const IEnumDiskQuotaUsers, @ptrCast(self)), ppEnum);
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.1.2600'
const IID_IDiskQuotaUserBatch_Value = Guid.initString("7988b576-ec89-11cf-9c00-00aa00a14f56");
pub const IID_IDiskQuotaUserBatch = &IID_IDiskQuotaUserBatch_Value;
pub const IDiskQuotaUserBatch = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
Add: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUserBatch,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUserBatch,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
Remove: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUserBatch,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUserBatch,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
RemoveAll: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUserBatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUserBatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
FlushToDisk: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaUserBatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaUserBatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUserBatch_Add(self: *const T, pUser: ?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUserBatch.VTable, @ptrCast(self.vtable)).Add(@as(*const IDiskQuotaUserBatch, @ptrCast(self)), pUser);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUserBatch_Remove(self: *const T, pUser: ?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUserBatch.VTable, @ptrCast(self.vtable)).Remove(@as(*const IDiskQuotaUserBatch, @ptrCast(self)), pUser);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUserBatch_RemoveAll(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUserBatch.VTable, @ptrCast(self.vtable)).RemoveAll(@as(*const IDiskQuotaUserBatch, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaUserBatch_FlushToDisk(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaUserBatch.VTable, @ptrCast(self.vtable)).FlushToDisk(@as(*const IDiskQuotaUserBatch, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.1.2600'
const IID_IDiskQuotaControl_Value = Guid.initString("7988b572-ec89-11cf-9c00-00aa00a14f56");
pub const IID_IDiskQuotaControl = &IID_IDiskQuotaControl_Value;
pub const IDiskQuotaControl = extern struct {
pub const VTable = extern struct {
base: IConnectionPointContainer.VTable,
Initialize: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pszPath: ?[*:0]const u16,
bReadWrite: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pszPath: ?[*:0]const u16,
bReadWrite: BOOL,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetQuotaState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
dwState: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
dwState: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaState: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pdwState: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pdwState: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetQuotaLogFlags: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetQuotaLogFlags: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pdwFlags: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pdwFlags: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetDefaultQuotaThreshold: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
llThreshold: i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
llThreshold: i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDefaultQuotaThreshold: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pllThreshold: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pllThreshold: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDefaultQuotaThresholdText: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
SetDefaultQuotaLimit: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
llLimit: i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
llLimit: i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDefaultQuotaLimit: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pllLimit: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pllLimit: ?*i64,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GetDefaultQuotaLimitText: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pszText: ?PWSTR,
cchText: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
AddUserSid: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pUserSid: ?PSID,
fNameResolution: DISKQUOTA_USERNAME_RESOLVE,
ppUser: ?*?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pUserSid: ?PSID,
fNameResolution: DISKQUOTA_USERNAME_RESOLVE,
ppUser: ?*?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
AddUserName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pszLogonName: ?[*:0]const u16,
fNameResolution: DISKQUOTA_USERNAME_RESOLVE,
ppUser: ?*?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pszLogonName: ?[*:0]const u16,
fNameResolution: DISKQUOTA_USERNAME_RESOLVE,
ppUser: ?*?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
DeleteUser: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
FindUserSid: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pUserSid: ?PSID,
fNameResolution: DISKQUOTA_USERNAME_RESOLVE,
ppUser: ?*?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pUserSid: ?PSID,
fNameResolution: DISKQUOTA_USERNAME_RESOLVE,
ppUser: ?*?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
FindUserName: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pszLogonName: ?[*:0]const u16,
ppUser: ?*?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pszLogonName: ?[*:0]const u16,
ppUser: ?*?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateEnumUsers: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
rgpUserSids: ?*?PSID,
cpSids: u32,
fNameResolution: DISKQUOTA_USERNAME_RESOLVE,
ppEnum: ?*?*IEnumDiskQuotaUsers,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
rgpUserSids: ?*?PSID,
cpSids: u32,
fNameResolution: DISKQUOTA_USERNAME_RESOLVE,
ppEnum: ?*?*IEnumDiskQuotaUsers,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
CreateUserBatch: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
ppBatch: ?*?*IDiskQuotaUserBatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
ppBatch: ?*?*IDiskQuotaUserBatch,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
InvalidateSidNameCache: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
GiveUserNameResolutionPriority: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
ShutdownNameResolution: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaControl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaControl,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IConnectionPointContainer.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_Initialize(self: *const T, pszPath: ?[*:0]const u16, bReadWrite: BOOL) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).Initialize(@as(*const IDiskQuotaControl, @ptrCast(self)), pszPath, bReadWrite);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_SetQuotaState(self: *const T, dwState: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).SetQuotaState(@as(*const IDiskQuotaControl, @ptrCast(self)), dwState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_GetQuotaState(self: *const T, pdwState: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).GetQuotaState(@as(*const IDiskQuotaControl, @ptrCast(self)), pdwState);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_SetQuotaLogFlags(self: *const T, dwFlags: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).SetQuotaLogFlags(@as(*const IDiskQuotaControl, @ptrCast(self)), dwFlags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_GetQuotaLogFlags(self: *const T, pdwFlags: ?*u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).GetQuotaLogFlags(@as(*const IDiskQuotaControl, @ptrCast(self)), pdwFlags);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_SetDefaultQuotaThreshold(self: *const T, llThreshold: i64) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).SetDefaultQuotaThreshold(@as(*const IDiskQuotaControl, @ptrCast(self)), llThreshold);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_GetDefaultQuotaThreshold(self: *const T, pllThreshold: ?*i64) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).GetDefaultQuotaThreshold(@as(*const IDiskQuotaControl, @ptrCast(self)), pllThreshold);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_GetDefaultQuotaThresholdText(self: *const T, pszText: ?PWSTR, cchText: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).GetDefaultQuotaThresholdText(@as(*const IDiskQuotaControl, @ptrCast(self)), pszText, cchText);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_SetDefaultQuotaLimit(self: *const T, llLimit: i64) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).SetDefaultQuotaLimit(@as(*const IDiskQuotaControl, @ptrCast(self)), llLimit);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_GetDefaultQuotaLimit(self: *const T, pllLimit: ?*i64) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).GetDefaultQuotaLimit(@as(*const IDiskQuotaControl, @ptrCast(self)), pllLimit);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_GetDefaultQuotaLimitText(self: *const T, pszText: ?PWSTR, cchText: u32) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).GetDefaultQuotaLimitText(@as(*const IDiskQuotaControl, @ptrCast(self)), pszText, cchText);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_AddUserSid(self: *const T, pUserSid: ?PSID, fNameResolution: DISKQUOTA_USERNAME_RESOLVE, ppUser: ?*?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).AddUserSid(@as(*const IDiskQuotaControl, @ptrCast(self)), pUserSid, fNameResolution, ppUser);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_AddUserName(self: *const T, pszLogonName: ?[*:0]const u16, fNameResolution: DISKQUOTA_USERNAME_RESOLVE, ppUser: ?*?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).AddUserName(@as(*const IDiskQuotaControl, @ptrCast(self)), pszLogonName, fNameResolution, ppUser);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_DeleteUser(self: *const T, pUser: ?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).DeleteUser(@as(*const IDiskQuotaControl, @ptrCast(self)), pUser);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_FindUserSid(self: *const T, pUserSid: ?PSID, fNameResolution: DISKQUOTA_USERNAME_RESOLVE, ppUser: ?*?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).FindUserSid(@as(*const IDiskQuotaControl, @ptrCast(self)), pUserSid, fNameResolution, ppUser);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_FindUserName(self: *const T, pszLogonName: ?[*:0]const u16, ppUser: ?*?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).FindUserName(@as(*const IDiskQuotaControl, @ptrCast(self)), pszLogonName, ppUser);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_CreateEnumUsers(self: *const T, rgpUserSids: ?*?PSID, cpSids: u32, fNameResolution: DISKQUOTA_USERNAME_RESOLVE, ppEnum: ?*?*IEnumDiskQuotaUsers) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).CreateEnumUsers(@as(*const IDiskQuotaControl, @ptrCast(self)), rgpUserSids, cpSids, fNameResolution, ppEnum);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_CreateUserBatch(self: *const T, ppBatch: ?*?*IDiskQuotaUserBatch) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).CreateUserBatch(@as(*const IDiskQuotaControl, @ptrCast(self)), ppBatch);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_InvalidateSidNameCache(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).InvalidateSidNameCache(@as(*const IDiskQuotaControl, @ptrCast(self)));
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_GiveUserNameResolutionPriority(self: *const T, pUser: ?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).GiveUserNameResolutionPriority(@as(*const IDiskQuotaControl, @ptrCast(self)), pUser);
}
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaControl_ShutdownNameResolution(self: *const T) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaControl.VTable, @ptrCast(self.vtable)).ShutdownNameResolution(@as(*const IDiskQuotaControl, @ptrCast(self)));
}
};}
pub usingnamespace MethodMixin(@This());
};
// TODO: this type is limited to platform 'windows5.1.2600'
const IID_IDiskQuotaEvents_Value = Guid.initString("7988b579-ec89-11cf-9c00-00aa00a14f56");
pub const IID_IDiskQuotaEvents = &IID_IDiskQuotaEvents_Value;
pub const IDiskQuotaEvents = extern struct {
pub const VTable = extern struct {
base: IUnknown.VTable,
OnUserNameChanged: switch (@import("builtin").zig_backend) {
.stage1 => fn(
self: *const IDiskQuotaEvents,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
else => *const fn(
self: *const IDiskQuotaEvents,
pUser: ?*IDiskQuotaUser,
) callconv(@import("std").os.windows.WINAPI) HRESULT,
},
};
vtable: *const VTable,
pub fn MethodMixin(comptime T: type) type { return struct {
pub usingnamespace IUnknown.MethodMixin(T);
// NOTE: method is namespaced with interface name to avoid conflicts for now
pub fn IDiskQuotaEvents_OnUserNameChanged(self: *const T, pUser: ?*IDiskQuotaUser) callconv(.Inline) HRESULT {
return @as(*const IDiskQuotaEvents.VTable, @ptrCast(self.vtable)).OnUserNameChanged(@as(*const IDiskQuotaEvents, @ptrCast(self)), pUser);
}
};}
pub usingnamespace MethodMixin(@This());
};
pub const EFS_CERTIFICATE_BLOB = extern struct {
dwCertEncodingType: u32,
cbData: u32,
pbData: ?*u8,
};
pub const EFS_HASH_BLOB = extern struct {
cbData: u32,
pbData: ?*u8,
};
pub const EFS_RPC_BLOB = extern struct {
cbData: u32,
pbData: ?*u8,
};
pub const EFS_PIN_BLOB = extern struct {
cbPadding: u32,
cbData: u32,
pbData: ?*u8,
};
pub const EFS_KEY_INFO = extern struct {
dwVersion: u32,
Entropy: u32,
Algorithm: u32,
KeyLength: u32,
};
pub const EFS_COMPATIBILITY_INFO = extern struct {
EfsVersion: u32,
};
pub const EFS_VERSION_INFO = extern struct {
EfsVersion: u32,
SubVersion: u32,
};
pub const EFS_DECRYPTION_STATUS_INFO = extern struct {
dwDecryptionError: u32,
dwHashOffset: u32,
cbHash: u32,
};
pub const EFS_ENCRYPTION_STATUS_INFO = extern struct {
bHasCurrentKey: BOOL,
dwEncryptionError: u32,
};
pub const ENCRYPTION_CERTIFICATE = extern struct {
cbTotalLength: u32,
pUserSid: ?*SID,
pCertBlob: ?*EFS_CERTIFICATE_BLOB,
};
pub const ENCRYPTION_CERTIFICATE_HASH = extern struct {
cbTotalLength: u32,
pUserSid: ?*SID,
pHash: ?*EFS_HASH_BLOB,
lpDisplayInformation: ?PWSTR,
};
pub const ENCRYPTION_CERTIFICATE_HASH_LIST = extern struct {
nCert_Hash: u32,
pUsers: ?*?*ENCRYPTION_CERTIFICATE_HASH,
};
pub const ENCRYPTION_CERTIFICATE_LIST = extern struct {
nUsers: u32,
pUsers: ?*?*ENCRYPTION_CERTIFICATE,
};
pub const ENCRYPTED_FILE_METADATA_SIGNATURE = extern struct {
dwEfsAccessType: u32,
pCertificatesAdded: ?*ENCRYPTION_CERTIFICATE_HASH_LIST,
pEncryptionCertificate: ?*ENCRYPTION_CERTIFICATE,
pEfsStreamSignature: ?*EFS_RPC_BLOB,
};
pub const ENCRYPTION_PROTECTOR = extern struct {
cbTotalLength: u32,
pUserSid: ?*SID,
lpProtectorDescriptor: ?PWSTR,
};
pub const ENCRYPTION_PROTECTOR_LIST = extern struct {
nProtectors: u32,
pProtectors: ?*?*ENCRYPTION_PROTECTOR,
};
pub const WofEnumEntryProc = switch (@import("builtin").zig_backend) {
.stage1 => fn(
EntryInfo: ?*const anyopaque,
UserData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
EntryInfo: ?*const anyopaque,
UserData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const WofEnumFilesProc = switch (@import("builtin").zig_backend) {
.stage1 => fn(
FilePath: ?[*:0]const u16,
ExternalFileInfo: ?*anyopaque,
UserData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
FilePath: ?[*:0]const u16,
ExternalFileInfo: ?*anyopaque,
UserData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const WIM_ENTRY_INFO = extern struct {
WimEntryInfoSize: u32,
WimType: u32,
DataSourceId: LARGE_INTEGER,
WimGuid: Guid,
WimPath: ?[*:0]const u16,
WimIndex: u32,
Flags: u32,
};
pub const WIM_EXTERNAL_FILE_INFO = extern struct {
DataSourceId: LARGE_INTEGER,
ResourceHash: [20]u8,
Flags: u32,
};
pub const WOF_FILE_COMPRESSION_INFO_V0 = extern struct {
Algorithm: u32,
};
pub const WOF_FILE_COMPRESSION_INFO_V1 = extern struct {
Algorithm: u32,
Flags: u32,
};
pub const TXF_ID = extern struct {
Anonymous: extern struct {
LowPart: i64 align(4),
HighPart: i64 align(4),
},
};
pub const TXF_LOG_RECORD_BASE = extern struct {
Version: u16,
RecordType: TXF_LOG_RECORD_TYPE,
RecordLength: u32,
};
pub const TXF_LOG_RECORD_WRITE = extern struct {
Version: u16 align(4),
RecordType: u16 align(4),
RecordLength: u32 align(4),
Flags: u32 align(4),
TxfFileId: TXF_ID align(4),
KtmGuid: Guid align(4),
ByteOffsetInFile: i64 align(4),
NumBytesWritten: u32 align(4),
ByteOffsetInStructure: u32 align(4),
FileNameLength: u32 align(4),
FileNameByteOffsetInStructure: u32 align(4),
};
pub const TXF_LOG_RECORD_TRUNCATE = extern struct {
Version: u16 align(4),
RecordType: u16 align(4),
RecordLength: u32 align(4),
Flags: u32 align(4),
TxfFileId: TXF_ID align(4),
KtmGuid: Guid align(4),
NewFileSize: i64 align(4),
FileNameLength: u32 align(4),
FileNameByteOffsetInStructure: u32 align(4),
};
pub const TXF_LOG_RECORD_AFFECTED_FILE = extern struct {
Version: u16,
RecordLength: u32,
Flags: u32,
TxfFileId: TXF_ID,
KtmGuid: Guid,
FileNameLength: u32,
FileNameByteOffsetInStructure: u32,
};
pub const VOLUME_FAILOVER_SET = extern struct {
NumberOfDisks: u32,
DiskNumbers: [1]u32,
};
pub const VOLUME_NUMBER = extern struct {
VolumeNumber: u32,
VolumeManagerName: [8]u16,
};
pub const VOLUME_LOGICAL_OFFSET = extern struct {
LogicalOffset: i64,
};
pub const VOLUME_PHYSICAL_OFFSET = extern struct {
DiskNumber: u32,
Offset: i64,
};
pub const VOLUME_PHYSICAL_OFFSETS = extern struct {
NumberOfPhysicalOffsets: u32,
PhysicalOffset: [1]VOLUME_PHYSICAL_OFFSET,
};
pub const VOLUME_READ_PLEX_INPUT = extern struct {
ByteOffset: LARGE_INTEGER,
Length: u32,
PlexNumber: u32,
};
pub const VOLUME_SET_GPT_ATTRIBUTES_INFORMATION = extern struct {
GptAttributes: u64,
RevertOnClose: BOOLEAN,
ApplyToAllConnectedVolumes: BOOLEAN,
Reserved1: u16,
Reserved2: u32,
};
pub const VOLUME_GET_BC_PROPERTIES_INPUT = extern struct {
Version: u32,
Reserved1: u32,
LowestByteOffset: u64,
HighestByteOffset: u64,
AccessType: u32,
AccessMode: u32,
};
pub const VOLUME_GET_BC_PROPERTIES_OUTPUT = extern struct {
MaximumRequestsPerPeriod: u32,
MinimumPeriod: u32,
MaximumRequestSize: u64,
EstimatedTimePerRequest: u32,
NumOutStandingRequests: u32,
RequestSize: u64,
};
pub const VOLUME_ALLOCATE_BC_STREAM_INPUT = extern struct {
Version: u32,
RequestsPerPeriod: u32,
Period: u32,
RetryFailures: BOOLEAN,
Discardable: BOOLEAN,
Reserved1: [2]BOOLEAN,
LowestByteOffset: u64,
HighestByteOffset: u64,
AccessType: u32,
AccessMode: u32,
};
pub const VOLUME_ALLOCATE_BC_STREAM_OUTPUT = extern struct {
RequestSize: u64,
NumOutStandingRequests: u32,
};
pub const FILE_EXTENT = extern struct {
VolumeOffset: u64,
ExtentLength: u64,
};
pub const VOLUME_CRITICAL_IO = extern struct {
AccessType: u32,
ExtentsCount: u32,
Extents: [1]FILE_EXTENT,
};
pub const VOLUME_ALLOCATION_HINT_INPUT = extern struct {
ClusterSize: u32,
NumberOfClusters: u32,
StartingClusterNumber: i64,
};
pub const VOLUME_ALLOCATION_HINT_OUTPUT = extern struct {
Bitmap: [1]u32,
};
pub const VOLUME_SHRINK_INFO = extern struct {
VolumeSize: u64,
};
pub const SHARE_INFO_0 = extern struct {
shi0_netname: ?PWSTR,
};
pub const SHARE_INFO_1 = extern struct {
shi1_netname: ?PWSTR,
shi1_type: SHARE_TYPE,
shi1_remark: ?PWSTR,
};
pub const SHARE_INFO_2 = extern struct {
shi2_netname: ?PWSTR,
shi2_type: SHARE_TYPE,
shi2_remark: ?PWSTR,
shi2_permissions: SHARE_INFO_PERMISSIONS,
shi2_max_uses: u32,
shi2_current_uses: u32,
shi2_path: ?PWSTR,
shi2_passwd: ?PWSTR,
};
pub const SHARE_INFO_501 = extern struct {
shi501_netname: ?PWSTR,
shi501_type: SHARE_TYPE,
shi501_remark: ?PWSTR,
shi501_flags: u32,
};
pub const SHARE_INFO_502 = extern struct {
shi502_netname: ?PWSTR,
shi502_type: SHARE_TYPE,
shi502_remark: ?PWSTR,
shi502_permissions: SHARE_INFO_PERMISSIONS,
shi502_max_uses: u32,
shi502_current_uses: u32,
shi502_path: ?PWSTR,
shi502_passwd: ?PWSTR,
shi502_reserved: u32,
shi502_security_descriptor: ?PSECURITY_DESCRIPTOR,
};
pub const SHARE_INFO_503 = extern struct {
shi503_netname: ?PWSTR,
shi503_type: SHARE_TYPE,
shi503_remark: ?PWSTR,
shi503_permissions: SHARE_INFO_PERMISSIONS,
shi503_max_uses: u32,
shi503_current_uses: u32,
shi503_path: ?PWSTR,
shi503_passwd: ?PWSTR,
shi503_servername: ?PWSTR,
shi503_reserved: u32,
shi503_security_descriptor: ?PSECURITY_DESCRIPTOR,
};
pub const SHARE_INFO_1004 = extern struct {
shi1004_remark: ?PWSTR,
};
pub const SHARE_INFO_1005 = extern struct {
shi1005_flags: u32,
};
pub const SHARE_INFO_1006 = extern struct {
shi1006_max_uses: u32,
};
pub const SHARE_INFO_1501 = extern struct {
shi1501_reserved: u32,
shi1501_security_descriptor: ?PSECURITY_DESCRIPTOR,
};
pub const SHARE_INFO_1503 = extern struct {
shi1503_sharefilter: Guid,
};
pub const SERVER_ALIAS_INFO_0 = extern struct {
srvai0_alias: ?PWSTR,
srvai0_target: ?PWSTR,
srvai0_default: BOOLEAN,
srvai0_reserved: u32,
};
pub const SESSION_INFO_0 = extern struct {
sesi0_cname: ?PWSTR,
};
pub const SESSION_INFO_1 = extern struct {
sesi1_cname: ?PWSTR,
sesi1_username: ?PWSTR,
sesi1_num_opens: u32,
sesi1_time: u32,
sesi1_idle_time: u32,
sesi1_user_flags: SESSION_INFO_USER_FLAGS,
};
pub const SESSION_INFO_2 = extern struct {
sesi2_cname: ?PWSTR,
sesi2_username: ?PWSTR,
sesi2_num_opens: u32,
sesi2_time: u32,
sesi2_idle_time: u32,
sesi2_user_flags: SESSION_INFO_USER_FLAGS,
sesi2_cltype_name: ?PWSTR,
};
pub const SESSION_INFO_10 = extern struct {
sesi10_cname: ?PWSTR,
sesi10_username: ?PWSTR,
sesi10_time: u32,
sesi10_idle_time: u32,
};
pub const SESSION_INFO_502 = extern struct {
sesi502_cname: ?PWSTR,
sesi502_username: ?PWSTR,
sesi502_num_opens: u32,
sesi502_time: u32,
sesi502_idle_time: u32,
sesi502_user_flags: SESSION_INFO_USER_FLAGS,
sesi502_cltype_name: ?PWSTR,
sesi502_transport: ?PWSTR,
};
pub const CONNECTION_INFO_0 = extern struct {
coni0_id: u32,
};
pub const CONNECTION_INFO_1 = extern struct {
coni1_id: u32,
coni1_type: SHARE_TYPE,
coni1_num_opens: u32,
coni1_num_users: u32,
coni1_time: u32,
coni1_username: ?PWSTR,
coni1_netname: ?PWSTR,
};
pub const FILE_INFO_2 = extern struct {
fi2_id: u32,
};
pub const FILE_INFO_3 = extern struct {
fi3_id: u32,
fi3_permissions: FILE_INFO_FLAGS_PERMISSIONS,
fi3_num_locks: u32,
fi3_pathname: ?PWSTR,
fi3_username: ?PWSTR,
};
pub const SERVER_CERTIFICATE_TYPE = enum(i32) {
C = 0,
};
pub const QUIC = SERVER_CERTIFICATE_TYPE.C;
pub const SERVER_CERTIFICATE_INFO_0 = extern struct {
srvci0_name: ?PWSTR,
srvci0_subject: ?PWSTR,
srvci0_issuer: ?PWSTR,
srvci0_thumbprint: ?PWSTR,
srvci0_friendlyname: ?PWSTR,
srvci0_notbefore: ?PWSTR,
srvci0_notafter: ?PWSTR,
srvci0_storelocation: ?PWSTR,
srvci0_storename: ?PWSTR,
srvci0_renewalchain: ?PWSTR,
srvci0_type: u32,
srvci0_flags: u32,
};
pub const STAT_WORKSTATION_0 = extern struct {
StatisticsStartTime: LARGE_INTEGER,
BytesReceived: LARGE_INTEGER,
SmbsReceived: LARGE_INTEGER,
PagingReadBytesRequested: LARGE_INTEGER,
NonPagingReadBytesRequested: LARGE_INTEGER,
CacheReadBytesRequested: LARGE_INTEGER,
NetworkReadBytesRequested: LARGE_INTEGER,
BytesTransmitted: LARGE_INTEGER,
SmbsTransmitted: LARGE_INTEGER,
PagingWriteBytesRequested: LARGE_INTEGER,
NonPagingWriteBytesRequested: LARGE_INTEGER,
CacheWriteBytesRequested: LARGE_INTEGER,
NetworkWriteBytesRequested: LARGE_INTEGER,
InitiallyFailedOperations: u32,
FailedCompletionOperations: u32,
ReadOperations: u32,
RandomReadOperations: u32,
ReadSmbs: u32,
LargeReadSmbs: u32,
SmallReadSmbs: u32,
WriteOperations: u32,
RandomWriteOperations: u32,
WriteSmbs: u32,
LargeWriteSmbs: u32,
SmallWriteSmbs: u32,
RawReadsDenied: u32,
RawWritesDenied: u32,
NetworkErrors: u32,
Sessions: u32,
FailedSessions: u32,
Reconnects: u32,
CoreConnects: u32,
Lanman20Connects: u32,
Lanman21Connects: u32,
LanmanNtConnects: u32,
ServerDisconnects: u32,
HungSessions: u32,
UseCount: u32,
FailedUseCount: u32,
CurrentCommands: u32,
};
pub const STAT_SERVER_0 = extern struct {
sts0_start: u32,
sts0_fopens: u32,
sts0_devopens: u32,
sts0_jobsqueued: u32,
sts0_sopens: u32,
sts0_stimedout: u32,
sts0_serrorout: u32,
sts0_pwerrors: u32,
sts0_permerrors: u32,
sts0_syserrors: u32,
sts0_bytessent_low: u32,
sts0_bytessent_high: u32,
sts0_bytesrcvd_low: u32,
sts0_bytesrcvd_high: u32,
sts0_avresponse: u32,
sts0_reqbufneed: u32,
sts0_bigbufneed: u32,
};
// TODO: this function pointer causes dependency loop problems, so it's stubbed out
pub const PFN_IO_COMPLETION = switch (@import("builtin").zig_backend) { .stage1 => fn() callconv(@import("std").os.windows.WINAPI) void, else => *const fn() callconv(@import("std").os.windows.WINAPI) void};
pub const FH_OVERLAPPED = extern struct {
Internal: usize,
InternalHigh: usize,
Offset: u32,
OffsetHigh: u32,
hEvent: ?HANDLE,
pfnCompletion: ?PFN_IO_COMPLETION,
Reserved1: usize,
Reserved2: usize,
Reserved3: usize,
Reserved4: usize,
};
pub const FIO_CONTEXT = extern struct {
m_dwTempHack: u32,
m_dwSignature: u32,
m_hFile: ?HANDLE,
m_dwLinesOffset: u32,
m_dwHeaderLength: u32,
};
pub const FCACHE_CREATE_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
lpstrName: ?PSTR,
lpvData: ?*anyopaque,
cbFileSize: ?*u32,
cbFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE,
else => *const fn(
lpstrName: ?PSTR,
lpvData: ?*anyopaque,
cbFileSize: ?*u32,
cbFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE,
} ;
pub const FCACHE_RICHCREATE_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
lpstrName: ?PSTR,
lpvData: ?*anyopaque,
cbFileSize: ?*u32,
cbFileSizeHigh: ?*u32,
pfDidWeScanIt: ?*BOOL,
pfIsStuffed: ?*BOOL,
pfStoredWithDots: ?*BOOL,
pfStoredWithTerminatingDot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE,
else => *const fn(
lpstrName: ?PSTR,
lpvData: ?*anyopaque,
cbFileSize: ?*u32,
cbFileSizeHigh: ?*u32,
pfDidWeScanIt: ?*BOOL,
pfIsStuffed: ?*BOOL,
pfStoredWithDots: ?*BOOL,
pfStoredWithTerminatingDot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE,
} ;
pub const CACHE_KEY_COMPARE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
cbKey1: u32,
lpbKey1: ?*u8,
cbKey2: u32,
lpbKey2: ?*u8,
) callconv(@import("std").os.windows.WINAPI) i32,
else => *const fn(
cbKey1: u32,
lpbKey1: ?*u8,
cbKey2: u32,
lpbKey2: ?*u8,
) callconv(@import("std").os.windows.WINAPI) i32,
} ;
pub const CACHE_KEY_HASH = switch (@import("builtin").zig_backend) {
.stage1 => fn(
lpbKey: ?*u8,
cbKey: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
lpbKey: ?*u8,
cbKey: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const CACHE_READ_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
cb: u32,
lpb: ?*u8,
lpvContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
cb: u32,
lpb: ?*u8,
lpvContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const CACHE_DESTROY_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
cb: u32,
lpb: ?*u8,
) callconv(@import("std").os.windows.WINAPI) void,
else => *const fn(
cb: u32,
lpb: ?*u8,
) callconv(@import("std").os.windows.WINAPI) void,
} ;
pub const CACHE_ACCESS_CHECK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
hClientToken: ?HANDLE,
dwDesiredAccess: u32,
GenericMapping: ?*GENERIC_MAPPING,
PrivilegeSet: ?*PRIVILEGE_SET,
PrivilegeSetLength: ?*u32,
GrantedAccess: ?*u32,
AccessStatus: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
hClientToken: ?HANDLE,
dwDesiredAccess: u32,
GenericMapping: ?*GENERIC_MAPPING,
PrivilegeSet: ?*PRIVILEGE_SET,
PrivilegeSetLength: ?*u32,
GrantedAccess: ?*u32,
AccessStatus: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const NAME_CACHE_CONTEXT = extern struct {
m_dwSignature: u32,
};
pub const IORING_VERSION = enum(i32) {
INVALID = 0,
@"1" = 1,
};
pub const IORING_VERSION_INVALID = IORING_VERSION.INVALID;
pub const IORING_VERSION_1 = IORING_VERSION.@"1";
pub const IORING_FEATURE_FLAGS = enum(i32) {
FLAGS_NONE = 0,
UM_EMULATION = 1,
SET_COMPLETION_EVENT = 2,
};
pub const IORING_FEATURE_FLAGS_NONE = IORING_FEATURE_FLAGS.FLAGS_NONE;
pub const IORING_FEATURE_UM_EMULATION = IORING_FEATURE_FLAGS.UM_EMULATION;
pub const IORING_FEATURE_SET_COMPLETION_EVENT = IORING_FEATURE_FLAGS.SET_COMPLETION_EVENT;
pub const IORING_OP_CODE = enum(i32) {
NOP = 0,
READ = 1,
REGISTER_FILES = 2,
REGISTER_BUFFERS = 3,
CANCEL = 4,
};
pub const IORING_OP_NOP = IORING_OP_CODE.NOP;
pub const IORING_OP_READ = IORING_OP_CODE.READ;
pub const IORING_OP_REGISTER_FILES = IORING_OP_CODE.REGISTER_FILES;
pub const IORING_OP_REGISTER_BUFFERS = IORING_OP_CODE.REGISTER_BUFFERS;
pub const IORING_OP_CANCEL = IORING_OP_CODE.CANCEL;
pub const IORING_BUFFER_INFO = extern struct {
Address: ?*anyopaque,
Length: u32,
};
pub const IORING_REGISTERED_BUFFER = extern struct {
BufferIndex: u32,
Offset: u32,
};
pub const HIORING__ = extern struct {
unused: i32,
};
pub const IORING_SQE_FLAGS = enum(i32) {
E = 0,
};
pub const IOSQE_FLAGS_NONE = IORING_SQE_FLAGS.E;
pub const IORING_CREATE_REQUIRED_FLAGS = enum(i32) {
E = 0,
};
pub const IORING_CREATE_REQUIRED_FLAGS_NONE = IORING_CREATE_REQUIRED_FLAGS.E;
pub const IORING_CREATE_ADVISORY_FLAGS = enum(i32) {
E = 0,
};
pub const IORING_CREATE_ADVISORY_FLAGS_NONE = IORING_CREATE_ADVISORY_FLAGS.E;
pub const IORING_CREATE_FLAGS = extern struct {
Required: IORING_CREATE_REQUIRED_FLAGS,
Advisory: IORING_CREATE_ADVISORY_FLAGS,
};
pub const IORING_INFO = extern struct {
IoRingVersion: IORING_VERSION,
Flags: IORING_CREATE_FLAGS,
SubmissionQueueSize: u32,
CompletionQueueSize: u32,
};
pub const IORING_CAPABILITIES = extern struct {
MaxVersion: IORING_VERSION,
MaxSubmissionQueueSize: u32,
MaxCompletionQueueSize: u32,
FeatureFlags: IORING_FEATURE_FLAGS,
};
pub const IORING_REF_KIND = enum(i32) {
AW = 0,
EGISTERED = 1,
};
pub const IORING_REF_RAW = IORING_REF_KIND.AW;
pub const IORING_REF_REGISTERED = IORING_REF_KIND.EGISTERED;
pub const IORING_HANDLE_REF = extern struct {
pub const HandleUnion = extern union {
Handle: ?HANDLE,
Index: u32,
};
Kind: IORING_REF_KIND,
Handle: HandleUnion,
};
pub const IORING_BUFFER_REF = extern struct {
pub const BufferUnion = extern union {
Address: ?*anyopaque,
IndexAndOffset: IORING_REGISTERED_BUFFER,
};
Kind: IORING_REF_KIND,
Buffer: BufferUnion,
};
pub const IORING_CQE = extern struct {
UserData: usize,
ResultCode: HRESULT,
Information: usize,
};
pub const FILE_ID_128 = extern struct {
Identifier: [16]u8,
};
pub const FILE_NOTIFY_INFORMATION = extern struct {
NextEntryOffset: u32,
Action: FILE_ACTION,
FileNameLength: u32,
FileName: [1]u16,
};
pub const FILE_NOTIFY_EXTENDED_INFORMATION = extern struct {
NextEntryOffset: u32,
Action: FILE_ACTION,
CreationTime: LARGE_INTEGER,
LastModificationTime: LARGE_INTEGER,
LastChangeTime: LARGE_INTEGER,
LastAccessTime: LARGE_INTEGER,
AllocatedLength: LARGE_INTEGER,
FileSize: LARGE_INTEGER,
FileAttributes: u32,
ReparsePointTag: u32,
FileId: LARGE_INTEGER,
ParentFileId: LARGE_INTEGER,
FileNameLength: u32,
FileName: [1]u16,
};
pub const FILE_SEGMENT_ELEMENT = extern union {
Buffer: ?*anyopaque,
Alignment: u64,
};
pub const REPARSE_GUID_DATA_BUFFER = extern struct {
ReparseTag: u32,
ReparseDataLength: u16,
Reserved: u16,
ReparseGuid: Guid,
GenericReparseBuffer: extern struct {
DataBuffer: [1]u8,
},
};
pub const TAPE_ERASE = extern struct {
Type: ERASE_TAPE_TYPE,
Immediate: BOOLEAN,
};
pub const TAPE_PREPARE = extern struct {
Operation: PREPARE_TAPE_OPERATION,
Immediate: BOOLEAN,
};
pub const TAPE_WRITE_MARKS = extern struct {
Type: TAPEMARK_TYPE,
Count: u32,
Immediate: BOOLEAN,
};
pub const TAPE_GET_POSITION = extern struct {
Type: TAPE_POSITION_TYPE,
Partition: u32,
Offset: LARGE_INTEGER,
};
pub const TAPE_SET_POSITION = extern struct {
Method: TAPE_POSITION_METHOD,
Partition: u32,
Offset: LARGE_INTEGER,
Immediate: BOOLEAN,
};
pub const TRANSACTION_OUTCOME = enum(i32) {
Undetermined = 1,
Committed = 2,
Aborted = 3,
};
pub const TransactionOutcomeUndetermined = TRANSACTION_OUTCOME.Undetermined;
pub const TransactionOutcomeCommitted = TRANSACTION_OUTCOME.Committed;
pub const TransactionOutcomeAborted = TRANSACTION_OUTCOME.Aborted;
pub const STORAGE_BUS_TYPE = enum(i32) {
Unknown = 0,
Scsi = 1,
Atapi = 2,
Ata = 3,
@"1394" = 4,
Ssa = 5,
Fibre = 6,
Usb = 7,
RAID = 8,
iScsi = 9,
Sas = 10,
Sata = 11,
Sd = 12,
Mmc = 13,
Virtual = 14,
FileBackedVirtual = 15,
Spaces = 16,
Nvme = 17,
SCM = 18,
Ufs = 19,
Max = 20,
MaxReserved = 127,
};
pub const BusTypeUnknown = STORAGE_BUS_TYPE.Unknown;
pub const BusTypeScsi = STORAGE_BUS_TYPE.Scsi;
pub const BusTypeAtapi = STORAGE_BUS_TYPE.Atapi;
pub const BusTypeAta = STORAGE_BUS_TYPE.Ata;
pub const BusType1394 = STORAGE_BUS_TYPE.@"1394";
pub const BusTypeSsa = STORAGE_BUS_TYPE.Ssa;
pub const BusTypeFibre = STORAGE_BUS_TYPE.Fibre;
pub const BusTypeUsb = STORAGE_BUS_TYPE.Usb;
pub const BusTypeRAID = STORAGE_BUS_TYPE.RAID;
pub const BusTypeiScsi = STORAGE_BUS_TYPE.iScsi;
pub const BusTypeSas = STORAGE_BUS_TYPE.Sas;
pub const BusTypeSata = STORAGE_BUS_TYPE.Sata;
pub const BusTypeSd = STORAGE_BUS_TYPE.Sd;
pub const BusTypeMmc = STORAGE_BUS_TYPE.Mmc;
pub const BusTypeVirtual = STORAGE_BUS_TYPE.Virtual;
pub const BusTypeFileBackedVirtual = STORAGE_BUS_TYPE.FileBackedVirtual;
pub const BusTypeSpaces = STORAGE_BUS_TYPE.Spaces;
pub const BusTypeNvme = STORAGE_BUS_TYPE.Nvme;
pub const BusTypeSCM = STORAGE_BUS_TYPE.SCM;
pub const BusTypeUfs = STORAGE_BUS_TYPE.Ufs;
pub const BusTypeMax = STORAGE_BUS_TYPE.Max;
pub const BusTypeMaxReserved = STORAGE_BUS_TYPE.MaxReserved;
pub const OFSTRUCT = extern struct {
cBytes: u8,
fFixedDisk: u8,
nErrCode: u16,
Reserved1: u16,
Reserved2: u16,
szPathName: [128]CHAR,
};
pub const PFE_EXPORT_FUNC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
// TODO: what to do with BytesParamIndex 2?
pbData: ?*u8,
pvCallbackContext: ?*anyopaque,
ulLength: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
// TODO: what to do with BytesParamIndex 2?
pbData: ?*u8,
pvCallbackContext: ?*anyopaque,
ulLength: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const PFE_IMPORT_FUNC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
// TODO: what to do with BytesParamIndex 2?
pbData: ?*u8,
pvCallbackContext: ?*anyopaque,
ulLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
// TODO: what to do with BytesParamIndex 2?
pbData: ?*u8,
pvCallbackContext: ?*anyopaque,
ulLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const WIN32_STREAM_ID = extern struct {
dwStreamId: WIN_STREAM_ID,
dwStreamAttributes: u32,
Size: LARGE_INTEGER,
dwStreamNameSize: u32,
cStreamName: [1]u16,
};
pub const LPPROGRESS_ROUTINE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
TotalFileSize: LARGE_INTEGER,
TotalBytesTransferred: LARGE_INTEGER,
StreamSize: LARGE_INTEGER,
StreamBytesTransferred: LARGE_INTEGER,
dwStreamNumber: u32,
dwCallbackReason: LPPROGRESS_ROUTINE_CALLBACK_REASON,
hSourceFile: ?HANDLE,
hDestinationFile: ?HANDLE,
lpData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
TotalFileSize: LARGE_INTEGER,
TotalBytesTransferred: LARGE_INTEGER,
StreamSize: LARGE_INTEGER,
StreamBytesTransferred: LARGE_INTEGER,
dwStreamNumber: u32,
dwCallbackReason: LPPROGRESS_ROUTINE_CALLBACK_REASON,
hSourceFile: ?HANDLE,
hDestinationFile: ?HANDLE,
lpData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const COPYFILE2_MESSAGE_TYPE = enum(i32) {
NONE = 0,
CHUNK_STARTED = 1,
CHUNK_FINISHED = 2,
STREAM_STARTED = 3,
STREAM_FINISHED = 4,
POLL_CONTINUE = 5,
ERROR = 6,
MAX = 7,
};
pub const COPYFILE2_CALLBACK_NONE = COPYFILE2_MESSAGE_TYPE.NONE;
pub const COPYFILE2_CALLBACK_CHUNK_STARTED = COPYFILE2_MESSAGE_TYPE.CHUNK_STARTED;
pub const COPYFILE2_CALLBACK_CHUNK_FINISHED = COPYFILE2_MESSAGE_TYPE.CHUNK_FINISHED;
pub const COPYFILE2_CALLBACK_STREAM_STARTED = COPYFILE2_MESSAGE_TYPE.STREAM_STARTED;
pub const COPYFILE2_CALLBACK_STREAM_FINISHED = COPYFILE2_MESSAGE_TYPE.STREAM_FINISHED;
pub const COPYFILE2_CALLBACK_POLL_CONTINUE = COPYFILE2_MESSAGE_TYPE.POLL_CONTINUE;
pub const COPYFILE2_CALLBACK_ERROR = COPYFILE2_MESSAGE_TYPE.ERROR;
pub const COPYFILE2_CALLBACK_MAX = COPYFILE2_MESSAGE_TYPE.MAX;
pub const COPYFILE2_MESSAGE_ACTION = enum(i32) {
CONTINUE = 0,
CANCEL = 1,
STOP = 2,
QUIET = 3,
PAUSE = 4,
};
pub const COPYFILE2_PROGRESS_CONTINUE = COPYFILE2_MESSAGE_ACTION.CONTINUE;
pub const COPYFILE2_PROGRESS_CANCEL = COPYFILE2_MESSAGE_ACTION.CANCEL;
pub const COPYFILE2_PROGRESS_STOP = COPYFILE2_MESSAGE_ACTION.STOP;
pub const COPYFILE2_PROGRESS_QUIET = COPYFILE2_MESSAGE_ACTION.QUIET;
pub const COPYFILE2_PROGRESS_PAUSE = COPYFILE2_MESSAGE_ACTION.PAUSE;
pub const COPYFILE2_COPY_PHASE = enum(i32) {
NONE = 0,
PREPARE_SOURCE = 1,
PREPARE_DEST = 2,
READ_SOURCE = 3,
WRITE_DESTINATION = 4,
SERVER_COPY = 5,
NAMEGRAFT_COPY = 6,
MAX = 7,
};
pub const COPYFILE2_PHASE_NONE = COPYFILE2_COPY_PHASE.NONE;
pub const COPYFILE2_PHASE_PREPARE_SOURCE = COPYFILE2_COPY_PHASE.PREPARE_SOURCE;
pub const COPYFILE2_PHASE_PREPARE_DEST = COPYFILE2_COPY_PHASE.PREPARE_DEST;
pub const COPYFILE2_PHASE_READ_SOURCE = COPYFILE2_COPY_PHASE.READ_SOURCE;
pub const COPYFILE2_PHASE_WRITE_DESTINATION = COPYFILE2_COPY_PHASE.WRITE_DESTINATION;
pub const COPYFILE2_PHASE_SERVER_COPY = COPYFILE2_COPY_PHASE.SERVER_COPY;
pub const COPYFILE2_PHASE_NAMEGRAFT_COPY = COPYFILE2_COPY_PHASE.NAMEGRAFT_COPY;
pub const COPYFILE2_PHASE_MAX = COPYFILE2_COPY_PHASE.MAX;
pub const COPYFILE2_MESSAGE = extern struct {
Type: COPYFILE2_MESSAGE_TYPE,
dwPadding: u32,
Info: extern union {
ChunkStarted: extern struct {
dwStreamNumber: u32,
dwReserved: u32,
hSourceFile: ?HANDLE,
hDestinationFile: ?HANDLE,
uliChunkNumber: ULARGE_INTEGER,
uliChunkSize: ULARGE_INTEGER,
uliStreamSize: ULARGE_INTEGER,
uliTotalFileSize: ULARGE_INTEGER,
},
ChunkFinished: extern struct {
dwStreamNumber: u32,
dwFlags: u32,
hSourceFile: ?HANDLE,
hDestinationFile: ?HANDLE,
uliChunkNumber: ULARGE_INTEGER,
uliChunkSize: ULARGE_INTEGER,
uliStreamSize: ULARGE_INTEGER,
uliStreamBytesTransferred: ULARGE_INTEGER,
uliTotalFileSize: ULARGE_INTEGER,
uliTotalBytesTransferred: ULARGE_INTEGER,
},
StreamStarted: extern struct {
dwStreamNumber: u32,
dwReserved: u32,
hSourceFile: ?HANDLE,
hDestinationFile: ?HANDLE,
uliStreamSize: ULARGE_INTEGER,
uliTotalFileSize: ULARGE_INTEGER,
},
StreamFinished: extern struct {
dwStreamNumber: u32,
dwReserved: u32,
hSourceFile: ?HANDLE,
hDestinationFile: ?HANDLE,
uliStreamSize: ULARGE_INTEGER,
uliStreamBytesTransferred: ULARGE_INTEGER,
uliTotalFileSize: ULARGE_INTEGER,
uliTotalBytesTransferred: ULARGE_INTEGER,
},
PollContinue: extern struct {
dwReserved: u32,
},
Error: extern struct {
CopyPhase: COPYFILE2_COPY_PHASE,
dwStreamNumber: u32,
hrFailure: HRESULT,
dwReserved: u32,
uliChunkNumber: ULARGE_INTEGER,
uliStreamSize: ULARGE_INTEGER,
uliStreamBytesTransferred: ULARGE_INTEGER,
uliTotalFileSize: ULARGE_INTEGER,
uliTotalBytesTransferred: ULARGE_INTEGER,
},
},
};
pub const PCOPYFILE2_PROGRESS_ROUTINE = switch (@import("builtin").zig_backend) {
.stage1 => fn(
pMessage: ?*const COPYFILE2_MESSAGE,
pvCallbackContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) COPYFILE2_MESSAGE_ACTION,
else => *const fn(
pMessage: ?*const COPYFILE2_MESSAGE,
pvCallbackContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) COPYFILE2_MESSAGE_ACTION,
} ;
pub const COPYFILE2_EXTENDED_PARAMETERS = extern struct {
dwSize: u32,
dwCopyFlags: u32,
pfCancel: ?*BOOL,
pProgressRoutine: ?PCOPYFILE2_PROGRESS_ROUTINE,
pvCallbackContext: ?*anyopaque,
};
pub const COPYFILE2_EXTENDED_PARAMETERS_V2 = extern struct {
dwSize: u32,
dwCopyFlags: u32,
pfCancel: ?*BOOL,
pProgressRoutine: ?PCOPYFILE2_PROGRESS_ROUTINE,
pvCallbackContext: ?*anyopaque,
dwCopyFlagsV2: u32,
ioDesiredSize: u32,
ioDesiredRate: u32,
reserved: [8]?*anyopaque,
};
pub const FILE_BASIC_INFO = extern struct {
CreationTime: LARGE_INTEGER,
LastAccessTime: LARGE_INTEGER,
LastWriteTime: LARGE_INTEGER,
ChangeTime: LARGE_INTEGER,
FileAttributes: u32,
};
pub const FILE_STANDARD_INFO = extern struct {
AllocationSize: LARGE_INTEGER,
EndOfFile: LARGE_INTEGER,
NumberOfLinks: u32,
DeletePending: BOOLEAN,
Directory: BOOLEAN,
};
pub const FILE_NAME_INFO = extern struct {
FileNameLength: u32,
FileName: [1]u16,
};
pub const FILE_RENAME_INFO = extern struct {
Anonymous: extern union {
ReplaceIfExists: BOOLEAN,
Flags: u32,
},
RootDirectory: ?HANDLE,
FileNameLength: u32,
FileName: [1]u16,
};
pub const FILE_ALLOCATION_INFO = extern struct {
AllocationSize: LARGE_INTEGER,
};
pub const FILE_END_OF_FILE_INFO = extern struct {
EndOfFile: LARGE_INTEGER,
};
pub const FILE_STREAM_INFO = extern struct {
NextEntryOffset: u32,
StreamNameLength: u32,
StreamSize: LARGE_INTEGER,
StreamAllocationSize: LARGE_INTEGER,
StreamName: [1]u16,
};
pub const FILE_COMPRESSION_INFO = extern struct {
CompressedFileSize: LARGE_INTEGER,
CompressionFormat: u16,
CompressionUnitShift: u8,
ChunkShift: u8,
ClusterShift: u8,
Reserved: [3]u8,
};
pub const FILE_ATTRIBUTE_TAG_INFO = extern struct {
FileAttributes: u32,
ReparseTag: u32,
};
pub const FILE_DISPOSITION_INFO = extern struct {
DeleteFileA: BOOLEAN,
};
pub const FILE_ID_BOTH_DIR_INFO = extern struct {
NextEntryOffset: u32,
FileIndex: u32,
CreationTime: LARGE_INTEGER,
LastAccessTime: LARGE_INTEGER,
LastWriteTime: LARGE_INTEGER,
ChangeTime: LARGE_INTEGER,
EndOfFile: LARGE_INTEGER,
AllocationSize: LARGE_INTEGER,
FileAttributes: u32,
FileNameLength: u32,
EaSize: u32,
ShortNameLength: i8,
ShortName: [12]u16,
FileId: LARGE_INTEGER,
FileName: [1]u16,
};
pub const FILE_FULL_DIR_INFO = extern struct {
NextEntryOffset: u32,
FileIndex: u32,
CreationTime: LARGE_INTEGER,
LastAccessTime: LARGE_INTEGER,
LastWriteTime: LARGE_INTEGER,
ChangeTime: LARGE_INTEGER,
EndOfFile: LARGE_INTEGER,
AllocationSize: LARGE_INTEGER,
FileAttributes: u32,
FileNameLength: u32,
EaSize: u32,
FileName: [1]u16,
};
pub const PRIORITY_HINT = enum(i32) {
IoPriorityHintVeryLow = 0,
IoPriorityHintLow = 1,
IoPriorityHintNormal = 2,
MaximumIoPriorityHintType = 3,
};
pub const IoPriorityHintVeryLow = PRIORITY_HINT.IoPriorityHintVeryLow;
pub const IoPriorityHintLow = PRIORITY_HINT.IoPriorityHintLow;
pub const IoPriorityHintNormal = PRIORITY_HINT.IoPriorityHintNormal;
pub const MaximumIoPriorityHintType = PRIORITY_HINT.MaximumIoPriorityHintType;
pub const FILE_IO_PRIORITY_HINT_INFO = extern struct {
PriorityHint: PRIORITY_HINT,
};
pub const FILE_ALIGNMENT_INFO = extern struct {
AlignmentRequirement: u32,
};
pub const FILE_STORAGE_INFO = extern struct {
LogicalBytesPerSector: u32,
PhysicalBytesPerSectorForAtomicity: u32,
PhysicalBytesPerSectorForPerformance: u32,
FileSystemEffectivePhysicalBytesPerSectorForAtomicity: u32,
Flags: u32,
ByteOffsetForSectorAlignment: u32,
ByteOffsetForPartitionAlignment: u32,
};
pub const FILE_ID_INFO = extern struct {
VolumeSerialNumber: u64,
FileId: FILE_ID_128,
};
pub const FILE_ID_EXTD_DIR_INFO = extern struct {
NextEntryOffset: u32,
FileIndex: u32,
CreationTime: LARGE_INTEGER,
LastAccessTime: LARGE_INTEGER,
LastWriteTime: LARGE_INTEGER,
ChangeTime: LARGE_INTEGER,
EndOfFile: LARGE_INTEGER,
AllocationSize: LARGE_INTEGER,
FileAttributes: u32,
FileNameLength: u32,
EaSize: u32,
ReparsePointTag: u32,
FileId: FILE_ID_128,
FileName: [1]u16,
};
pub const FILE_REMOTE_PROTOCOL_INFO = extern struct {
StructureVersion: u16,
StructureSize: u16,
Protocol: u32,
ProtocolMajorVersion: u16,
ProtocolMinorVersion: u16,
ProtocolRevision: u16,
Reserved: u16,
Flags: u32,
GenericReserved: extern struct {
Reserved: [8]u32,
},
ProtocolSpecific: extern union {
Smb2: extern struct {
Server: extern struct {
Capabilities: u32,
},
Share: extern struct {
Capabilities: u32,
CachingFlags: u32,
},
},
Reserved: [16]u32,
},
};
pub const FILE_ID_TYPE = enum(i32) {
FileIdType = 0,
ObjectIdType = 1,
ExtendedFileIdType = 2,
MaximumFileIdType = 3,
};
pub const FileIdType = FILE_ID_TYPE.FileIdType;
pub const ObjectIdType = FILE_ID_TYPE.ObjectIdType;
pub const ExtendedFileIdType = FILE_ID_TYPE.ExtendedFileIdType;
pub const MaximumFileIdType = FILE_ID_TYPE.MaximumFileIdType;
pub const FILE_ID_DESCRIPTOR = extern struct {
dwSize: u32,
Type: FILE_ID_TYPE,
Anonymous: extern union {
FileId: LARGE_INTEGER,
ObjectId: Guid,
ExtendedFileId: FILE_ID_128,
},
};
//--------------------------------------------------------------------------------
// Section: Functions (411)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SearchPathW(
lpPath: ?[*:0]const u16,
lpFileName: ?[*:0]const u16,
lpExtension: ?[*:0]const u16,
nBufferLength: u32,
lpBuffer: ?[*:0]u16,
lpFilePart: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SearchPathA(
lpPath: ?[*:0]const u8,
lpFileName: ?[*:0]const u8,
lpExtension: ?[*:0]const u8,
nBufferLength: u32,
lpBuffer: ?[*:0]u8,
lpFilePart: ?*?PSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CompareFileTime(
lpFileTime1: ?*const FILETIME,
lpFileTime2: ?*const FILETIME,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateDirectoryA(
lpPathName: ?[*:0]const u8,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateDirectoryW(
lpPathName: ?[*:0]const u16,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateFileA(
lpFileName: ?[*:0]const u8,
dwDesiredAccess: FILE_ACCESS_FLAGS,
dwShareMode: FILE_SHARE_MODE,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
dwCreationDisposition: FILE_CREATION_DISPOSITION,
dwFlagsAndAttributes: FILE_FLAGS_AND_ATTRIBUTES,
hTemplateFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HANDLE;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateFileW(
lpFileName: ?[*:0]const u16,
dwDesiredAccess: FILE_ACCESS_FLAGS,
dwShareMode: FILE_SHARE_MODE,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
dwCreationDisposition: FILE_CREATION_DISPOSITION,
dwFlagsAndAttributes: FILE_FLAGS_AND_ATTRIBUTES,
hTemplateFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HANDLE;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn DefineDosDeviceW(
dwFlags: DEFINE_DOS_DEVICE_FLAGS,
lpDeviceName: ?[*:0]const u16,
lpTargetPath: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn DeleteFileA(
lpFileName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn DeleteFileW(
lpFileName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn DeleteVolumeMountPointW(
lpszVolumeMountPoint: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FileTimeToLocalFileTime(
lpFileTime: ?*const FILETIME,
lpLocalFileTime: ?*FILETIME,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindClose(
hFindFile: FindFileHandle,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindCloseChangeNotification(
hChangeHandle: FindChangeNotificationHandle,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstChangeNotificationA(
lpPathName: ?[*:0]const u8,
bWatchSubtree: BOOL,
dwNotifyFilter: FILE_NOTIFY_CHANGE,
) callconv(@import("std").os.windows.WINAPI) FindChangeNotificationHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstChangeNotificationW(
lpPathName: ?[*:0]const u16,
bWatchSubtree: BOOL,
dwNotifyFilter: FILE_NOTIFY_CHANGE,
) callconv(@import("std").os.windows.WINAPI) FindChangeNotificationHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstFileA(
lpFileName: ?[*:0]const u8,
lpFindFileData: ?*WIN32_FIND_DATAA,
) callconv(@import("std").os.windows.WINAPI) FindFileHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstFileW(
lpFileName: ?[*:0]const u16,
lpFindFileData: ?*WIN32_FIND_DATAW,
) callconv(@import("std").os.windows.WINAPI) FindFileHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstFileExA(
lpFileName: ?[*:0]const u8,
fInfoLevelId: FINDEX_INFO_LEVELS,
lpFindFileData: ?*anyopaque,
fSearchOp: FINDEX_SEARCH_OPS,
lpSearchFilter: ?*anyopaque,
dwAdditionalFlags: FIND_FIRST_EX_FLAGS,
) callconv(@import("std").os.windows.WINAPI) FindFileHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstFileExW(
lpFileName: ?[*:0]const u16,
fInfoLevelId: FINDEX_INFO_LEVELS,
lpFindFileData: ?*anyopaque,
fSearchOp: FINDEX_SEARCH_OPS,
lpSearchFilter: ?*anyopaque,
dwAdditionalFlags: FIND_FIRST_EX_FLAGS,
) callconv(@import("std").os.windows.WINAPI) FindFileHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstVolumeW(
lpszVolumeName: [*:0]u16,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) FindVolumeHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindNextChangeNotification(
hChangeHandle: FindChangeNotificationHandle,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindNextFileA(
hFindFile: FindFileHandle,
lpFindFileData: ?*WIN32_FIND_DATAA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindNextFileW(
hFindFile: ?HANDLE,
lpFindFileData: ?*WIN32_FIND_DATAW,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindNextVolumeW(
hFindVolume: FindVolumeHandle,
lpszVolumeName: [*:0]u16,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindVolumeClose(
hFindVolume: FindVolumeHandle,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FlushFileBuffers(
hFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetDiskFreeSpaceA(
lpRootPathName: ?[*:0]const u8,
lpSectorsPerCluster: ?*u32,
lpBytesPerSector: ?*u32,
lpNumberOfFreeClusters: ?*u32,
lpTotalNumberOfClusters: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetDiskFreeSpaceW(
lpRootPathName: ?[*:0]const u16,
lpSectorsPerCluster: ?*u32,
lpBytesPerSector: ?*u32,
lpNumberOfFreeClusters: ?*u32,
lpTotalNumberOfClusters: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetDiskFreeSpaceExA(
lpDirectoryName: ?[*:0]const u8,
lpFreeBytesAvailableToCaller: ?*ULARGE_INTEGER,
lpTotalNumberOfBytes: ?*ULARGE_INTEGER,
lpTotalNumberOfFreeBytes: ?*ULARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetDiskFreeSpaceExW(
lpDirectoryName: ?[*:0]const u16,
lpFreeBytesAvailableToCaller: ?*ULARGE_INTEGER,
lpTotalNumberOfBytes: ?*ULARGE_INTEGER,
lpTotalNumberOfFreeBytes: ?*ULARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "kernel32" fn GetDiskSpaceInformationA(
rootPath: ?[*:0]const u8,
diskSpaceInfo: ?*DISK_SPACE_INFORMATION,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "kernel32" fn GetDiskSpaceInformationW(
rootPath: ?[*:0]const u16,
diskSpaceInfo: ?*DISK_SPACE_INFORMATION,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetDriveTypeA(
lpRootPathName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetDriveTypeW(
lpRootPathName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileAttributesA(
lpFileName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileAttributesW(
lpFileName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileAttributesExA(
lpFileName: ?[*:0]const u8,
fInfoLevelId: GET_FILEEX_INFO_LEVELS,
lpFileInformation: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileAttributesExW(
lpFileName: ?[*:0]const u16,
fInfoLevelId: GET_FILEEX_INFO_LEVELS,
lpFileInformation: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileInformationByHandle(
hFile: ?HANDLE,
lpFileInformation: ?*BY_HANDLE_FILE_INFORMATION,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileSize(
hFile: ?HANDLE,
lpFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileSizeEx(
hFile: ?HANDLE,
lpFileSize: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileType(
hFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetFinalPathNameByHandleA(
hFile: ?HANDLE,
lpszFilePath: [*:0]u8,
cchFilePath: u32,
dwFlags: FILE_NAME,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetFinalPathNameByHandleW(
hFile: ?HANDLE,
lpszFilePath: [*:0]u16,
cchFilePath: u32,
dwFlags: FILE_NAME,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFileTime(
hFile: ?HANDLE,
lpCreationTime: ?*FILETIME,
lpLastAccessTime: ?*FILETIME,
lpLastWriteTime: ?*FILETIME,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFullPathNameW(
lpFileName: ?[*:0]const u16,
nBufferLength: u32,
lpBuffer: ?[*:0]u16,
lpFilePart: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetFullPathNameA(
lpFileName: ?[*:0]const u8,
nBufferLength: u32,
lpBuffer: ?[*:0]u8,
lpFilePart: ?*?PSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetLogicalDrives(
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetLogicalDriveStringsW(
nBufferLength: u32,
lpBuffer: ?[*:0]u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetLongPathNameA(
lpszShortPath: ?[*:0]const u8,
lpszLongPath: ?[*:0]u8,
cchBuffer: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetLongPathNameW(
lpszShortPath: ?[*:0]const u16,
lpszLongPath: ?[*:0]u16,
cchBuffer: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "kernel32" fn AreShortNamesEnabled(
Handle: ?HANDLE,
Enabled: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetShortPathNameW(
lpszLongPath: ?[*:0]const u16,
lpszShortPath: ?[*:0]u16,
cchBuffer: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetTempFileNameW(
lpPathName: ?[*:0]const u16,
lpPrefixString: ?[*:0]const u16,
uUnique: u32,
lpTempFileName: *[260]u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetVolumeInformationByHandleW(
hFile: ?HANDLE,
lpVolumeNameBuffer: ?[*:0]u16,
nVolumeNameSize: u32,
lpVolumeSerialNumber: ?*u32,
lpMaximumComponentLength: ?*u32,
lpFileSystemFlags: ?*u32,
lpFileSystemNameBuffer: ?[*:0]u16,
nFileSystemNameSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetVolumeInformationW(
lpRootPathName: ?[*:0]const u16,
lpVolumeNameBuffer: ?[*:0]u16,
nVolumeNameSize: u32,
lpVolumeSerialNumber: ?*u32,
lpMaximumComponentLength: ?*u32,
lpFileSystemFlags: ?*u32,
lpFileSystemNameBuffer: ?[*:0]u16,
nFileSystemNameSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetVolumePathNameW(
lpszFileName: ?[*:0]const u16,
lpszVolumePathName: [*:0]u16,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LocalFileTimeToFileTime(
lpLocalFileTime: ?*const FILETIME,
lpFileTime: ?*FILETIME,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LockFile(
hFile: ?HANDLE,
dwFileOffsetLow: u32,
dwFileOffsetHigh: u32,
nNumberOfBytesToLockLow: u32,
nNumberOfBytesToLockHigh: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LockFileEx(
hFile: ?HANDLE,
dwFlags: LOCK_FILE_FLAGS,
dwReserved: u32,
nNumberOfBytesToLockLow: u32,
nNumberOfBytesToLockHigh: u32,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn QueryDosDeviceW(
lpDeviceName: ?[*:0]const u16,
lpTargetPath: ?[*:0]u16,
ucchMax: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn ReadFile(
hFile: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*anyopaque,
nNumberOfBytesToRead: u32,
lpNumberOfBytesRead: ?*u32,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn ReadFileEx(
hFile: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*anyopaque,
nNumberOfBytesToRead: u32,
lpOverlapped: ?*OVERLAPPED,
lpCompletionRoutine: ?LPOVERLAPPED_COMPLETION_ROUTINE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn ReadFileScatter(
hFile: ?HANDLE,
aSegmentArray: ?*FILE_SEGMENT_ELEMENT,
nNumberOfBytesToRead: u32,
lpReserved: ?*u32,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn RemoveDirectoryA(
lpPathName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn RemoveDirectoryW(
lpPathName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetEndOfFile(
hFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFileAttributesA(
lpFileName: ?[*:0]const u8,
dwFileAttributes: FILE_FLAGS_AND_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFileAttributesW(
lpFileName: ?[*:0]const u16,
dwFileAttributes: FILE_FLAGS_AND_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn SetFileInformationByHandle(
hFile: ?HANDLE,
FileInformationClass: FILE_INFO_BY_HANDLE_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpFileInformation: ?*anyopaque,
dwBufferSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFilePointer(
hFile: ?HANDLE,
lDistanceToMove: i32,
lpDistanceToMoveHigh: ?*i32,
dwMoveMethod: SET_FILE_POINTER_MOVE_METHOD,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFilePointerEx(
hFile: ?HANDLE,
liDistanceToMove: LARGE_INTEGER,
lpNewFilePointer: ?*LARGE_INTEGER,
dwMoveMethod: SET_FILE_POINTER_MOVE_METHOD,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFileTime(
hFile: ?HANDLE,
lpCreationTime: ?*const FILETIME,
lpLastAccessTime: ?*const FILETIME,
lpLastWriteTime: ?*const FILETIME,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFileValidData(
hFile: ?HANDLE,
ValidDataLength: i64,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn UnlockFile(
hFile: ?HANDLE,
dwFileOffsetLow: u32,
dwFileOffsetHigh: u32,
nNumberOfBytesToUnlockLow: u32,
nNumberOfBytesToUnlockHigh: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn UnlockFileEx(
hFile: ?HANDLE,
dwReserved: u32,
nNumberOfBytesToUnlockLow: u32,
nNumberOfBytesToUnlockHigh: u32,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn WriteFile(
hFile: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*const anyopaque,
nNumberOfBytesToWrite: u32,
lpNumberOfBytesWritten: ?*u32,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn WriteFileEx(
hFile: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*const anyopaque,
nNumberOfBytesToWrite: u32,
lpOverlapped: ?*OVERLAPPED,
lpCompletionRoutine: ?LPOVERLAPPED_COMPLETION_ROUTINE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn WriteFileGather(
hFile: ?HANDLE,
aSegmentArray: ?*FILE_SEGMENT_ELEMENT,
nNumberOfBytesToWrite: u32,
lpReserved: ?*u32,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetTempPathW(
nBufferLength: u32,
lpBuffer: ?[*:0]u16,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetVolumeNameForVolumeMountPointW(
lpszVolumeMountPoint: ?[*:0]const u16,
lpszVolumeName: [*:0]u16,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetVolumePathNamesForVolumeNameW(
lpszVolumeName: ?[*:0]const u16,
lpszVolumePathNames: ?[*]u16,
cchBufferLength: u32,
lpcchReturnLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "kernel32" fn CreateFile2(
lpFileName: ?[*:0]const u16,
dwDesiredAccess: FILE_ACCESS_FLAGS,
dwShareMode: FILE_SHARE_MODE,
dwCreationDisposition: FILE_CREATION_DISPOSITION,
pCreateExParams: ?*CREATEFILE2_EXTENDED_PARAMETERS,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn SetFileIoOverlappedRange(
FileHandle: ?HANDLE,
OverlappedRangeStart: ?*u8,
Length: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetCompressedFileSizeA(
lpFileName: ?[*:0]const u8,
lpFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetCompressedFileSizeW(
lpFileName: ?[*:0]const u16,
lpFileSizeHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn FindFirstStreamW(
lpFileName: ?[*:0]const u16,
InfoLevel: STREAM_INFO_LEVELS,
lpFindStreamData: ?*anyopaque,
dwFlags: u32,
) callconv(@import("std").os.windows.WINAPI) FindStreamHandle;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn FindNextStreamW(
hFindStream: FindStreamHandle,
lpFindStreamData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn AreFileApisANSI(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetTempPathA(
nBufferLength: u32,
lpBuffer: ?[*:0]u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn FindFirstFileNameW(
lpFileName: ?[*:0]const u16,
dwFlags: u32,
StringLength: ?*u32,
LinkName: [*:0]u16,
) callconv(@import("std").os.windows.WINAPI) FindFileNameHandle;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn FindNextFileNameW(
hFindStream: FindFileNameHandle,
StringLength: ?*u32,
LinkName: [*:0]u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetVolumeInformationA(
lpRootPathName: ?[*:0]const u8,
lpVolumeNameBuffer: ?[*:0]u8,
nVolumeNameSize: u32,
lpVolumeSerialNumber: ?*u32,
lpMaximumComponentLength: ?*u32,
lpFileSystemFlags: ?*u32,
lpFileSystemNameBuffer: ?[*:0]u8,
nFileSystemNameSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetTempFileNameA(
lpPathName: ?[*:0]const u8,
lpPrefixString: ?[*:0]const u8,
uUnique: u32,
lpTempFileName: *[260]u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFileApisToOEM(
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFileApisToANSI(
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "kernel32" fn GetTempPath2W(
BufferLength: u32,
Buffer: ?[*:0]u16,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "kernel32" fn GetTempPath2A(
BufferLength: u32,
Buffer: ?[*:0]u8,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn CopyFileFromAppW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
bFailIfExists: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn CreateDirectoryFromAppW(
lpPathName: ?[*:0]const u16,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn CreateFileFromAppW(
lpFileName: ?[*:0]const u16,
dwDesiredAccess: u32,
dwShareMode: u32,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
dwCreationDisposition: u32,
dwFlagsAndAttributes: u32,
hTemplateFile: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn CreateFile2FromAppW(
lpFileName: ?[*:0]const u16,
dwDesiredAccess: u32,
dwShareMode: u32,
dwCreationDisposition: u32,
pCreateExParams: ?*CREATEFILE2_EXTENDED_PARAMETERS,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn DeleteFileFromAppW(
lpFileName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn FindFirstFileExFromAppW(
lpFileName: ?[*:0]const u16,
fInfoLevelId: FINDEX_INFO_LEVELS,
lpFindFileData: ?*anyopaque,
fSearchOp: FINDEX_SEARCH_OPS,
lpSearchFilter: ?*anyopaque,
dwAdditionalFlags: u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn GetFileAttributesExFromAppW(
lpFileName: ?[*:0]const u16,
fInfoLevelId: GET_FILEEX_INFO_LEVELS,
lpFileInformation: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn MoveFileFromAppW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn RemoveDirectoryFromAppW(
lpPathName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn ReplaceFileFromAppW(
lpReplacedFileName: ?[*:0]const u16,
lpReplacementFileName: ?[*:0]const u16,
lpBackupFileName: ?[*:0]const u16,
dwReplaceFlags: u32,
lpExclude: ?*anyopaque,
lpReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "api-ms-win-core-file-fromapp-l1-1-0" fn SetFileAttributesFromAppW(
lpFileName: ?[*:0]const u16,
dwFileAttributes: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn VerFindFileA(
uFlags: VER_FIND_FILE_FLAGS,
szFileName: ?[*:0]const u8,
szWinDir: ?[*:0]const u8,
szAppDir: ?[*:0]const u8,
szCurDir: [*:0]u8,
puCurDirLen: ?*u32,
szDestDir: [*:0]u8,
puDestDirLen: ?*u32,
) callconv(@import("std").os.windows.WINAPI) VER_FIND_FILE_STATUS;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn VerFindFileW(
uFlags: VER_FIND_FILE_FLAGS,
szFileName: ?[*:0]const u16,
szWinDir: ?[*:0]const u16,
szAppDir: ?[*:0]const u16,
szCurDir: [*:0]u16,
puCurDirLen: ?*u32,
szDestDir: [*:0]u16,
puDestDirLen: ?*u32,
) callconv(@import("std").os.windows.WINAPI) VER_FIND_FILE_STATUS;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn VerInstallFileA(
uFlags: VER_INSTALL_FILE_FLAGS,
szSrcFileName: ?[*:0]const u8,
szDestFileName: ?[*:0]const u8,
szSrcDir: ?[*:0]const u8,
szDestDir: ?[*:0]const u8,
szCurDir: ?[*:0]const u8,
szTmpFile: [*:0]u8,
puTmpFileLen: ?*u32,
) callconv(@import("std").os.windows.WINAPI) VER_INSTALL_FILE_STATUS;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn VerInstallFileW(
uFlags: VER_INSTALL_FILE_FLAGS,
szSrcFileName: ?[*:0]const u16,
szDestFileName: ?[*:0]const u16,
szSrcDir: ?[*:0]const u16,
szDestDir: ?[*:0]const u16,
szCurDir: ?[*:0]const u16,
szTmpFile: [*:0]u16,
puTmpFileLen: ?*u32,
) callconv(@import("std").os.windows.WINAPI) VER_INSTALL_FILE_STATUS;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn GetFileVersionInfoSizeA(
lptstrFilename: ?[*:0]const u8,
lpdwHandle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn GetFileVersionInfoSizeW(
lptstrFilename: ?[*:0]const u16,
lpdwHandle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn GetFileVersionInfoA(
lptstrFilename: ?[*:0]const u8,
dwHandle: u32,
dwLen: u32,
// TODO: what to do with BytesParamIndex 2?
lpData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn GetFileVersionInfoW(
lptstrFilename: ?[*:0]const u16,
dwHandle: u32,
dwLen: u32,
// TODO: what to do with BytesParamIndex 2?
lpData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "version" fn GetFileVersionInfoSizeExA(
dwFlags: GET_FILE_VERSION_INFO_FLAGS,
lpwstrFilename: ?[*:0]const u8,
lpdwHandle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "version" fn GetFileVersionInfoSizeExW(
dwFlags: GET_FILE_VERSION_INFO_FLAGS,
lpwstrFilename: ?[*:0]const u16,
lpdwHandle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "version" fn GetFileVersionInfoExA(
dwFlags: GET_FILE_VERSION_INFO_FLAGS,
lpwstrFilename: ?[*:0]const u8,
dwHandle: u32,
dwLen: u32,
// TODO: what to do with BytesParamIndex 3?
lpData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "version" fn GetFileVersionInfoExW(
dwFlags: GET_FILE_VERSION_INFO_FLAGS,
lpwstrFilename: ?[*:0]const u16,
dwHandle: u32,
dwLen: u32,
// TODO: what to do with BytesParamIndex 3?
lpData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "kernel32" fn VerLanguageNameA(
wLang: u32,
szLang: [*:0]u8,
cchLang: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "kernel32" fn VerLanguageNameW(
wLang: u32,
szLang: [*:0]u16,
cchLang: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn VerQueryValueA(
pBlock: ?*const anyopaque,
lpSubBlock: ?[*:0]const u8,
lplpBuffer: ?*?*anyopaque,
puLen: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "version" fn VerQueryValueW(
pBlock: ?*const anyopaque,
lpSubBlock: ?[*:0]const u16,
lplpBuffer: ?*?*anyopaque,
puLen: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "clfsw32" fn LsnEqual(
plsn1: ?*const CLS_LSN,
plsn2: ?*const CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
pub extern "clfsw32" fn LsnLess(
plsn1: ?*const CLS_LSN,
plsn2: ?*const CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
pub extern "clfsw32" fn LsnGreater(
plsn1: ?*const CLS_LSN,
plsn2: ?*const CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
pub extern "clfsw32" fn LsnNull(
plsn: ?*const CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn LsnContainer(
plsn: ?*const CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn LsnCreate(
cidContainer: u32,
offBlock: u32,
cRecord: u32,
) callconv(@import("std").os.windows.WINAPI) CLS_LSN;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn LsnBlockOffset(
plsn: ?*const CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn LsnRecordSequence(
plsn: ?*const CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "clfsw32" fn LsnInvalid(
plsn: ?*const CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
pub extern "clfsw32" fn LsnIncrement(
plsn: ?*CLS_LSN,
) callconv(@import("std").os.windows.WINAPI) CLS_LSN;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn CreateLogFile(
pszLogFileName: ?[*:0]const u16,
fDesiredAccess: FILE_ACCESS_FLAGS,
dwShareMode: FILE_SHARE_MODE,
psaLogFile: ?*SECURITY_ATTRIBUTES,
fCreateDisposition: FILE_CREATION_DISPOSITION,
fFlagsAndAttributes: FILE_FLAGS_AND_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn DeleteLogByHandle(
hLog: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn DeleteLogFile(
pszLogFileName: ?[*:0]const u16,
pvReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn AddLogContainer(
hLog: ?HANDLE,
pcbContainer: ?*u64,
pwszContainerPath: ?PWSTR,
pReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn AddLogContainerSet(
hLog: ?HANDLE,
cContainer: u16,
pcbContainer: ?*u64,
rgwszContainerPath: [*]?PWSTR,
pReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn RemoveLogContainer(
hLog: ?HANDLE,
pwszContainerPath: ?PWSTR,
fForce: BOOL,
pReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn RemoveLogContainerSet(
hLog: ?HANDLE,
cContainer: u16,
rgwszContainerPath: [*]?PWSTR,
fForce: BOOL,
pReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn SetLogArchiveTail(
hLog: ?HANDLE,
plsnArchiveTail: ?*CLS_LSN,
pReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn SetEndOfLog(
hLog: ?HANDLE,
plsnEnd: ?*CLS_LSN,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn TruncateLog(
pvMarshal: ?*anyopaque,
plsnEnd: ?*CLS_LSN,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn CreateLogContainerScanContext(
hLog: ?HANDLE,
cFromContainer: u32,
cContainers: u32,
eScanMode: u8,
pcxScan: ?*CLS_SCAN_CONTEXT,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ScanLogContainers(
pcxScan: ?*CLS_SCAN_CONTEXT,
eScanMode: u8,
pReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn AlignReservedLog(
pvMarshal: ?*anyopaque,
cReservedRecords: u32,
rgcbReservation: ?*i64,
pcbAlignReservation: ?*i64,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn AllocReservedLog(
pvMarshal: ?*anyopaque,
cReservedRecords: u32,
pcbAdjustment: ?*i64,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn FreeReservedLog(
pvMarshal: ?*anyopaque,
cReservedRecords: u32,
pcbAdjustment: ?*i64,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn GetLogFileInformation(
hLog: ?HANDLE,
pinfoBuffer: ?*CLS_INFORMATION,
cbBuffer: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn SetLogArchiveMode(
hLog: ?HANDLE,
eMode: CLFS_LOG_ARCHIVE_MODE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ReadLogRestartArea(
pvMarshal: ?*anyopaque,
ppvRestartBuffer: ?*?*anyopaque,
pcbRestartBuffer: ?*u32,
plsn: ?*CLS_LSN,
ppvContext: ?*?*anyopaque,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ReadPreviousLogRestartArea(
pvReadContext: ?*anyopaque,
ppvRestartBuffer: ?*?*anyopaque,
pcbRestartBuffer: ?*u32,
plsnRestart: ?*CLS_LSN,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn WriteLogRestartArea(
pvMarshal: ?*anyopaque,
pvRestartBuffer: ?*anyopaque,
cbRestartBuffer: u32,
plsnBase: ?*CLS_LSN,
fFlags: CLFS_FLAG,
pcbWritten: ?*u32,
plsnNext: ?*CLS_LSN,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "clfsw32" fn GetLogReservationInfo(
pvMarshal: ?*anyopaque,
pcbRecordNumber: ?*u32,
pcbUserReservation: ?*i64,
pcbCommitReservation: ?*i64,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn AdvanceLogBase(
pvMarshal: ?*anyopaque,
plsnBase: ?*CLS_LSN,
fFlags: u32,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn CloseAndResetLogFile(
hLog: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn CreateLogMarshallingArea(
hLog: ?HANDLE,
pfnAllocBuffer: ?CLFS_BLOCK_ALLOCATION,
pfnFreeBuffer: ?CLFS_BLOCK_DEALLOCATION,
pvBlockAllocContext: ?*anyopaque,
cbMarshallingBuffer: u32,
cMaxWriteBuffers: u32,
cMaxReadBuffers: u32,
ppvMarshal: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn DeleteLogMarshallingArea(
pvMarshal: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ReserveAndAppendLog(
pvMarshal: ?*anyopaque,
rgWriteEntries: ?*CLS_WRITE_ENTRY,
cWriteEntries: u32,
plsnUndoNext: ?*CLS_LSN,
plsnPrevious: ?*CLS_LSN,
cReserveRecords: u32,
rgcbReservation: ?*i64,
fFlags: CLFS_FLAG,
plsn: ?*CLS_LSN,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ReserveAndAppendLogAligned(
pvMarshal: ?*anyopaque,
rgWriteEntries: ?*CLS_WRITE_ENTRY,
cWriteEntries: u32,
cbEntryAlignment: u32,
plsnUndoNext: ?*CLS_LSN,
plsnPrevious: ?*CLS_LSN,
cReserveRecords: u32,
rgcbReservation: ?*i64,
fFlags: CLFS_FLAG,
plsn: ?*CLS_LSN,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn FlushLogBuffers(
pvMarshal: ?*anyopaque,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn FlushLogToLsn(
pvMarshalContext: ?*anyopaque,
plsnFlush: ?*CLS_LSN,
plsnLastFlushed: ?*CLS_LSN,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ReadLogRecord(
pvMarshal: ?*anyopaque,
plsnFirst: ?*CLS_LSN,
eContextMode: CLFS_CONTEXT_MODE,
ppvReadBuffer: ?*?*anyopaque,
pcbReadBuffer: ?*u32,
peRecordType: ?*u8,
plsnUndoNext: ?*CLS_LSN,
plsnPrevious: ?*CLS_LSN,
ppvReadContext: ?*?*anyopaque,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ReadNextLogRecord(
pvReadContext: ?*anyopaque,
ppvBuffer: ?*?*anyopaque,
pcbBuffer: ?*u32,
peRecordType: ?*u8,
plsnUser: ?*CLS_LSN,
plsnUndoNext: ?*CLS_LSN,
plsnPrevious: ?*CLS_LSN,
plsnRecord: ?*CLS_LSN,
pOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn TerminateReadLog(
pvCursorContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn PrepareLogArchive(
hLog: ?HANDLE,
pszBaseLogFileName: [*:0]u16,
cLen: u32,
plsnLow: ?*const CLS_LSN,
plsnHigh: ?*const CLS_LSN,
pcActualLength: ?*u32,
poffBaseLogFileData: ?*u64,
pcbBaseLogFileLength: ?*u64,
plsnBase: ?*CLS_LSN,
plsnLast: ?*CLS_LSN,
plsnCurrentArchiveTail: ?*CLS_LSN,
ppvArchiveContext: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ReadLogArchiveMetadata(
pvArchiveContext: ?*anyopaque,
cbOffset: u32,
cbBytesToRead: u32,
pbReadBuffer: ?*u8,
pcbBytesRead: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn GetNextLogArchiveExtent(
pvArchiveContext: ?*anyopaque,
rgadExtent: ?*CLS_ARCHIVE_DESCRIPTOR,
cDescriptors: u32,
pcDescriptorsReturned: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn TerminateLogArchive(
pvArchiveContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ValidateLog(
pszLogFileName: ?[*:0]const u16,
psaLogFile: ?*SECURITY_ATTRIBUTES,
pinfoBuffer: ?*CLS_INFORMATION,
pcbBuffer: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn GetLogContainerName(
hLog: ?HANDLE,
cidLogicalContainer: u32,
pwstrContainerName: ?[*:0]const u16,
cLenContainerName: u32,
pcActualLenContainerName: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn GetLogIoStatistics(
hLog: ?HANDLE,
pvStatsBuffer: ?*anyopaque,
cbStatsBuffer: u32,
eStatsClass: CLFS_IOSTATS_CLASS,
pcbStatsWritten: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn RegisterManageableLogClient(
hLog: ?HANDLE,
pCallbacks: ?*LOG_MANAGEMENT_CALLBACKS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn DeregisterManageableLogClient(
hLog: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn ReadLogNotification(
hLog: ?HANDLE,
pNotification: ?*CLFS_MGMT_NOTIFICATION,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn InstallLogPolicy(
hLog: ?HANDLE,
pPolicy: ?*CLFS_MGMT_POLICY,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn RemoveLogPolicy(
hLog: ?HANDLE,
ePolicyType: CLFS_MGMT_POLICY_TYPE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn QueryLogPolicy(
hLog: ?HANDLE,
ePolicyType: CLFS_MGMT_POLICY_TYPE,
pPolicyBuffer: ?*CLFS_MGMT_POLICY,
pcbPolicyBuffer: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn SetLogFileSizeWithPolicy(
hLog: ?HANDLE,
pDesiredSize: ?*u64,
pResultingSize: ?*u64,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn HandleLogFull(
hLog: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn LogTailAdvanceFailure(
hLog: ?HANDLE,
dwReason: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "clfsw32" fn RegisterForLogWriteNotification(
hLog: ?HANDLE,
cbThreshold: u32,
fEnable: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn QueryUsersOnEncryptedFile(
lpFileName: ?[*:0]const u16,
pUsers: ?*?*ENCRYPTION_CERTIFICATE_HASH_LIST,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn QueryRecoveryAgentsOnEncryptedFile(
lpFileName: ?[*:0]const u16,
pRecoveryAgents: ?*?*ENCRYPTION_CERTIFICATE_HASH_LIST,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn RemoveUsersFromEncryptedFile(
lpFileName: ?[*:0]const u16,
pHashes: ?*ENCRYPTION_CERTIFICATE_HASH_LIST,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn AddUsersToEncryptedFile(
lpFileName: ?[*:0]const u16,
pEncryptionCertificates: ?*ENCRYPTION_CERTIFICATE_LIST,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn SetUserFileEncryptionKey(
pEncryptionCertificate: ?*ENCRYPTION_CERTIFICATE,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "advapi32" fn SetUserFileEncryptionKeyEx(
pEncryptionCertificate: ?*ENCRYPTION_CERTIFICATE,
dwCapabilities: u32,
dwFlags: u32,
pvReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn FreeEncryptionCertificateHashList(
pUsers: ?*ENCRYPTION_CERTIFICATE_HASH_LIST,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn EncryptionDisable(
DirPath: ?[*:0]const u16,
Disable: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn DuplicateEncryptionInfoFile(
SrcFileName: ?[*:0]const u16,
DstFileName: ?[*:0]const u16,
dwCreationDistribution: u32,
dwAttributes: u32,
lpSecurityAttributes: ?*const SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "advapi32" fn GetEncryptedFileMetadata(
lpFileName: ?[*:0]const u16,
pcbMetadata: ?*u32,
ppbMetadata: ?*?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "advapi32" fn SetEncryptedFileMetadata(
lpFileName: ?[*:0]const u16,
pbOldMetadata: ?*u8,
pbNewMetadata: ?*u8,
pOwnerHash: ?*ENCRYPTION_CERTIFICATE_HASH,
dwOperation: u32,
pCertificatesAdded: ?*ENCRYPTION_CERTIFICATE_HASH_LIST,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "advapi32" fn FreeEncryptedFileMetadata(
pbMetadata: ?*u8,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "kernel32" fn LZStart(
) callconv(@import("std").os.windows.WINAPI) i32;
pub extern "kernel32" fn LZDone(
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "kernel32" fn CopyLZFile(
hfSource: i32,
hfDest: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LZCopy(
hfSource: i32,
hfDest: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LZInit(
hfSource: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetExpandedNameA(
lpszSource: ?PSTR,
lpszBuffer: *[260]u8,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetExpandedNameW(
lpszSource: ?PWSTR,
lpszBuffer: *[260]u16,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LZOpenFileA(
lpFileName: ?PSTR,
lpReOpenBuf: ?*OFSTRUCT,
wStyle: LZOPENFILE_STYLE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LZOpenFileW(
lpFileName: ?PWSTR,
lpReOpenBuf: ?*OFSTRUCT,
wStyle: LZOPENFILE_STYLE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LZSeek(
hFile: i32,
lOffset: i32,
iOrigin: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LZRead(
hFile: i32,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?PSTR,
cbRead: i32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn LZClose(
hFile: i32,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "wofutil" fn WofShouldCompressBinaries(
Volume: ?[*:0]const u16,
Algorithm: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "wofutil" fn WofGetDriverVersion(
FileOrVolumeHandle: ?HANDLE,
Provider: u32,
WofVersion: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofSetFileDataLocation(
FileHandle: ?HANDLE,
Provider: u32,
ExternalFileInfo: ?*anyopaque,
Length: u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofIsExternalFile(
FilePath: ?[*:0]const u16,
IsExternalFile: ?*BOOL,
Provider: ?*u32,
ExternalFileInfo: ?*anyopaque,
BufferLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofEnumEntries(
VolumeName: ?[*:0]const u16,
Provider: u32,
EnumProc: ?WofEnumEntryProc,
UserData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofWimAddEntry(
VolumeName: ?[*:0]const u16,
WimPath: ?[*:0]const u16,
WimType: u32,
WimIndex: u32,
DataSourceId: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofWimEnumFiles(
VolumeName: ?[*:0]const u16,
DataSourceId: LARGE_INTEGER,
EnumProc: ?WofEnumFilesProc,
UserData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofWimSuspendEntry(
VolumeName: ?[*:0]const u16,
DataSourceId: LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofWimRemoveEntry(
VolumeName: ?[*:0]const u16,
DataSourceId: LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofWimUpdateEntry(
VolumeName: ?[*:0]const u16,
DataSourceId: LARGE_INTEGER,
NewWimPath: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "wofutil" fn WofFileEnumFiles(
VolumeName: ?[*:0]const u16,
Algorithm: u32,
EnumProc: ?WofEnumFilesProc,
UserData: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "txfw32" fn TxfLogCreateFileReadContext(
LogPath: ?[*:0]const u16,
BeginningLsn: CLS_LSN,
EndingLsn: CLS_LSN,
TxfFileId: ?*TXF_ID,
TxfLogContext: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "txfw32" fn TxfLogCreateRangeReadContext(
LogPath: ?[*:0]const u16,
BeginningLsn: CLS_LSN,
EndingLsn: CLS_LSN,
BeginningVirtualClock: ?*LARGE_INTEGER,
EndingVirtualClock: ?*LARGE_INTEGER,
RecordTypeMask: u32,
TxfLogContext: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "txfw32" fn TxfLogDestroyReadContext(
TxfLogContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "txfw32" fn TxfLogReadRecords(
TxfLogContext: ?*anyopaque,
BufferLength: u32,
// TODO: what to do with BytesParamIndex 1?
Buffer: ?*anyopaque,
BytesUsed: ?*u32,
RecordCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "txfw32" fn TxfReadMetadataInfo(
FileHandle: ?HANDLE,
TxfFileId: ?*TXF_ID,
LastLsn: ?*CLS_LSN,
TransactionState: ?*u32,
LockingTransaction: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "txfw32" fn TxfLogRecordGetFileName(
// TODO: what to do with BytesParamIndex 1?
RecordBuffer: ?*anyopaque,
RecordBufferLengthInBytes: u32,
// TODO: what to do with BytesParamIndex 3?
NameBuffer: ?PWSTR,
NameBufferLengthInBytes: ?*u32,
TxfId: ?*TXF_ID,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "txfw32" fn TxfLogRecordGetGenericType(
RecordBuffer: ?*anyopaque,
RecordBufferLengthInBytes: u32,
GenericType: ?*u32,
VirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "txfw32" fn TxfSetThreadMiniVersionForCreate(
MiniVersion: u16,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "txfw32" fn TxfGetThreadMiniVersionForCreate(
MiniVersion: ?*u16,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn CreateTransaction(
lpTransactionAttributes: ?*SECURITY_ATTRIBUTES,
UOW: ?*Guid,
CreateOptions: u32,
IsolationLevel: u32,
IsolationFlags: u32,
Timeout: u32,
Description: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn OpenTransaction(
dwDesiredAccess: u32,
TransactionId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn CommitTransaction(
TransactionHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn CommitTransactionAsync(
TransactionHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RollbackTransaction(
TransactionHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RollbackTransactionAsync(
TransactionHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn GetTransactionId(
TransactionHandle: ?HANDLE,
TransactionId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn GetTransactionInformation(
TransactionHandle: ?HANDLE,
Outcome: ?*u32,
IsolationLevel: ?*u32,
IsolationFlags: ?*u32,
Timeout: ?*u32,
BufferLength: u32,
Description: ?[*:0]u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn SetTransactionInformation(
TransactionHandle: ?HANDLE,
IsolationLevel: u32,
IsolationFlags: u32,
Timeout: u32,
Description: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn CreateTransactionManager(
lpTransactionAttributes: ?*SECURITY_ATTRIBUTES,
LogFileName: ?PWSTR,
CreateOptions: u32,
CommitStrength: u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn OpenTransactionManager(
LogFileName: ?PWSTR,
DesiredAccess: u32,
OpenOptions: u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn OpenTransactionManagerById(
TransactionManagerId: ?*Guid,
DesiredAccess: u32,
OpenOptions: u32,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RenameTransactionManager(
LogFileName: ?PWSTR,
ExistingTransactionManagerGuid: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RollforwardTransactionManager(
TransactionManagerHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RecoverTransactionManager(
TransactionManagerHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn GetCurrentClockTransactionManager(
TransactionManagerHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn GetTransactionManagerId(
TransactionManagerHandle: ?HANDLE,
TransactionManagerId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn CreateResourceManager(
lpResourceManagerAttributes: ?*SECURITY_ATTRIBUTES,
ResourceManagerId: ?*Guid,
CreateOptions: u32,
TmHandle: ?HANDLE,
Description: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn OpenResourceManager(
dwDesiredAccess: u32,
TmHandle: ?HANDLE,
ResourceManagerId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RecoverResourceManager(
ResourceManagerHandle: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn GetNotificationResourceManager(
ResourceManagerHandle: ?HANDLE,
TransactionNotification: ?*TRANSACTION_NOTIFICATION,
NotificationLength: u32,
dwMilliseconds: u32,
ReturnLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn GetNotificationResourceManagerAsync(
ResourceManagerHandle: ?HANDLE,
TransactionNotification: ?*TRANSACTION_NOTIFICATION,
TransactionNotificationLength: u32,
ReturnLength: ?*u32,
lpOverlapped: ?*OVERLAPPED,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn SetResourceManagerCompletionPort(
ResourceManagerHandle: ?HANDLE,
IoCompletionPortHandle: ?HANDLE,
CompletionKey: usize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn CreateEnlistment(
lpEnlistmentAttributes: ?*SECURITY_ATTRIBUTES,
ResourceManagerHandle: ?HANDLE,
TransactionHandle: ?HANDLE,
NotificationMask: u32,
CreateOptions: u32,
EnlistmentKey: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn OpenEnlistment(
dwDesiredAccess: u32,
ResourceManagerHandle: ?HANDLE,
EnlistmentId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RecoverEnlistment(
EnlistmentHandle: ?HANDLE,
EnlistmentKey: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn GetEnlistmentRecoveryInformation(
EnlistmentHandle: ?HANDLE,
BufferSize: u32,
Buffer: ?*anyopaque,
BufferUsed: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn GetEnlistmentId(
EnlistmentHandle: ?HANDLE,
EnlistmentId: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn SetEnlistmentRecoveryInformation(
EnlistmentHandle: ?HANDLE,
BufferSize: u32,
Buffer: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn PrepareEnlistment(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn PrePrepareEnlistment(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn CommitEnlistment(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RollbackEnlistment(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn PrePrepareComplete(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn PrepareComplete(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn ReadOnlyEnlistment(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn CommitComplete(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn RollbackComplete(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "ktmw32" fn SinglePhaseReject(
EnlistmentHandle: ?HANDLE,
TmVirtualClock: ?*LARGE_INTEGER,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetShareAdd(
servername: ?PWSTR,
level: u32,
buf: ?*u8,
parm_err: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetShareEnum(
servername: ?PWSTR,
level: u32,
bufptr: ?*?*u8,
prefmaxlen: u32,
entriesread: ?*u32,
totalentries: ?*u32,
resume_handle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "netapi32" fn NetShareEnumSticky(
servername: ?PWSTR,
level: u32,
bufptr: ?*?*u8,
prefmaxlen: u32,
entriesread: ?*u32,
totalentries: ?*u32,
resume_handle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetShareGetInfo(
servername: ?PWSTR,
netname: ?PWSTR,
level: u32,
bufptr: ?*?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetShareSetInfo(
servername: ?PWSTR,
netname: ?PWSTR,
level: u32,
buf: ?*u8,
parm_err: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetShareDel(
servername: ?PWSTR,
netname: ?PWSTR,
reserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "netapi32" fn NetShareDelSticky(
servername: ?PWSTR,
netname: ?PWSTR,
reserved: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetShareCheck(
servername: ?PWSTR,
device: ?PWSTR,
type: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetShareDelEx(
servername: ?PWSTR,
level: u32,
buf: ?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "netapi32" fn NetServerAliasAdd(
servername: ?PWSTR,
level: u32,
buf: ?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "netapi32" fn NetServerAliasDel(
servername: ?PWSTR,
level: u32,
buf: ?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "netapi32" fn NetServerAliasEnum(
servername: ?PWSTR,
level: u32,
bufptr: ?*?*u8,
prefmaxlen: u32,
entriesread: ?*u32,
totalentries: ?*u32,
resumehandle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetSessionEnum(
servername: ?PWSTR,
UncClientName: ?PWSTR,
username: ?PWSTR,
level: u32,
bufptr: ?*?*u8,
prefmaxlen: u32,
entriesread: ?*u32,
totalentries: ?*u32,
resume_handle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetSessionDel(
servername: ?PWSTR,
UncClientName: ?PWSTR,
username: ?PWSTR,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetSessionGetInfo(
servername: ?PWSTR,
UncClientName: ?PWSTR,
username: ?PWSTR,
level: u32,
bufptr: ?*?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetConnectionEnum(
servername: ?PWSTR,
qualifier: ?PWSTR,
level: u32,
bufptr: ?*?*u8,
prefmaxlen: u32,
entriesread: ?*u32,
totalentries: ?*u32,
resume_handle: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetFileClose(
servername: ?PWSTR,
fileid: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetFileEnum(
servername: ?PWSTR,
basepath: ?PWSTR,
username: ?PWSTR,
level: u32,
bufptr: ?*?*u8,
prefmaxlen: u32,
entriesread: ?*u32,
totalentries: ?*u32,
resume_handle: ?*usize,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetFileGetInfo(
servername: ?PWSTR,
fileid: u32,
level: u32,
bufptr: ?*?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "netapi32" fn NetStatisticsGet(
ServerName: ?*i8,
Service: ?*i8,
Level: u32,
Options: u32,
Buffer: ?*?*u8,
) callconv(@import("std").os.windows.WINAPI) u32;
pub extern "api-ms-win-core-ioring-l1-1-0" fn QueryIoRingCapabilities(
capabilities: ?*IORING_CAPABILITIES,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn IsIoRingOpSupported(
ioRing: ?*HIORING__,
op: IORING_OP_CODE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "api-ms-win-core-ioring-l1-1-0" fn CreateIoRing(
ioringVersion: IORING_VERSION,
flags: IORING_CREATE_FLAGS,
submissionQueueSize: u32,
completionQueueSize: u32,
h: ?*?*HIORING__,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn GetIoRingInfo(
ioRing: ?*HIORING__,
info: ?*IORING_INFO,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn SubmitIoRing(
ioRing: ?*HIORING__,
waitOperations: u32,
milliseconds: u32,
submittedEntries: ?*u32,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn CloseIoRing(
ioRing: ?*HIORING__,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn PopIoRingCompletion(
ioRing: ?*HIORING__,
cqe: ?*IORING_CQE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn SetIoRingCompletionEvent(
ioRing: ?*HIORING__,
hEvent: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn BuildIoRingCancelRequest(
ioRing: ?*HIORING__,
file: IORING_HANDLE_REF,
opToCancel: usize,
userData: usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn BuildIoRingReadFile(
ioRing: ?*HIORING__,
fileRef: IORING_HANDLE_REF,
dataRef: IORING_BUFFER_REF,
numberOfBytesToRead: u32,
fileOffset: u64,
userData: usize,
flags: IORING_SQE_FLAGS,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn BuildIoRingRegisterFileHandles(
ioRing: ?*HIORING__,
count: u32,
handles: [*]const ?HANDLE,
userData: usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
pub extern "api-ms-win-core-ioring-l1-1-0" fn BuildIoRingRegisterBuffers(
ioRing: ?*HIORING__,
count: u32,
buffers: [*]const IORING_BUFFER_INFO,
userData: usize,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn Wow64EnableWow64FsRedirection(
Wow64FsEnableRedirection: BOOLEAN,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn Wow64DisableWow64FsRedirection(
OldValue: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn Wow64RevertWow64FsRedirection(
OlValue: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetBinaryTypeA(
lpApplicationName: ?[*:0]const u8,
lpBinaryType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetBinaryTypeW(
lpApplicationName: ?[*:0]const u16,
lpBinaryType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetShortPathNameA(
lpszLongPath: ?[*:0]const u8,
lpszShortPath: ?[*:0]u8,
cchBuffer: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetLongPathNameTransactedA(
lpszShortPath: ?[*:0]const u8,
lpszLongPath: ?[*:0]u8,
cchBuffer: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetLongPathNameTransactedW(
lpszShortPath: ?[*:0]const u16,
lpszLongPath: ?[*:0]u16,
cchBuffer: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn SetFileCompletionNotificationModes(
FileHandle: ?HANDLE,
Flags: u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFileShortNameA(
hFile: ?HANDLE,
lpShortName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetFileShortNameW(
hFile: ?HANDLE,
lpShortName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetTapePosition(
hDevice: ?HANDLE,
dwPositionMethod: TAPE_POSITION_METHOD,
dwPartition: u32,
dwOffsetLow: u32,
dwOffsetHigh: u32,
bImmediate: BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetTapePosition(
hDevice: ?HANDLE,
dwPositionType: TAPE_POSITION_TYPE,
lpdwPartition: ?*u32,
lpdwOffsetLow: ?*u32,
lpdwOffsetHigh: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn PrepareTape(
hDevice: ?HANDLE,
dwOperation: PREPARE_TAPE_OPERATION,
bImmediate: BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn EraseTape(
hDevice: ?HANDLE,
dwEraseType: ERASE_TAPE_TYPE,
bImmediate: BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateTapePartition(
hDevice: ?HANDLE,
dwPartitionMethod: CREATE_TAPE_PARTITION_METHOD,
dwCount: u32,
dwSize: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn WriteTapemark(
hDevice: ?HANDLE,
dwTapemarkType: TAPEMARK_TYPE,
dwTapemarkCount: u32,
bImmediate: BOOL,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetTapeStatus(
hDevice: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetTapeParameters(
hDevice: ?HANDLE,
dwOperation: GET_TAPE_DRIVE_PARAMETERS_OPERATION,
lpdwSize: ?*u32,
// TODO: what to do with BytesParamIndex 2?
lpTapeInformation: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetTapeParameters(
hDevice: ?HANDLE,
dwOperation: TAPE_INFORMATION_TYPE,
lpTapeInformation: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn EncryptFileA(
lpFileName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn EncryptFileW(
lpFileName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn DecryptFileA(
lpFileName: ?[*:0]const u8,
dwReserved: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn DecryptFileW(
lpFileName: ?[*:0]const u16,
dwReserved: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn FileEncryptionStatusA(
lpFileName: ?[*:0]const u8,
lpStatus: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn FileEncryptionStatusW(
lpFileName: ?[*:0]const u16,
lpStatus: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn OpenEncryptedFileRawA(
lpFileName: ?[*:0]const u8,
ulFlags: u32,
pvContext: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn OpenEncryptedFileRawW(
lpFileName: ?[*:0]const u16,
ulFlags: u32,
pvContext: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn ReadEncryptedFileRaw(
pfExportCallback: ?PFE_EXPORT_FUNC,
pvCallbackContext: ?*anyopaque,
pvContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn WriteEncryptedFileRaw(
pfImportCallback: ?PFE_IMPORT_FUNC,
pvCallbackContext: ?*anyopaque,
pvContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "advapi32" fn CloseEncryptedFileRaw(
pvContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn OpenFile(
lpFileName: ?[*:0]const u8,
lpReOpenBuff: ?*OFSTRUCT,
uStyle: LZOPENFILE_STYLE,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn BackupRead(
hFile: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*u8,
nNumberOfBytesToRead: u32,
lpNumberOfBytesRead: ?*u32,
bAbort: BOOL,
bProcessSecurity: BOOL,
lpContext: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn BackupSeek(
hFile: ?HANDLE,
dwLowBytesToSeek: u32,
dwHighBytesToSeek: u32,
lpdwLowByteSeeked: ?*u32,
lpdwHighByteSeeked: ?*u32,
lpContext: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn BackupWrite(
hFile: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*u8,
nNumberOfBytesToWrite: u32,
lpNumberOfBytesWritten: ?*u32,
bAbort: BOOL,
bProcessSecurity: BOOL,
lpContext: ?*?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetLogicalDriveStringsA(
nBufferLength: u32,
lpBuffer: ?[*:0]u8,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.1'
pub extern "kernel32" fn SetSearchPathMode(
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateDirectoryExA(
lpTemplateDirectory: ?[*:0]const u8,
lpNewDirectory: ?[*:0]const u8,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateDirectoryExW(
lpTemplateDirectory: ?[*:0]const u16,
lpNewDirectory: ?[*:0]const u16,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateDirectoryTransactedA(
lpTemplateDirectory: ?[*:0]const u8,
lpNewDirectory: ?[*:0]const u8,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateDirectoryTransactedW(
lpTemplateDirectory: ?[*:0]const u16,
lpNewDirectory: ?[*:0]const u16,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn RemoveDirectoryTransactedA(
lpPathName: ?[*:0]const u8,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn RemoveDirectoryTransactedW(
lpPathName: ?[*:0]const u16,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetFullPathNameTransactedA(
lpFileName: ?[*:0]const u8,
nBufferLength: u32,
lpBuffer: ?[*:0]u8,
lpFilePart: ?*?PSTR,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetFullPathNameTransactedW(
lpFileName: ?[*:0]const u16,
nBufferLength: u32,
lpBuffer: ?[*:0]u16,
lpFilePart: ?*?PWSTR,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn DefineDosDeviceA(
dwFlags: DEFINE_DOS_DEVICE_FLAGS,
lpDeviceName: ?[*:0]const u8,
lpTargetPath: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn QueryDosDeviceA(
lpDeviceName: ?[*:0]const u8,
lpTargetPath: ?[*:0]u8,
ucchMax: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateFileTransactedA(
lpFileName: ?[*:0]const u8,
dwDesiredAccess: u32,
dwShareMode: FILE_SHARE_MODE,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
dwCreationDisposition: FILE_CREATION_DISPOSITION,
dwFlagsAndAttributes: FILE_FLAGS_AND_ATTRIBUTES,
hTemplateFile: ?HANDLE,
hTransaction: ?HANDLE,
pusMiniVersion: ?*TXFS_MINIVERSION,
lpExtendedParameter: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateFileTransactedW(
lpFileName: ?[*:0]const u16,
dwDesiredAccess: u32,
dwShareMode: FILE_SHARE_MODE,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
dwCreationDisposition: FILE_CREATION_DISPOSITION,
dwFlagsAndAttributes: FILE_FLAGS_AND_ATTRIBUTES,
hTemplateFile: ?HANDLE,
hTransaction: ?HANDLE,
pusMiniVersion: ?*TXFS_MINIVERSION,
lpExtendedParameter: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn ReOpenFile(
hOriginalFile: ?HANDLE,
dwDesiredAccess: FILE_ACCESS_FLAGS,
dwShareMode: FILE_SHARE_MODE,
dwFlagsAndAttributes: FILE_FLAGS_AND_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn SetFileAttributesTransactedA(
lpFileName: ?[*:0]const u8,
dwFileAttributes: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn SetFileAttributesTransactedW(
lpFileName: ?[*:0]const u16,
dwFileAttributes: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetFileAttributesTransactedA(
lpFileName: ?[*:0]const u8,
fInfoLevelId: GET_FILEEX_INFO_LEVELS,
lpFileInformation: ?*anyopaque,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetFileAttributesTransactedW(
lpFileName: ?[*:0]const u16,
fInfoLevelId: GET_FILEEX_INFO_LEVELS,
lpFileInformation: ?*anyopaque,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetCompressedFileSizeTransactedA(
lpFileName: ?[*:0]const u8,
lpFileSizeHigh: ?*u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetCompressedFileSizeTransactedW(
lpFileName: ?[*:0]const u16,
lpFileSizeHigh: ?*u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn DeleteFileTransactedA(
lpFileName: ?[*:0]const u8,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn DeleteFileTransactedW(
lpFileName: ?[*:0]const u16,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CheckNameLegalDOS8Dot3A(
lpName: ?[*:0]const u8,
lpOemName: ?[*:0]u8,
OemNameSize: u32,
pbNameContainsSpaces: ?*BOOL,
pbNameLegal: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CheckNameLegalDOS8Dot3W(
lpName: ?[*:0]const u16,
lpOemName: ?[*:0]u8,
OemNameSize: u32,
pbNameContainsSpaces: ?*BOOL,
pbNameLegal: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn FindFirstFileTransactedA(
lpFileName: ?[*:0]const u8,
fInfoLevelId: FINDEX_INFO_LEVELS,
lpFindFileData: ?*anyopaque,
fSearchOp: FINDEX_SEARCH_OPS,
lpSearchFilter: ?*anyopaque,
dwAdditionalFlags: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) FindFileHandle;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn FindFirstFileTransactedW(
lpFileName: ?[*:0]const u16,
fInfoLevelId: FINDEX_INFO_LEVELS,
lpFindFileData: ?*anyopaque,
fSearchOp: FINDEX_SEARCH_OPS,
lpSearchFilter: ?*anyopaque,
dwAdditionalFlags: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) FindFileHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CopyFileA(
lpExistingFileName: ?[*:0]const u8,
lpNewFileName: ?[*:0]const u8,
bFailIfExists: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CopyFileW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
bFailIfExists: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CopyFileExA(
lpExistingFileName: ?[*:0]const u8,
lpNewFileName: ?[*:0]const u8,
lpProgressRoutine: ?LPPROGRESS_ROUTINE,
lpData: ?*anyopaque,
pbCancel: ?*i32,
dwCopyFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CopyFileExW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
lpProgressRoutine: ?LPPROGRESS_ROUTINE,
lpData: ?*anyopaque,
pbCancel: ?*i32,
dwCopyFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CopyFileTransactedA(
lpExistingFileName: ?[*:0]const u8,
lpNewFileName: ?[*:0]const u8,
lpProgressRoutine: ?LPPROGRESS_ROUTINE,
lpData: ?*anyopaque,
pbCancel: ?*i32,
dwCopyFlags: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CopyFileTransactedW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
lpProgressRoutine: ?LPPROGRESS_ROUTINE,
lpData: ?*anyopaque,
pbCancel: ?*i32,
dwCopyFlags: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows8.0'
pub extern "kernel32" fn CopyFile2(
pwszExistingFileName: ?[*:0]const u16,
pwszNewFileName: ?[*:0]const u16,
pExtendedParameters: ?*COPYFILE2_EXTENDED_PARAMETERS,
) callconv(@import("std").os.windows.WINAPI) HRESULT;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn MoveFileA(
lpExistingFileName: ?[*:0]const u8,
lpNewFileName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn MoveFileW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn MoveFileExA(
lpExistingFileName: ?[*:0]const u8,
lpNewFileName: ?[*:0]const u8,
dwFlags: MOVE_FILE_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn MoveFileExW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
dwFlags: MOVE_FILE_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn MoveFileWithProgressA(
lpExistingFileName: ?[*:0]const u8,
lpNewFileName: ?[*:0]const u8,
lpProgressRoutine: ?LPPROGRESS_ROUTINE,
lpData: ?*anyopaque,
dwFlags: MOVE_FILE_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn MoveFileWithProgressW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
lpProgressRoutine: ?LPPROGRESS_ROUTINE,
lpData: ?*anyopaque,
dwFlags: MOVE_FILE_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn MoveFileTransactedA(
lpExistingFileName: ?[*:0]const u8,
lpNewFileName: ?[*:0]const u8,
lpProgressRoutine: ?LPPROGRESS_ROUTINE,
lpData: ?*anyopaque,
dwFlags: MOVE_FILE_FLAGS,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn MoveFileTransactedW(
lpExistingFileName: ?[*:0]const u16,
lpNewFileName: ?[*:0]const u16,
lpProgressRoutine: ?LPPROGRESS_ROUTINE,
lpData: ?*anyopaque,
dwFlags: MOVE_FILE_FLAGS,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn ReplaceFileA(
lpReplacedFileName: ?[*:0]const u8,
lpReplacementFileName: ?[*:0]const u8,
lpBackupFileName: ?[*:0]const u8,
dwReplaceFlags: REPLACE_FILE_FLAGS,
lpExclude: ?*anyopaque,
lpReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn ReplaceFileW(
lpReplacedFileName: ?[*:0]const u16,
lpReplacementFileName: ?[*:0]const u16,
lpBackupFileName: ?[*:0]const u16,
dwReplaceFlags: REPLACE_FILE_FLAGS,
lpExclude: ?*anyopaque,
lpReserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateHardLinkA(
lpFileName: ?[*:0]const u8,
lpExistingFileName: ?[*:0]const u8,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn CreateHardLinkW(
lpFileName: ?[*:0]const u16,
lpExistingFileName: ?[*:0]const u16,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateHardLinkTransactedA(
lpFileName: ?[*:0]const u8,
lpExistingFileName: ?[*:0]const u8,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateHardLinkTransactedW(
lpFileName: ?[*:0]const u16,
lpExistingFileName: ?[*:0]const u16,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn FindFirstStreamTransactedW(
lpFileName: ?[*:0]const u16,
InfoLevel: STREAM_INFO_LEVELS,
lpFindStreamData: ?*anyopaque,
dwFlags: u32,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) FindStreamHandle;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn FindFirstFileNameTransactedW(
lpFileName: ?[*:0]const u16,
dwFlags: u32,
StringLength: ?*u32,
LinkName: [*:0]u16,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) FindFileNameHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetVolumeLabelA(
lpRootPathName: ?[*:0]const u8,
lpVolumeName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetVolumeLabelW(
lpRootPathName: ?[*:0]const u16,
lpVolumeName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn SetFileBandwidthReservation(
hFile: ?HANDLE,
nPeriodMilliseconds: u32,
nBytesPerPeriod: u32,
bDiscardable: BOOL,
lpTransferSize: ?*u32,
lpNumOutstandingRequests: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetFileBandwidthReservation(
hFile: ?HANDLE,
lpPeriodMilliseconds: ?*u32,
lpBytesPerPeriod: ?*u32,
pDiscardable: ?*i32,
lpTransferSize: ?*u32,
lpNumOutstandingRequests: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn ReadDirectoryChangesW(
hDirectory: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*anyopaque,
nBufferLength: u32,
bWatchSubtree: BOOL,
dwNotifyFilter: FILE_NOTIFY_CHANGE,
lpBytesReturned: ?*u32,
lpOverlapped: ?*OVERLAPPED,
lpCompletionRoutine: ?LPOVERLAPPED_COMPLETION_ROUTINE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.16299'
pub extern "kernel32" fn ReadDirectoryChangesExW(
hDirectory: ?HANDLE,
// TODO: what to do with BytesParamIndex 2?
lpBuffer: ?*anyopaque,
nBufferLength: u32,
bWatchSubtree: BOOL,
dwNotifyFilter: FILE_NOTIFY_CHANGE,
lpBytesReturned: ?*u32,
lpOverlapped: ?*OVERLAPPED,
lpCompletionRoutine: ?LPOVERLAPPED_COMPLETION_ROUTINE,
ReadDirectoryNotifyInformationClass: READ_DIRECTORY_NOTIFY_INFORMATION_CLASS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstVolumeA(
lpszVolumeName: [*:0]u8,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) FindVolumeHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindNextVolumeA(
hFindVolume: FindVolumeHandle,
lpszVolumeName: [*:0]u8,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstVolumeMountPointA(
lpszRootPathName: ?[*:0]const u8,
lpszVolumeMountPoint: [*:0]u8,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) FindVolumeMointPointHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindFirstVolumeMountPointW(
lpszRootPathName: ?[*:0]const u16,
lpszVolumeMountPoint: [*:0]u16,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) FindVolumeMointPointHandle;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindNextVolumeMountPointA(
hFindVolumeMountPoint: FindVolumeMointPointHandle,
lpszVolumeMountPoint: [*:0]u8,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindNextVolumeMountPointW(
hFindVolumeMountPoint: FindVolumeMointPointHandle,
lpszVolumeMountPoint: [*:0]u16,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn FindVolumeMountPointClose(
hFindVolumeMountPoint: FindVolumeMointPointHandle,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetVolumeMountPointA(
lpszVolumeMountPoint: ?[*:0]const u8,
lpszVolumeName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn SetVolumeMountPointW(
lpszVolumeMountPoint: ?[*:0]const u16,
lpszVolumeName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn DeleteVolumeMountPointA(
lpszVolumeMountPoint: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetVolumeNameForVolumeMountPointA(
lpszVolumeMountPoint: ?[*:0]const u8,
lpszVolumeName: [*:0]u8,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetVolumePathNameA(
lpszFileName: ?[*:0]const u8,
lpszVolumePathName: [*:0]u8,
cchBufferLength: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "kernel32" fn GetVolumePathNamesForVolumeNameA(
lpszVolumeName: ?[*:0]const u8,
lpszVolumePathNames: ?[*]u8,
cchBufferLength: u32,
lpcchReturnLength: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn GetFileInformationByHandleEx(
hFile: ?HANDLE,
FileInformationClass: FILE_INFO_BY_HANDLE_CLASS,
// TODO: what to do with BytesParamIndex 3?
lpFileInformation: ?*anyopaque,
dwBufferSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn OpenFileById(
hVolumeHint: ?HANDLE,
lpFileId: ?*FILE_ID_DESCRIPTOR,
dwDesiredAccess: FILE_ACCESS_FLAGS,
dwShareMode: FILE_SHARE_MODE,
lpSecurityAttributes: ?*SECURITY_ATTRIBUTES,
dwFlagsAndAttributes: FILE_FLAGS_AND_ATTRIBUTES,
) callconv(@import("std").os.windows.WINAPI) ?HANDLE;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateSymbolicLinkA(
lpSymlinkFileName: ?[*:0]const u8,
lpTargetFileName: ?[*:0]const u8,
dwFlags: SYMBOLIC_LINK_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateSymbolicLinkW(
lpSymlinkFileName: ?[*:0]const u16,
lpTargetFileName: ?[*:0]const u16,
dwFlags: SYMBOLIC_LINK_FLAGS,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateSymbolicLinkTransactedA(
lpSymlinkFileName: ?[*:0]const u8,
lpTargetFileName: ?[*:0]const u8,
dwFlags: SYMBOLIC_LINK_FLAGS,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "kernel32" fn CreateSymbolicLinkTransactedW(
lpSymlinkFileName: ?[*:0]const u16,
lpTargetFileName: ?[*:0]const u16,
dwFlags: SYMBOLIC_LINK_FLAGS,
hTransaction: ?HANDLE,
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
pub extern "ntdll" fn NtCreateFile(
FileHandle: ?*?HANDLE,
DesiredAccess: u32,
ObjectAttributes: ?*OBJECT_ATTRIBUTES,
IoStatusBlock: ?*IO_STATUS_BLOCK,
AllocationSize: ?*LARGE_INTEGER,
FileAttributes: u32,
ShareAccess: FILE_SHARE_MODE,
CreateDisposition: NT_CREATE_FILE_DISPOSITION,
CreateOptions: u32,
EaBuffer: ?*anyopaque,
EaLength: u32,
) callconv(@import("std").os.windows.WINAPI) NTSTATUS;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (93)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
pub const WIN32_FIND_DATA = thismodule.WIN32_FIND_DATAA;
pub const NTMS_DRIVEINFORMATION = thismodule.NTMS_DRIVEINFORMATIONA;
pub const NTMS_CHANGERINFORMATION = thismodule.NTMS_CHANGERINFORMATIONA;
pub const NTMS_PMIDINFORMATION = thismodule.NTMS_PMIDINFORMATIONA;
pub const NTMS_PARTITIONINFORMATION = thismodule.NTMS_PARTITIONINFORMATIONA;
pub const NTMS_DRIVETYPEINFORMATION = thismodule.NTMS_DRIVETYPEINFORMATIONA;
pub const NTMS_CHANGERTYPEINFORMATION = thismodule.NTMS_CHANGERTYPEINFORMATIONA;
pub const NTMS_LIBREQUESTINFORMATION = thismodule.NTMS_LIBREQUESTINFORMATIONA;
pub const NTMS_OPREQUESTINFORMATION = thismodule.NTMS_OPREQUESTINFORMATIONA;
pub const NTMS_OBJECTINFORMATION = thismodule.NTMS_OBJECTINFORMATIONA;
pub const NTMS_I1_LIBREQUESTINFORMATION = thismodule.NTMS_I1_LIBREQUESTINFORMATIONA;
pub const NTMS_I1_PMIDINFORMATION = thismodule.NTMS_I1_PMIDINFORMATIONA;
pub const NTMS_I1_PARTITIONINFORMATION = thismodule.NTMS_I1_PARTITIONINFORMATIONA;
pub const NTMS_I1_OPREQUESTINFORMATION = thismodule.NTMS_I1_OPREQUESTINFORMATIONA;
pub const NTMS_I1_OBJECTINFORMATION = thismodule.NTMS_I1_OBJECTINFORMATIONA;
pub const SearchPath = thismodule.SearchPathA;
pub const CreateDirectory = thismodule.CreateDirectoryA;
pub const CreateFile = thismodule.CreateFileA;
pub const DefineDosDevice = thismodule.DefineDosDeviceA;
pub const DeleteFile = thismodule.DeleteFileA;
pub const DeleteVolumeMountPoint = thismodule.DeleteVolumeMountPointA;
pub const FindFirstChangeNotification = thismodule.FindFirstChangeNotificationA;
pub const FindFirstFile = thismodule.FindFirstFileA;
pub const FindFirstFileEx = thismodule.FindFirstFileExA;
pub const FindFirstVolume = thismodule.FindFirstVolumeA;
pub const FindNextFile = thismodule.FindNextFileA;
pub const FindNextVolume = thismodule.FindNextVolumeA;
pub const GetDiskFreeSpace = thismodule.GetDiskFreeSpaceA;
pub const GetDiskFreeSpaceEx = thismodule.GetDiskFreeSpaceExA;
pub const GetDiskSpaceInformation = thismodule.GetDiskSpaceInformationA;
pub const GetDriveType = thismodule.GetDriveTypeA;
pub const GetFileAttributes = thismodule.GetFileAttributesA;
pub const GetFileAttributesEx = thismodule.GetFileAttributesExA;
pub const GetFinalPathNameByHandle = thismodule.GetFinalPathNameByHandleA;
pub const GetFullPathName = thismodule.GetFullPathNameA;
pub const GetLogicalDriveStrings = thismodule.GetLogicalDriveStringsA;
pub const GetLongPathName = thismodule.GetLongPathNameA;
pub const GetShortPathName = thismodule.GetShortPathNameA;
pub const GetTempFileName = thismodule.GetTempFileNameA;
pub const GetVolumeInformation = thismodule.GetVolumeInformationA;
pub const GetVolumePathName = thismodule.GetVolumePathNameA;
pub const QueryDosDevice = thismodule.QueryDosDeviceA;
pub const RemoveDirectory = thismodule.RemoveDirectoryA;
pub const SetFileAttributes = thismodule.SetFileAttributesA;
pub const GetTempPath = thismodule.GetTempPathA;
pub const GetVolumeNameForVolumeMountPoint = thismodule.GetVolumeNameForVolumeMountPointA;
pub const GetVolumePathNamesForVolumeName = thismodule.GetVolumePathNamesForVolumeNameA;
pub const GetCompressedFileSize = thismodule.GetCompressedFileSizeA;
pub const GetTempPath2 = thismodule.GetTempPath2A;
pub const VerFindFile = thismodule.VerFindFileA;
pub const VerInstallFile = thismodule.VerInstallFileA;
pub const GetFileVersionInfoSize = thismodule.GetFileVersionInfoSizeA;
pub const GetFileVersionInfo = thismodule.GetFileVersionInfoA;
pub const GetFileVersionInfoSizeEx = thismodule.GetFileVersionInfoSizeExA;
pub const GetFileVersionInfoEx = thismodule.GetFileVersionInfoExA;
pub const VerLanguageName = thismodule.VerLanguageNameA;
pub const VerQueryValue = thismodule.VerQueryValueA;
pub const GetExpandedName = thismodule.GetExpandedNameA;
pub const LZOpenFile = thismodule.LZOpenFileA;
pub const GetBinaryType = thismodule.GetBinaryTypeA;
pub const GetLongPathNameTransacted = thismodule.GetLongPathNameTransactedA;
pub const SetFileShortName = thismodule.SetFileShortNameA;
pub const EncryptFile = thismodule.EncryptFileA;
pub const DecryptFile = thismodule.DecryptFileA;
pub const FileEncryptionStatus = thismodule.FileEncryptionStatusA;
pub const OpenEncryptedFileRaw = thismodule.OpenEncryptedFileRawA;
pub const CreateDirectoryEx = thismodule.CreateDirectoryExA;
pub const CreateDirectoryTransacted = thismodule.CreateDirectoryTransactedA;
pub const RemoveDirectoryTransacted = thismodule.RemoveDirectoryTransactedA;
pub const GetFullPathNameTransacted = thismodule.GetFullPathNameTransactedA;
pub const CreateFileTransacted = thismodule.CreateFileTransactedA;
pub const SetFileAttributesTransacted = thismodule.SetFileAttributesTransactedA;
pub const GetFileAttributesTransacted = thismodule.GetFileAttributesTransactedA;
pub const GetCompressedFileSizeTransacted = thismodule.GetCompressedFileSizeTransactedA;
pub const DeleteFileTransacted = thismodule.DeleteFileTransactedA;
pub const CheckNameLegalDOS8Dot3 = thismodule.CheckNameLegalDOS8Dot3A;
pub const FindFirstFileTransacted = thismodule.FindFirstFileTransactedA;
pub const CopyFile = thismodule.CopyFileA;
pub const CopyFileEx = thismodule.CopyFileExA;
pub const CopyFileTransacted = thismodule.CopyFileTransactedA;
pub const MoveFile = thismodule.MoveFileA;
pub const MoveFileEx = thismodule.MoveFileExA;
pub const MoveFileWithProgress = thismodule.MoveFileWithProgressA;
pub const MoveFileTransacted = thismodule.MoveFileTransactedA;
pub const ReplaceFile = thismodule.ReplaceFileA;
pub const CreateHardLink = thismodule.CreateHardLinkA;
pub const CreateHardLinkTransacted = thismodule.CreateHardLinkTransactedA;
pub const SetVolumeLabel = thismodule.SetVolumeLabelA;
pub const FindFirstVolumeMountPoint = thismodule.FindFirstVolumeMountPointA;
pub const FindNextVolumeMountPoint = thismodule.FindNextVolumeMountPointA;
pub const SetVolumeMountPoint = thismodule.SetVolumeMountPointA;
pub const CreateSymbolicLink = thismodule.CreateSymbolicLinkA;
pub const CreateSymbolicLinkTransacted = thismodule.CreateSymbolicLinkTransactedA;
},
.wide => struct {
pub const WIN32_FIND_DATA = thismodule.WIN32_FIND_DATAW;
pub const NTMS_DRIVEINFORMATION = thismodule.NTMS_DRIVEINFORMATIONW;
pub const NTMS_CHANGERINFORMATION = thismodule.NTMS_CHANGERINFORMATIONW;
pub const NTMS_PMIDINFORMATION = thismodule.NTMS_PMIDINFORMATIONW;
pub const NTMS_PARTITIONINFORMATION = thismodule.NTMS_PARTITIONINFORMATIONW;
pub const NTMS_DRIVETYPEINFORMATION = thismodule.NTMS_DRIVETYPEINFORMATIONW;
pub const NTMS_CHANGERTYPEINFORMATION = thismodule.NTMS_CHANGERTYPEINFORMATIONW;
pub const NTMS_LIBREQUESTINFORMATION = thismodule.NTMS_LIBREQUESTINFORMATIONW;
pub const NTMS_OPREQUESTINFORMATION = thismodule.NTMS_OPREQUESTINFORMATIONW;
pub const NTMS_OBJECTINFORMATION = thismodule.NTMS_OBJECTINFORMATIONW;
pub const NTMS_I1_LIBREQUESTINFORMATION = thismodule.NTMS_I1_LIBREQUESTINFORMATIONW;
pub const NTMS_I1_PMIDINFORMATION = thismodule.NTMS_I1_PMIDINFORMATIONW;
pub const NTMS_I1_PARTITIONINFORMATION = thismodule.NTMS_I1_PARTITIONINFORMATIONW;
pub const NTMS_I1_OPREQUESTINFORMATION = thismodule.NTMS_I1_OPREQUESTINFORMATIONW;
pub const NTMS_I1_OBJECTINFORMATION = thismodule.NTMS_I1_OBJECTINFORMATIONW;
pub const SearchPath = thismodule.SearchPathW;
pub const CreateDirectory = thismodule.CreateDirectoryW;
pub const CreateFile = thismodule.CreateFileW;
pub const DefineDosDevice = thismodule.DefineDosDeviceW;
pub const DeleteFile = thismodule.DeleteFileW;
pub const DeleteVolumeMountPoint = thismodule.DeleteVolumeMountPointW;
pub const FindFirstChangeNotification = thismodule.FindFirstChangeNotificationW;
pub const FindFirstFile = thismodule.FindFirstFileW;
pub const FindFirstFileEx = thismodule.FindFirstFileExW;
pub const FindFirstVolume = thismodule.FindFirstVolumeW;
pub const FindNextFile = thismodule.FindNextFileW;
pub const FindNextVolume = thismodule.FindNextVolumeW;
pub const GetDiskFreeSpace = thismodule.GetDiskFreeSpaceW;
pub const GetDiskFreeSpaceEx = thismodule.GetDiskFreeSpaceExW;
pub const GetDiskSpaceInformation = thismodule.GetDiskSpaceInformationW;
pub const GetDriveType = thismodule.GetDriveTypeW;
pub const GetFileAttributes = thismodule.GetFileAttributesW;
pub const GetFileAttributesEx = thismodule.GetFileAttributesExW;
pub const GetFinalPathNameByHandle = thismodule.GetFinalPathNameByHandleW;
pub const GetFullPathName = thismodule.GetFullPathNameW;
pub const GetLogicalDriveStrings = thismodule.GetLogicalDriveStringsW;
pub const GetLongPathName = thismodule.GetLongPathNameW;
pub const GetShortPathName = thismodule.GetShortPathNameW;
pub const GetTempFileName = thismodule.GetTempFileNameW;
pub const GetVolumeInformation = thismodule.GetVolumeInformationW;
pub const GetVolumePathName = thismodule.GetVolumePathNameW;
pub const QueryDosDevice = thismodule.QueryDosDeviceW;
pub const RemoveDirectory = thismodule.RemoveDirectoryW;
pub const SetFileAttributes = thismodule.SetFileAttributesW;
pub const GetTempPath = thismodule.GetTempPathW;
pub const GetVolumeNameForVolumeMountPoint = thismodule.GetVolumeNameForVolumeMountPointW;
pub const GetVolumePathNamesForVolumeName = thismodule.GetVolumePathNamesForVolumeNameW;
pub const GetCompressedFileSize = thismodule.GetCompressedFileSizeW;
pub const GetTempPath2 = thismodule.GetTempPath2W;
pub const VerFindFile = thismodule.VerFindFileW;
pub const VerInstallFile = thismodule.VerInstallFileW;
pub const GetFileVersionInfoSize = thismodule.GetFileVersionInfoSizeW;
pub const GetFileVersionInfo = thismodule.GetFileVersionInfoW;
pub const GetFileVersionInfoSizeEx = thismodule.GetFileVersionInfoSizeExW;
pub const GetFileVersionInfoEx = thismodule.GetFileVersionInfoExW;
pub const VerLanguageName = thismodule.VerLanguageNameW;
pub const VerQueryValue = thismodule.VerQueryValueW;
pub const GetExpandedName = thismodule.GetExpandedNameW;
pub const LZOpenFile = thismodule.LZOpenFileW;
pub const GetBinaryType = thismodule.GetBinaryTypeW;
pub const GetLongPathNameTransacted = thismodule.GetLongPathNameTransactedW;
pub const SetFileShortName = thismodule.SetFileShortNameW;
pub const EncryptFile = thismodule.EncryptFileW;
pub const DecryptFile = thismodule.DecryptFileW;
pub const FileEncryptionStatus = thismodule.FileEncryptionStatusW;
pub const OpenEncryptedFileRaw = thismodule.OpenEncryptedFileRawW;
pub const CreateDirectoryEx = thismodule.CreateDirectoryExW;
pub const CreateDirectoryTransacted = thismodule.CreateDirectoryTransactedW;
pub const RemoveDirectoryTransacted = thismodule.RemoveDirectoryTransactedW;
pub const GetFullPathNameTransacted = thismodule.GetFullPathNameTransactedW;
pub const CreateFileTransacted = thismodule.CreateFileTransactedW;
pub const SetFileAttributesTransacted = thismodule.SetFileAttributesTransactedW;
pub const GetFileAttributesTransacted = thismodule.GetFileAttributesTransactedW;
pub const GetCompressedFileSizeTransacted = thismodule.GetCompressedFileSizeTransactedW;
pub const DeleteFileTransacted = thismodule.DeleteFileTransactedW;
pub const CheckNameLegalDOS8Dot3 = thismodule.CheckNameLegalDOS8Dot3W;
pub const FindFirstFileTransacted = thismodule.FindFirstFileTransactedW;
pub const CopyFile = thismodule.CopyFileW;
pub const CopyFileEx = thismodule.CopyFileExW;
pub const CopyFileTransacted = thismodule.CopyFileTransactedW;
pub const MoveFile = thismodule.MoveFileW;
pub const MoveFileEx = thismodule.MoveFileExW;
pub const MoveFileWithProgress = thismodule.MoveFileWithProgressW;
pub const MoveFileTransacted = thismodule.MoveFileTransactedW;
pub const ReplaceFile = thismodule.ReplaceFileW;
pub const CreateHardLink = thismodule.CreateHardLinkW;
pub const CreateHardLinkTransacted = thismodule.CreateHardLinkTransactedW;
pub const SetVolumeLabel = thismodule.SetVolumeLabelW;
pub const FindFirstVolumeMountPoint = thismodule.FindFirstVolumeMountPointW;
pub const FindNextVolumeMountPoint = thismodule.FindNextVolumeMountPointW;
pub const SetVolumeMountPoint = thismodule.SetVolumeMountPointW;
pub const CreateSymbolicLink = thismodule.CreateSymbolicLinkW;
pub const CreateSymbolicLinkTransacted = thismodule.CreateSymbolicLinkTransactedW;
},
.unspecified => if (@import("builtin").is_test) struct {
pub const WIN32_FIND_DATA = *opaque{};
pub const NTMS_DRIVEINFORMATION = *opaque{};
pub const NTMS_CHANGERINFORMATION = *opaque{};
pub const NTMS_PMIDINFORMATION = *opaque{};
pub const NTMS_PARTITIONINFORMATION = *opaque{};
pub const NTMS_DRIVETYPEINFORMATION = *opaque{};
pub const NTMS_CHANGERTYPEINFORMATION = *opaque{};
pub const NTMS_LIBREQUESTINFORMATION = *opaque{};
pub const NTMS_OPREQUESTINFORMATION = *opaque{};
pub const NTMS_OBJECTINFORMATION = *opaque{};
pub const NTMS_I1_LIBREQUESTINFORMATION = *opaque{};
pub const NTMS_I1_PMIDINFORMATION = *opaque{};
pub const NTMS_I1_PARTITIONINFORMATION = *opaque{};
pub const NTMS_I1_OPREQUESTINFORMATION = *opaque{};
pub const NTMS_I1_OBJECTINFORMATION = *opaque{};
pub const SearchPath = *opaque{};
pub const CreateDirectory = *opaque{};
pub const CreateFile = *opaque{};
pub const DefineDosDevice = *opaque{};
pub const DeleteFile = *opaque{};
pub const DeleteVolumeMountPoint = *opaque{};
pub const FindFirstChangeNotification = *opaque{};
pub const FindFirstFile = *opaque{};
pub const FindFirstFileEx = *opaque{};
pub const FindFirstVolume = *opaque{};
pub const FindNextFile = *opaque{};
pub const FindNextVolume = *opaque{};
pub const GetDiskFreeSpace = *opaque{};
pub const GetDiskFreeSpaceEx = *opaque{};
pub const GetDiskSpaceInformation = *opaque{};
pub const GetDriveType = *opaque{};
pub const GetFileAttributes = *opaque{};
pub const GetFileAttributesEx = *opaque{};
pub const GetFinalPathNameByHandle = *opaque{};
pub const GetFullPathName = *opaque{};
pub const GetLogicalDriveStrings = *opaque{};
pub const GetLongPathName = *opaque{};
pub const GetShortPathName = *opaque{};
pub const GetTempFileName = *opaque{};
pub const GetVolumeInformation = *opaque{};
pub const GetVolumePathName = *opaque{};
pub const QueryDosDevice = *opaque{};
pub const RemoveDirectory = *opaque{};
pub const SetFileAttributes = *opaque{};
pub const GetTempPath = *opaque{};
pub const GetVolumeNameForVolumeMountPoint = *opaque{};
pub const GetVolumePathNamesForVolumeName = *opaque{};
pub const GetCompressedFileSize = *opaque{};
pub const GetTempPath2 = *opaque{};
pub const VerFindFile = *opaque{};
pub const VerInstallFile = *opaque{};
pub const GetFileVersionInfoSize = *opaque{};
pub const GetFileVersionInfo = *opaque{};
pub const GetFileVersionInfoSizeEx = *opaque{};
pub const GetFileVersionInfoEx = *opaque{};
pub const VerLanguageName = *opaque{};
pub const VerQueryValue = *opaque{};
pub const GetExpandedName = *opaque{};
pub const LZOpenFile = *opaque{};
pub const GetBinaryType = *opaque{};
pub const GetLongPathNameTransacted = *opaque{};
pub const SetFileShortName = *opaque{};
pub const EncryptFile = *opaque{};
pub const DecryptFile = *opaque{};
pub const FileEncryptionStatus = *opaque{};
pub const OpenEncryptedFileRaw = *opaque{};
pub const CreateDirectoryEx = *opaque{};
pub const CreateDirectoryTransacted = *opaque{};
pub const RemoveDirectoryTransacted = *opaque{};
pub const GetFullPathNameTransacted = *opaque{};
pub const CreateFileTransacted = *opaque{};
pub const SetFileAttributesTransacted = *opaque{};
pub const GetFileAttributesTransacted = *opaque{};
pub const GetCompressedFileSizeTransacted = *opaque{};
pub const DeleteFileTransacted = *opaque{};
pub const CheckNameLegalDOS8Dot3 = *opaque{};
pub const FindFirstFileTransacted = *opaque{};
pub const CopyFile = *opaque{};
pub const CopyFileEx = *opaque{};
pub const CopyFileTransacted = *opaque{};
pub const MoveFile = *opaque{};
pub const MoveFileEx = *opaque{};
pub const MoveFileWithProgress = *opaque{};
pub const MoveFileTransacted = *opaque{};
pub const ReplaceFile = *opaque{};
pub const CreateHardLink = *opaque{};
pub const CreateHardLinkTransacted = *opaque{};
pub const SetVolumeLabel = *opaque{};
pub const FindFirstVolumeMountPoint = *opaque{};
pub const FindNextVolumeMountPoint = *opaque{};
pub const SetVolumeMountPoint = *opaque{};
pub const CreateSymbolicLink = *opaque{};
pub const CreateSymbolicLinkTransacted = *opaque{};
} else struct {
pub const WIN32_FIND_DATA = @compileError("'WIN32_FIND_DATA' requires that UNICODE be set to true or false in the root module");
pub const NTMS_DRIVEINFORMATION = @compileError("'NTMS_DRIVEINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_CHANGERINFORMATION = @compileError("'NTMS_CHANGERINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_PMIDINFORMATION = @compileError("'NTMS_PMIDINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_PARTITIONINFORMATION = @compileError("'NTMS_PARTITIONINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_DRIVETYPEINFORMATION = @compileError("'NTMS_DRIVETYPEINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_CHANGERTYPEINFORMATION = @compileError("'NTMS_CHANGERTYPEINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_LIBREQUESTINFORMATION = @compileError("'NTMS_LIBREQUESTINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_OPREQUESTINFORMATION = @compileError("'NTMS_OPREQUESTINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_OBJECTINFORMATION = @compileError("'NTMS_OBJECTINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_I1_LIBREQUESTINFORMATION = @compileError("'NTMS_I1_LIBREQUESTINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_I1_PMIDINFORMATION = @compileError("'NTMS_I1_PMIDINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_I1_PARTITIONINFORMATION = @compileError("'NTMS_I1_PARTITIONINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_I1_OPREQUESTINFORMATION = @compileError("'NTMS_I1_OPREQUESTINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const NTMS_I1_OBJECTINFORMATION = @compileError("'NTMS_I1_OBJECTINFORMATION' requires that UNICODE be set to true or false in the root module");
pub const SearchPath = @compileError("'SearchPath' requires that UNICODE be set to true or false in the root module");
pub const CreateDirectory = @compileError("'CreateDirectory' requires that UNICODE be set to true or false in the root module");
pub const CreateFile = @compileError("'CreateFile' requires that UNICODE be set to true or false in the root module");
pub const DefineDosDevice = @compileError("'DefineDosDevice' requires that UNICODE be set to true or false in the root module");
pub const DeleteFile = @compileError("'DeleteFile' requires that UNICODE be set to true or false in the root module");
pub const DeleteVolumeMountPoint = @compileError("'DeleteVolumeMountPoint' requires that UNICODE be set to true or false in the root module");
pub const FindFirstChangeNotification = @compileError("'FindFirstChangeNotification' requires that UNICODE be set to true or false in the root module");
pub const FindFirstFile = @compileError("'FindFirstFile' requires that UNICODE be set to true or false in the root module");
pub const FindFirstFileEx = @compileError("'FindFirstFileEx' requires that UNICODE be set to true or false in the root module");
pub const FindFirstVolume = @compileError("'FindFirstVolume' requires that UNICODE be set to true or false in the root module");
pub const FindNextFile = @compileError("'FindNextFile' requires that UNICODE be set to true or false in the root module");
pub const FindNextVolume = @compileError("'FindNextVolume' requires that UNICODE be set to true or false in the root module");
pub const GetDiskFreeSpace = @compileError("'GetDiskFreeSpace' requires that UNICODE be set to true or false in the root module");
pub const GetDiskFreeSpaceEx = @compileError("'GetDiskFreeSpaceEx' requires that UNICODE be set to true or false in the root module");
pub const GetDiskSpaceInformation = @compileError("'GetDiskSpaceInformation' requires that UNICODE be set to true or false in the root module");
pub const GetDriveType = @compileError("'GetDriveType' requires that UNICODE be set to true or false in the root module");
pub const GetFileAttributes = @compileError("'GetFileAttributes' requires that UNICODE be set to true or false in the root module");
pub const GetFileAttributesEx = @compileError("'GetFileAttributesEx' requires that UNICODE be set to true or false in the root module");
pub const GetFinalPathNameByHandle = @compileError("'GetFinalPathNameByHandle' requires that UNICODE be set to true or false in the root module");
pub const GetFullPathName = @compileError("'GetFullPathName' requires that UNICODE be set to true or false in the root module");
pub const GetLogicalDriveStrings = @compileError("'GetLogicalDriveStrings' requires that UNICODE be set to true or false in the root module");
pub const GetLongPathName = @compileError("'GetLongPathName' requires that UNICODE be set to true or false in the root module");
pub const GetShortPathName = @compileError("'GetShortPathName' requires that UNICODE be set to true or false in the root module");
pub const GetTempFileName = @compileError("'GetTempFileName' requires that UNICODE be set to true or false in the root module");
pub const GetVolumeInformation = @compileError("'GetVolumeInformation' requires that UNICODE be set to true or false in the root module");
pub const GetVolumePathName = @compileError("'GetVolumePathName' requires that UNICODE be set to true or false in the root module");
pub const QueryDosDevice = @compileError("'QueryDosDevice' requires that UNICODE be set to true or false in the root module");
pub const RemoveDirectory = @compileError("'RemoveDirectory' requires that UNICODE be set to true or false in the root module");
pub const SetFileAttributes = @compileError("'SetFileAttributes' requires that UNICODE be set to true or false in the root module");
pub const GetTempPath = @compileError("'GetTempPath' requires that UNICODE be set to true or false in the root module");
pub const GetVolumeNameForVolumeMountPoint = @compileError("'GetVolumeNameForVolumeMountPoint' requires that UNICODE be set to true or false in the root module");
pub const GetVolumePathNamesForVolumeName = @compileError("'GetVolumePathNamesForVolumeName' requires that UNICODE be set to true or false in the root module");
pub const GetCompressedFileSize = @compileError("'GetCompressedFileSize' requires that UNICODE be set to true or false in the root module");
pub const GetTempPath2 = @compileError("'GetTempPath2' requires that UNICODE be set to true or false in the root module");
pub const VerFindFile = @compileError("'VerFindFile' requires that UNICODE be set to true or false in the root module");
pub const VerInstallFile = @compileError("'VerInstallFile' requires that UNICODE be set to true or false in the root module");
pub const GetFileVersionInfoSize = @compileError("'GetFileVersionInfoSize' requires that UNICODE be set to true or false in the root module");
pub const GetFileVersionInfo = @compileError("'GetFileVersionInfo' requires that UNICODE be set to true or false in the root module");
pub const GetFileVersionInfoSizeEx = @compileError("'GetFileVersionInfoSizeEx' requires that UNICODE be set to true or false in the root module");
pub const GetFileVersionInfoEx = @compileError("'GetFileVersionInfoEx' requires that UNICODE be set to true or false in the root module");
pub const VerLanguageName = @compileError("'VerLanguageName' requires that UNICODE be set to true or false in the root module");
pub const VerQueryValue = @compileError("'VerQueryValue' requires that UNICODE be set to true or false in the root module");
pub const GetExpandedName = @compileError("'GetExpandedName' requires that UNICODE be set to true or false in the root module");
pub const LZOpenFile = @compileError("'LZOpenFile' requires that UNICODE be set to true or false in the root module");
pub const GetBinaryType = @compileError("'GetBinaryType' requires that UNICODE be set to true or false in the root module");
pub const GetLongPathNameTransacted = @compileError("'GetLongPathNameTransacted' requires that UNICODE be set to true or false in the root module");
pub const SetFileShortName = @compileError("'SetFileShortName' requires that UNICODE be set to true or false in the root module");
pub const EncryptFile = @compileError("'EncryptFile' requires that UNICODE be set to true or false in the root module");
pub const DecryptFile = @compileError("'DecryptFile' requires that UNICODE be set to true or false in the root module");
pub const FileEncryptionStatus = @compileError("'FileEncryptionStatus' requires that UNICODE be set to true or false in the root module");
pub const OpenEncryptedFileRaw = @compileError("'OpenEncryptedFileRaw' requires that UNICODE be set to true or false in the root module");
pub const CreateDirectoryEx = @compileError("'CreateDirectoryEx' requires that UNICODE be set to true or false in the root module");
pub const CreateDirectoryTransacted = @compileError("'CreateDirectoryTransacted' requires that UNICODE be set to true or false in the root module");
pub const RemoveDirectoryTransacted = @compileError("'RemoveDirectoryTransacted' requires that UNICODE be set to true or false in the root module");
pub const GetFullPathNameTransacted = @compileError("'GetFullPathNameTransacted' requires that UNICODE be set to true or false in the root module");
pub const CreateFileTransacted = @compileError("'CreateFileTransacted' requires that UNICODE be set to true or false in the root module");
pub const SetFileAttributesTransacted = @compileError("'SetFileAttributesTransacted' requires that UNICODE be set to true or false in the root module");
pub const GetFileAttributesTransacted = @compileError("'GetFileAttributesTransacted' requires that UNICODE be set to true or false in the root module");
pub const GetCompressedFileSizeTransacted = @compileError("'GetCompressedFileSizeTransacted' requires that UNICODE be set to true or false in the root module");
pub const DeleteFileTransacted = @compileError("'DeleteFileTransacted' requires that UNICODE be set to true or false in the root module");
pub const CheckNameLegalDOS8Dot3 = @compileError("'CheckNameLegalDOS8Dot3' requires that UNICODE be set to true or false in the root module");
pub const FindFirstFileTransacted = @compileError("'FindFirstFileTransacted' requires that UNICODE be set to true or false in the root module");
pub const CopyFile = @compileError("'CopyFile' requires that UNICODE be set to true or false in the root module");
pub const CopyFileEx = @compileError("'CopyFileEx' requires that UNICODE be set to true or false in the root module");
pub const CopyFileTransacted = @compileError("'CopyFileTransacted' requires that UNICODE be set to true or false in the root module");
pub const MoveFile = @compileError("'MoveFile' requires that UNICODE be set to true or false in the root module");
pub const MoveFileEx = @compileError("'MoveFileEx' requires that UNICODE be set to true or false in the root module");
pub const MoveFileWithProgress = @compileError("'MoveFileWithProgress' requires that UNICODE be set to true or false in the root module");
pub const MoveFileTransacted = @compileError("'MoveFileTransacted' requires that UNICODE be set to true or false in the root module");
pub const ReplaceFile = @compileError("'ReplaceFile' requires that UNICODE be set to true or false in the root module");
pub const CreateHardLink = @compileError("'CreateHardLink' requires that UNICODE be set to true or false in the root module");
pub const CreateHardLinkTransacted = @compileError("'CreateHardLinkTransacted' requires that UNICODE be set to true or false in the root module");
pub const SetVolumeLabel = @compileError("'SetVolumeLabel' requires that UNICODE be set to true or false in the root module");
pub const FindFirstVolumeMountPoint = @compileError("'FindFirstVolumeMountPoint' requires that UNICODE be set to true or false in the root module");
pub const FindNextVolumeMountPoint = @compileError("'FindNextVolumeMountPoint' requires that UNICODE be set to true or false in the root module");
pub const SetVolumeMountPoint = @compileError("'SetVolumeMountPoint' requires that UNICODE be set to true or false in the root module");
pub const CreateSymbolicLink = @compileError("'CreateSymbolicLink' requires that UNICODE be set to true or false in the root module");
pub const CreateSymbolicLinkTransacted = @compileError("'CreateSymbolicLinkTransacted' requires that UNICODE be set to true or false in the root module");
},
};
//--------------------------------------------------------------------------------
// Section: Imports (25)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const BOOLEAN = @import("../foundation.zig").BOOLEAN;
const CHAR = @import("../foundation.zig").CHAR;
const FILETIME = @import("../foundation.zig").FILETIME;
const GENERIC_MAPPING = @import("../security.zig").GENERIC_MAPPING;
const HANDLE = @import("../foundation.zig").HANDLE;
const HRESULT = @import("../foundation.zig").HRESULT;
const IConnectionPointContainer = @import("../system/com.zig").IConnectionPointContainer;
const IO_STATUS_BLOCK = @import("../system/windows_programming.zig").IO_STATUS_BLOCK;
const IUnknown = @import("../system/com.zig").IUnknown;
const LARGE_INTEGER = @import("../foundation.zig").LARGE_INTEGER;
const LPOVERLAPPED_COMPLETION_ROUTINE = @import("../system/io.zig").LPOVERLAPPED_COMPLETION_ROUTINE;
const NTSTATUS = @import("../foundation.zig").NTSTATUS;
const OBJECT_ATTRIBUTES = @import("../system/windows_programming.zig").OBJECT_ATTRIBUTES;
const OVERLAPPED = @import("../system/io.zig").OVERLAPPED;
const PRIVILEGE_SET = @import("../security.zig").PRIVILEGE_SET;
const PSECURITY_DESCRIPTOR = @import("../security.zig").PSECURITY_DESCRIPTOR;
const PSID = @import("../foundation.zig").PSID;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
const SECURITY_ATTRIBUTES = @import("../security.zig").SECURITY_ATTRIBUTES;
const SID = @import("../security.zig").SID;
const SYSTEMTIME = @import("../foundation.zig").SYSTEMTIME;
const ULARGE_INTEGER = @import("../foundation.zig").ULARGE_INTEGER;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "MAXMEDIALABEL")) { _ = MAXMEDIALABEL; }
if (@hasDecl(@This(), "CLAIMMEDIALABEL")) { _ = CLAIMMEDIALABEL; }
if (@hasDecl(@This(), "CLAIMMEDIALABELEX")) { _ = CLAIMMEDIALABELEX; }
if (@hasDecl(@This(), "CLFS_BLOCK_ALLOCATION")) { _ = CLFS_BLOCK_ALLOCATION; }
if (@hasDecl(@This(), "CLFS_BLOCK_DEALLOCATION")) { _ = CLFS_BLOCK_DEALLOCATION; }
if (@hasDecl(@This(), "PCLFS_COMPLETION_ROUTINE")) { _ = PCLFS_COMPLETION_ROUTINE; }
if (@hasDecl(@This(), "PLOG_TAIL_ADVANCE_CALLBACK")) { _ = PLOG_TAIL_ADVANCE_CALLBACK; }
if (@hasDecl(@This(), "PLOG_FULL_HANDLER_CALLBACK")) { _ = PLOG_FULL_HANDLER_CALLBACK; }
if (@hasDecl(@This(), "PLOG_UNPINNED_CALLBACK")) { _ = PLOG_UNPINNED_CALLBACK; }
if (@hasDecl(@This(), "WofEnumEntryProc")) { _ = WofEnumEntryProc; }
if (@hasDecl(@This(), "WofEnumFilesProc")) { _ = WofEnumFilesProc; }
if (@hasDecl(@This(), "FCACHE_CREATE_CALLBACK")) { _ = FCACHE_CREATE_CALLBACK; }
if (@hasDecl(@This(), "FCACHE_RICHCREATE_CALLBACK")) { _ = FCACHE_RICHCREATE_CALLBACK; }
if (@hasDecl(@This(), "CACHE_KEY_COMPARE")) { _ = CACHE_KEY_COMPARE; }
if (@hasDecl(@This(), "CACHE_KEY_HASH")) { _ = CACHE_KEY_HASH; }
if (@hasDecl(@This(), "CACHE_READ_CALLBACK")) { _ = CACHE_READ_CALLBACK; }
if (@hasDecl(@This(), "CACHE_DESTROY_CALLBACK")) { _ = CACHE_DESTROY_CALLBACK; }
if (@hasDecl(@This(), "CACHE_ACCESS_CHECK")) { _ = CACHE_ACCESS_CHECK; }
if (@hasDecl(@This(), "PFE_EXPORT_FUNC")) { _ = PFE_EXPORT_FUNC; }
if (@hasDecl(@This(), "PFE_IMPORT_FUNC")) { _ = PFE_IMPORT_FUNC; }
if (@hasDecl(@This(), "LPPROGRESS_ROUTINE")) { _ = LPPROGRESS_ROUTINE; }
if (@hasDecl(@This(), "PCOPYFILE2_PROGRESS_ROUTINE")) { _ = PCOPYFILE2_PROGRESS_ROUTINE; }
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}