Files
scoutfs/utils/src/ioctl.h
Zach Brown c17a7036ed Add find xattr commands
Add commands that use the find-xattr ioctls to show the inode numbers of
inodes which probably contain xattrs matching the specified name or
value.

Signed-off-by: Zach Brown <zab@versity.com>
2016-08-23 12:21:47 -07:00

56 lines
1.3 KiB
C

#ifndef _SCOUTFS_IOCTL_H_
#define _SCOUTFS_IOCTL_H_
/* XXX I have no idea how these are chosen. */
#define SCOUTFS_IOCTL_MAGIC 's'
struct scoutfs_ioctl_ino_seq {
__u64 ino;
__u64 seq;
} __packed;
struct scoutfs_ioctl_inodes_since {
__u64 first_ino;
__u64 last_ino;
__u64 seq;
__u64 buf_ptr;
__u32 buf_len;
} __packed;
/*
* Adds entries to the user's buffer for each inode whose sequence
* number is greater than or equal to the given seq.
*/
#define SCOUTFS_IOC_INODES_SINCE _IOW(SCOUTFS_IOCTL_MAGIC, 1, \
struct scoutfs_ioctl_inodes_since)
struct scoutfs_ioctl_inode_paths {
__u64 ino;
__u64 buf_ptr;
__u32 buf_len;
} __packed;
/*
* Fills the callers buffer with all the paths from the root to the
* target inode.
*/
#define SCOUTFS_IOC_INODE_PATHS _IOW(SCOUTFS_IOCTL_MAGIC, 2, \
struct scoutfs_ioctl_inode_paths)
/* XXX might as well include a seq? 0 for current behaviour? */
struct scoutfs_ioctl_find_xattr {
__u64 first_ino;
__u64 last_ino;
__u64 str_ptr;
__u32 str_len;
__u64 ino_ptr;
__u32 ino_count;
} __packed;
#define SCOUTFS_IOC_FIND_XATTR_NAME _IOW(SCOUTFS_IOCTL_MAGIC, 3, \
struct scoutfs_ioctl_find_xattr)
#define SCOUTFS_IOC_FIND_XATTR_VAL _IOW(SCOUTFS_IOCTL_MAGIC, 4, \
struct scoutfs_ioctl_find_xattr)
#endif