Files

28 lines
755 B
C

// Native mounted-volume manager ABI. The manager exposes kernel volume lifecycle to a delegated userspace control plane.
#pragma once
#include <stdint.h>
#include <ntlite/handle.h>
#define SYS_VOLUME_ENUM_VERSION 1u
#define SYS_VOLUME_QUERY_FLAG_NONE 0x00000000u
// InstanceId is kernel correlation metadata only. RSSRV owns all global volume names independently.
typedef struct SYS_VOLUME_INFO {
uint32_t Size;
uint32_t Version;
uint32_t InstanceId;
uint32_t Flags;
} SYS_VOLUME_INFO;
typedef struct SYS_QUERY_VOLUMES_REQUEST {
uint32_t Size;
SYS_HANDLE ManagerHandle;
uint32_t Flags;
uint32_t Capacity;
SYS_VOLUME_INFO* Volumes;
uint32_t* CountOut;
uint64_t* GenerationOut;
} SYS_QUERY_VOLUMES_REQUEST;