~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/ext4.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 
  3 #ifndef _UAPI_LINUX_EXT4_H
  4 #define _UAPI_LINUX_EXT4_H
  5 #include <linux/fiemap.h>
  6 #include <linux/fs.h>
  7 #include <linux/ioctl.h>
  8 #include <linux/types.h>
  9 
 10 /*
 11  * ext4-specific ioctl commands
 12  */
 13 #define EXT4_IOC_GETVERSION             _IOR('f', 3, long)
 14 #define EXT4_IOC_SETVERSION             _IOW('f', 4, long)
 15 #define EXT4_IOC_GETVERSION_OLD         FS_IOC_GETVERSION
 16 #define EXT4_IOC_SETVERSION_OLD         FS_IOC_SETVERSION
 17 #define EXT4_IOC_GETRSVSZ               _IOR('f', 5, long)
 18 #define EXT4_IOC_SETRSVSZ               _IOW('f', 6, long)
 19 #define EXT4_IOC_GROUP_EXTEND           _IOW('f', 7, unsigned long)
 20 #define EXT4_IOC_GROUP_ADD              _IOW('f', 8, struct ext4_new_group_input)
 21 #define EXT4_IOC_MIGRATE                _IO('f', 9)
 22  /* note ioctl 10 reserved for an early version of the FIEMAP ioctl */
 23  /* note ioctl 11 reserved for filesystem-independent FIEMAP ioctl */
 24 #define EXT4_IOC_ALLOC_DA_BLKS          _IO('f', 12)
 25 #define EXT4_IOC_MOVE_EXT               _IOWR('f', 15, struct move_extent)
 26 #define EXT4_IOC_RESIZE_FS              _IOW('f', 16, __u64)
 27 #define EXT4_IOC_SWAP_BOOT              _IO('f', 17)
 28 #define EXT4_IOC_PRECACHE_EXTENTS       _IO('f', 18)
 29 /* ioctl codes 19--39 are reserved for fscrypt */
 30 #define EXT4_IOC_CLEAR_ES_CACHE         _IO('f', 40)
 31 #define EXT4_IOC_GETSTATE               _IOW('f', 41, __u32)
 32 #define EXT4_IOC_GET_ES_CACHE           _IOWR('f', 42, struct fiemap)
 33 #define EXT4_IOC_CHECKPOINT             _IOW('f', 43, __u32)
 34 #define EXT4_IOC_GETFSUUID              _IOR('f', 44, struct fsuuid)
 35 #define EXT4_IOC_SETFSUUID              _IOW('f', 44, struct fsuuid)
 36 
 37 #define EXT4_IOC_SHUTDOWN _IOR('X', 125, __u32)
 38 
 39 /*
 40  * ioctl commands in 32 bit emulation
 41  */
 42 #define EXT4_IOC32_GETVERSION           _IOR('f', 3, int)
 43 #define EXT4_IOC32_SETVERSION           _IOW('f', 4, int)
 44 #define EXT4_IOC32_GETRSVSZ             _IOR('f', 5, int)
 45 #define EXT4_IOC32_SETRSVSZ             _IOW('f', 6, int)
 46 #define EXT4_IOC32_GROUP_EXTEND         _IOW('f', 7, unsigned int)
 47 #define EXT4_IOC32_GROUP_ADD            _IOW('f', 8, struct compat_ext4_new_group_input)
 48 #define EXT4_IOC32_GETVERSION_OLD       FS_IOC32_GETVERSION
 49 #define EXT4_IOC32_SETVERSION_OLD       FS_IOC32_SETVERSION
 50 
 51 /*
 52  * Flags returned by EXT4_IOC_GETSTATE
 53  *
 54  * We only expose to userspace a subset of the state flags in
 55  * i_state_flags
 56  */
 57 #define EXT4_STATE_FLAG_EXT_PRECACHED   0x00000001
 58 #define EXT4_STATE_FLAG_NEW             0x00000002
 59 #define EXT4_STATE_FLAG_NEWENTRY        0x00000004
 60 #define EXT4_STATE_FLAG_DA_ALLOC_CLOSE  0x00000008
 61 
 62 /*
 63  * Flags for ioctl EXT4_IOC_CHECKPOINT
 64  */
 65 #define EXT4_IOC_CHECKPOINT_FLAG_DISCARD        0x1
 66 #define EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT        0x2
 67 #define EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN        0x4
 68 #define EXT4_IOC_CHECKPOINT_FLAG_VALID          (EXT4_IOC_CHECKPOINT_FLAG_DISCARD | \
 69                                                 EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT | \
 70                                                 EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN)
 71 
 72 /*
 73  * Structure for EXT4_IOC_GETFSUUID/EXT4_IOC_SETFSUUID
 74  */
 75 struct fsuuid {
 76         __u32       fsu_len;
 77         __u32       fsu_flags;
 78         __u8        fsu_uuid[];
 79 };
 80 
 81 /*
 82  * Structure for EXT4_IOC_MOVE_EXT
 83  */
 84 struct move_extent {
 85         __u32 reserved;         /* should be zero */
 86         __u32 donor_fd;         /* donor file descriptor */
 87         __u64 orig_start;       /* logical start offset in block for orig */
 88         __u64 donor_start;      /* logical start offset in block for donor */
 89         __u64 len;              /* block length to be moved */
 90         __u64 moved_len;        /* moved block length */
 91 };
 92 
 93 /*
 94  * Flags used by EXT4_IOC_SHUTDOWN
 95  */
 96 #define EXT4_GOING_FLAGS_DEFAULT                0x0     /* going down */
 97 #define EXT4_GOING_FLAGS_LOGFLUSH               0x1     /* flush log but not data */
 98 #define EXT4_GOING_FLAGS_NOLOGFLUSH             0x2     /* don't flush log nor data */
 99 
100 /* Used to pass group descriptor data when online resize is done */
101 struct ext4_new_group_input {
102         __u32 group;            /* Group number for this data */
103         __u64 block_bitmap;     /* Absolute block number of block bitmap */
104         __u64 inode_bitmap;     /* Absolute block number of inode bitmap */
105         __u64 inode_table;      /* Absolute block number of inode table start */
106         __u32 blocks_count;     /* Total number of blocks in this group */
107         __u16 reserved_blocks;  /* Number of reserved blocks in this group */
108         __u16 unused;
109 };
110 
111 /*
112  * Returned by EXT4_IOC_GET_ES_CACHE as an additional possible flag.
113  * It indicates that the entry in extent status cache is for a hole.
114  */
115 #define EXT4_FIEMAP_EXTENT_HOLE         0x08000000
116 
117 #endif /* _UAPI_LINUX_EXT4_H */
118 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php