1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 /* This is currently not exported in the public kernel headers, but the libxfs library code part of xfsprogs
5  * defines it as public header */
6 
7 #ifndef XFS_IOC_FSGEOMETRY
8 #define XFS_IOC_FSGEOMETRY _IOR ('X', 124, struct xfs_fsop_geom)
9 
10 typedef struct xfs_fsop_geom {
11         uint32_t blocksize;
12         uint32_t rtextsize;
13         uint32_t agblocks;
14         uint32_t agcount;
15         uint32_t logblocks;
16         uint32_t sectsize;
17         uint32_t inodesize;
18         uint32_t imaxpct;
19         uint64_t datablocks;
20         uint64_t rtblocks;
21         uint64_t rtextents;
22         uint64_t logstart;
23         unsigned char uuid[16];
24         uint32_t sunit;
25         uint32_t swidth;
26         int32_t version;
27         uint32_t flags;
28         uint32_t logsectsize;
29         uint32_t rtsectsize;
30         uint32_t dirblocksize;
31         uint32_t logsunit;
32 } xfs_fsop_geom_t;
33 #endif
34 
35 #ifndef XFS_IOC_FSGROWFSDATA
36 #define XFS_IOC_FSGROWFSDATA _IOW ('X', 110, struct xfs_growfs_data)
37 
38 typedef struct xfs_growfs_data {
39         uint64_t newblocks;
40         uint32_t imaxpct;
41 } xfs_growfs_data_t;
42 #endif
43