The
ioctl(2) command codes below are defined in
<sys/dev/fssvar.h>.
The (third) argument to
ioctl(2) should be a pointer to the type indicated.
FSSIOCSET(struct fss_set)
Configures a
fss device.
struct fss_set {
char *fss_mount;
char *fss_bstore;
blksize_t fss_csize;
};
The struct element
fss_mount is the mount point of the file system. The struct element
fss_bstore is either a regular file or a raw disk device where data overwritten on the file system will be saved. The struct element
fss_csize is the preferred size of this data.
FSSIOCGET(struct fss_get)
Gets the status of a
fss device.
struct fss_get {
char fsg_mount[MNAMELEN];
struct timeval fsg_time;
blksize_t fsg_csize;
blkcnt_t fsg_mount_size;
blkcnt_t fsg_bs_size;
};
The struct element
fsg_mount is the mount point of the file system. The struct element
fsg_time is the time this snapshot was taken. The struct element
fsg_csize is the current size of data clusters. The struct element
fsg_mount_size is the number of clusters of the file system. The struct element
fsg_bs_size is the number of clusters written to the backing store.
FSSIOCCLR
Unconfigures a fss device.
FSSIOFSET(int)
Sets the flags of a
fss device. Possible flags are:
FSS_UNCONFIG_ON_CLOSE
Unconfigure the fss device on the last close.
FSSIOFGET(int)
Gets the flags of a fss device.