28 lines
755 B
C
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;
|