use nix::{ioctl_read, ioctl_write_ptr};
const IOCTL_MAGIC: u8 = 0xbc;
#[repr(C)]
#[derive(Default, Debug)]
pub struct QueryUuidPayload {
pub uuid: [u8; 16], }
#[repr(C)]
#[derive(Default, Debug)]
pub struct SubvolumePayload {
pub flags: u32,
pub dirfd: u32,
pub mode: u16,
pub pad: [u16; 3],
pub dst_ptr: u64,
pub src_ptr: u64,
}
ioctl_read!(query_uuid, IOCTL_MAGIC, 1, QueryUuidPayload);
ioctl_write_ptr!(subvolume_create, IOCTL_MAGIC, 16, SubvolumePayload);
ioctl_write_ptr!(subvolume_destroy, IOCTL_MAGIC, 17, SubvolumePayload);