#ifndef _UAPI_LINUX_BTRFS_H
#define _UAPI_LINUX_BTRFS_H
#ifdef __cplusplus
extern "C" {
#endif
#include <linux/types.h>
#include <linux/ioctl.h>
#include <linux/fs.h>
#define BTRFS_IOCTL_MAGIC …
#define BTRFS_VOL_NAME_MAX …
#define BTRFS_LABEL_SIZE …
#define BTRFS_PATH_NAME_MAX …
struct btrfs_ioctl_vol_args { … };
#define BTRFS_DEVICE_PATH_NAME_MAX …
#define BTRFS_SUBVOL_NAME_MAX …
#ifndef __KERNEL__
#define BTRFS_SUBVOL_CREATE_ASYNC …
#endif
#define BTRFS_SUBVOL_RDONLY …
#define BTRFS_SUBVOL_QGROUP_INHERIT …
#define BTRFS_DEVICE_SPEC_BY_ID …
#define BTRFS_SUBVOL_SPEC_BY_ID …
#define BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED …
#define BTRFS_FSID_SIZE …
#define BTRFS_UUID_SIZE …
#define BTRFS_UUID_UNPARSED_SIZE …
#define BTRFS_QGROUP_LIMIT_MAX_RFER …
#define BTRFS_QGROUP_LIMIT_MAX_EXCL …
#define BTRFS_QGROUP_LIMIT_RSV_RFER …
#define BTRFS_QGROUP_LIMIT_RSV_EXCL …
#define BTRFS_QGROUP_LIMIT_RFER_CMPR …
#define BTRFS_QGROUP_LIMIT_EXCL_CMPR …
struct btrfs_qgroup_limit { … };
#define BTRFS_QGROUP_INHERIT_SET_LIMITS …
#define BTRFS_QGROUP_INHERIT_FLAGS_SUPP …
struct btrfs_qgroup_inherit { … };
struct btrfs_ioctl_qgroup_limit_args { … };
#define BTRFS_DEVICE_REMOVE_ARGS_MASK …
#define BTRFS_SUBVOL_CREATE_ARGS_MASK …
#define BTRFS_SUBVOL_DELETE_ARGS_MASK …
struct btrfs_ioctl_vol_args_v2 { … };
struct btrfs_scrub_progress { … };
#define BTRFS_SCRUB_READONLY …
#define BTRFS_SCRUB_SUPPORTED_FLAGS …
struct btrfs_ioctl_scrub_args { … };
#define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS …
#define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID …
struct btrfs_ioctl_dev_replace_start_params { … };
#define BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED …
#define BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED …
#define BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED …
#define BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED …
#define BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED …
struct btrfs_ioctl_dev_replace_status_params { … };
#define BTRFS_IOCTL_DEV_REPLACE_CMD_START …
#define BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS …
#define BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL …
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR …
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED …
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED …
#define BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS …
struct btrfs_ioctl_dev_replace_args { … };
struct btrfs_ioctl_dev_info_args { … };
#define BTRFS_FS_INFO_FLAG_CSUM_INFO …
#define BTRFS_FS_INFO_FLAG_GENERATION …
#define BTRFS_FS_INFO_FLAG_METADATA_UUID …
struct btrfs_ioctl_fs_info_args { … };
#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE …
#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID …
#define BTRFS_FEATURE_COMPAT_RO_VERITY …
#define BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE …
#define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF …
#define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL …
#define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS …
#define BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO …
#define BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD …
#define BTRFS_FEATURE_INCOMPAT_BIG_METADATA …
#define BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF …
#define BTRFS_FEATURE_INCOMPAT_RAID56 …
#define BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA …
#define BTRFS_FEATURE_INCOMPAT_NO_HOLES …
#define BTRFS_FEATURE_INCOMPAT_METADATA_UUID …
#define BTRFS_FEATURE_INCOMPAT_RAID1C34 …
#define BTRFS_FEATURE_INCOMPAT_ZONED …
#define BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2 …
#define BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE …
#define BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA …
struct btrfs_ioctl_feature_flags { … };
#define BTRFS_BALANCE_CTL_PAUSE …
#define BTRFS_BALANCE_CTL_CANCEL …
struct btrfs_balance_args { … } __attribute__ ((packed));
struct btrfs_balance_progress { … };
#define BTRFS_BALANCE_DATA …
#define BTRFS_BALANCE_SYSTEM …
#define BTRFS_BALANCE_METADATA …
#define BTRFS_BALANCE_TYPE_MASK …
#define BTRFS_BALANCE_FORCE …
#define BTRFS_BALANCE_RESUME …
#define BTRFS_BALANCE_ARGS_PROFILES …
#define BTRFS_BALANCE_ARGS_USAGE …
#define BTRFS_BALANCE_ARGS_DEVID …
#define BTRFS_BALANCE_ARGS_DRANGE …
#define BTRFS_BALANCE_ARGS_VRANGE …
#define BTRFS_BALANCE_ARGS_LIMIT …
#define BTRFS_BALANCE_ARGS_LIMIT_RANGE …
#define BTRFS_BALANCE_ARGS_STRIPES_RANGE …
#define BTRFS_BALANCE_ARGS_USAGE_RANGE …
#define BTRFS_BALANCE_ARGS_MASK …
#define BTRFS_BALANCE_ARGS_CONVERT …
#define BTRFS_BALANCE_ARGS_SOFT …
#define BTRFS_BALANCE_STATE_RUNNING …
#define BTRFS_BALANCE_STATE_PAUSE_REQ …
#define BTRFS_BALANCE_STATE_CANCEL_REQ …
struct btrfs_ioctl_balance_args { … };
#define BTRFS_INO_LOOKUP_PATH_MAX …
struct btrfs_ioctl_ino_lookup_args { … };
#define BTRFS_INO_LOOKUP_USER_PATH_MAX …
struct btrfs_ioctl_ino_lookup_user_args { … };
struct btrfs_ioctl_search_key { … };
struct btrfs_ioctl_search_header { … } __attribute__ ((__may_alias__ …));
#define BTRFS_SEARCH_ARGS_BUFSIZE …
struct btrfs_ioctl_search_args { … };
struct btrfs_ioctl_search_args_v2 { … };
struct btrfs_ioctl_clone_range_args { … };
#define BTRFS_DEFRAG_RANGE_COMPRESS …
#define BTRFS_DEFRAG_RANGE_START_IO …
#define BTRFS_DEFRAG_RANGE_FLAGS_SUPP …
struct btrfs_ioctl_defrag_range_args { … };
#define BTRFS_SAME_DATA_DIFFERS …
struct btrfs_ioctl_same_extent_info { … };
struct btrfs_ioctl_same_args { … };
struct btrfs_ioctl_space_info { … };
struct btrfs_ioctl_space_args { … };
struct btrfs_data_container { … };
struct btrfs_ioctl_ino_path_args { … };
struct btrfs_ioctl_logical_ino_args { … };
#define BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET …
enum btrfs_dev_stat_values { … };
#define BTRFS_DEV_STATS_RESET …
struct btrfs_ioctl_get_dev_stats { … };
#define BTRFS_QUOTA_CTL_ENABLE …
#define BTRFS_QUOTA_CTL_DISABLE …
#define BTRFS_QUOTA_CTL_RESCAN__NOTUSED …
#define BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA …
struct btrfs_ioctl_quota_ctl_args { … };
struct btrfs_ioctl_quota_rescan_args { … };
struct btrfs_ioctl_qgroup_assign_args { … };
struct btrfs_ioctl_qgroup_create_args { … };
struct btrfs_ioctl_timespec { … };
struct btrfs_ioctl_received_subvol_args { … };
#define BTRFS_SEND_FLAG_NO_FILE_DATA …
#define BTRFS_SEND_FLAG_OMIT_STREAM_HEADER …
#define BTRFS_SEND_FLAG_OMIT_END_CMD …
#define BTRFS_SEND_FLAG_VERSION …
#define BTRFS_SEND_FLAG_COMPRESSED …
#define BTRFS_SEND_FLAG_MASK …
struct btrfs_ioctl_send_args { … };
struct btrfs_ioctl_get_subvol_info_args { … };
#define BTRFS_MAX_ROOTREF_BUFFER_NUM …
struct btrfs_ioctl_get_subvol_rootref_args { … };
struct btrfs_ioctl_encoded_io_args { … };
#define BTRFS_ENCODED_IO_COMPRESSION_NONE …
#define BTRFS_ENCODED_IO_COMPRESSION_ZLIB …
#define BTRFS_ENCODED_IO_COMPRESSION_ZSTD …
#define BTRFS_ENCODED_IO_COMPRESSION_LZO_4K …
#define BTRFS_ENCODED_IO_COMPRESSION_LZO_8K …
#define BTRFS_ENCODED_IO_COMPRESSION_LZO_16K …
#define BTRFS_ENCODED_IO_COMPRESSION_LZO_32K …
#define BTRFS_ENCODED_IO_COMPRESSION_LZO_64K …
#define BTRFS_ENCODED_IO_COMPRESSION_TYPES …
#define BTRFS_ENCODED_IO_ENCRYPTION_NONE …
#define BTRFS_ENCODED_IO_ENCRYPTION_TYPES …
enum btrfs_err_code { … };
#define BTRFS_IOC_SNAP_CREATE …
#define BTRFS_IOC_DEFRAG …
#define BTRFS_IOC_RESIZE …
#define BTRFS_IOC_SCAN_DEV …
#define BTRFS_IOC_FORGET_DEV …
#define BTRFS_IOC_TRANS_START …
#define BTRFS_IOC_TRANS_END …
#define BTRFS_IOC_SYNC …
#define BTRFS_IOC_CLONE …
#define BTRFS_IOC_ADD_DEV …
#define BTRFS_IOC_RM_DEV …
#define BTRFS_IOC_BALANCE …
#define BTRFS_IOC_CLONE_RANGE …
#define BTRFS_IOC_SUBVOL_CREATE …
#define BTRFS_IOC_SNAP_DESTROY …
#define BTRFS_IOC_DEFRAG_RANGE …
#define BTRFS_IOC_TREE_SEARCH …
#define BTRFS_IOC_TREE_SEARCH_V2 …
#define BTRFS_IOC_INO_LOOKUP …
#define BTRFS_IOC_DEFAULT_SUBVOL …
#define BTRFS_IOC_SPACE_INFO …
#define BTRFS_IOC_START_SYNC …
#define BTRFS_IOC_WAIT_SYNC …
#define BTRFS_IOC_SNAP_CREATE_V2 …
#define BTRFS_IOC_SUBVOL_CREATE_V2 …
#define BTRFS_IOC_SUBVOL_GETFLAGS …
#define BTRFS_IOC_SUBVOL_SETFLAGS …
#define BTRFS_IOC_SCRUB …
#define BTRFS_IOC_SCRUB_CANCEL …
#define BTRFS_IOC_SCRUB_PROGRESS …
#define BTRFS_IOC_DEV_INFO …
#define BTRFS_IOC_FS_INFO …
#define BTRFS_IOC_BALANCE_V2 …
#define BTRFS_IOC_BALANCE_CTL …
#define BTRFS_IOC_BALANCE_PROGRESS …
#define BTRFS_IOC_INO_PATHS …
#define BTRFS_IOC_LOGICAL_INO …
#define BTRFS_IOC_SET_RECEIVED_SUBVOL …
#define BTRFS_IOC_SEND …
#define BTRFS_IOC_DEVICES_READY …
#define BTRFS_IOC_QUOTA_CTL …
#define BTRFS_IOC_QGROUP_ASSIGN …
#define BTRFS_IOC_QGROUP_CREATE …
#define BTRFS_IOC_QGROUP_LIMIT …
#define BTRFS_IOC_QUOTA_RESCAN …
#define BTRFS_IOC_QUOTA_RESCAN_STATUS …
#define BTRFS_IOC_QUOTA_RESCAN_WAIT …
#define BTRFS_IOC_GET_FSLABEL …
#define BTRFS_IOC_SET_FSLABEL …
#define BTRFS_IOC_GET_DEV_STATS …
#define BTRFS_IOC_DEV_REPLACE …
#define BTRFS_IOC_FILE_EXTENT_SAME …
#define BTRFS_IOC_GET_FEATURES …
#define BTRFS_IOC_SET_FEATURES …
#define BTRFS_IOC_GET_SUPPORTED_FEATURES …
#define BTRFS_IOC_RM_DEV_V2 …
#define BTRFS_IOC_LOGICAL_INO_V2 …
#define BTRFS_IOC_GET_SUBVOL_INFO …
#define BTRFS_IOC_GET_SUBVOL_ROOTREF …
#define BTRFS_IOC_INO_LOOKUP_USER …
#define BTRFS_IOC_SNAP_DESTROY_V2 …
#define BTRFS_IOC_ENCODED_READ …
#define BTRFS_IOC_ENCODED_WRITE …
#ifdef __cplusplus
}
#endif
#endif