]> git.proxmox.com Git - systemd.git/blob - src/basic/filesystems-gperf.gperf
New upstream version 250~rc3
[systemd.git] / src / basic / filesystems-gperf.gperf
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 %{
3 #include <linux/magic.h>
4
5 #include "filesystems.h"
6 #include "missing_magic.h"
7 #include "stat-util.h"
8
9 struct FilesystemMagic {
10 const char *name;
11 statfs_f_type_t magic[FILESYSTEM_MAGIC_MAX];
12 };
13 %}
14 struct FilesystemMagic;
15 %language=ANSI-C
16 %define hash-function-name filesystems_gperf_hash
17 %define lookup-function-name filesystems_gperf_lookup
18 %define slot-name name
19 %readonly-tables
20 %omit-struct-type
21 %struct-type
22 %includes
23 %%
24 apparmorfs, {AAFS_MAGIC}
25 adfs, {ADFS_SUPER_MAGIC}
26 affs, {AFFS_SUPER_MAGIC}
27 afs, {AFS_FS_MAGIC, AFS_SUPER_MAGIC}
28 anon_inodefs, {ANON_INODE_FS_MAGIC}
29 autofs, {AUTOFS_SUPER_MAGIC}
30 balloon-kvm, {BALLOON_KVM_MAGIC}
31 bdev, {BDEVFS_MAGIC}
32 binder, {BINDERFS_SUPER_MAGIC}
33 binfmt_misc, {BINFMTFS_MAGIC}
34 bpf, {BPF_FS_MAGIC}
35 btrfs, {BTRFS_SUPER_MAGIC}
36 btrfs_test_fs, {BTRFS_TEST_MAGIC}
37 # cpuset's magic got reassigned to cgroupfs
38 cpuset, {CGROUP_SUPER_MAGIC}
39 ceph, {CEPH_SUPER_MAGIC}
40 cgroup2, {CGROUP2_SUPER_MAGIC}
41 # note that the cgroupfs magic got reassigned from cpuset
42 cgroup, {CGROUP_SUPER_MAGIC}
43 cifs, {CIFS_MAGIC_NUMBER}
44 coda, {CODA_SUPER_MAGIC}
45 configfs, {CONFIGFS_MAGIC}
46 cramfs, {CRAMFS_MAGIC}
47 dax, {DAXFS_MAGIC}
48 debugfs, {DEBUGFS_MAGIC}
49 devmem, {DEVMEM_MAGIC}
50 devpts, {DEVPTS_SUPER_MAGIC}
51 # devtmpfs is just a special instance of tmpfs, hence it reports its magic
52 devtmpfs, {TMPFS_MAGIC}
53 dmabuf, {DMA_BUF_MAGIC}
54 ecryptfs, {ECRYPTFS_SUPER_MAGIC}
55 efivarfs, {EFIVARFS_MAGIC}
56 efs, {EFS_SUPER_MAGIC}
57 erofs, {EROFS_SUPER_MAGIC_V1}
58 # ext2 + ext3 + ext4 use the same magic
59 ext2, {EXT2_SUPER_MAGIC}
60 ext3, {EXT3_SUPER_MAGIC}
61 ext4, {EXT4_SUPER_MAGIC}
62 exfat, {EXFAT_SUPER_MAGIC}
63 f2fs, {F2FS_SUPER_MAGIC}
64 # fuseblk is so closely related to fuse that it shares the same magic
65 fuseblk, {FUSE_SUPER_MAGIC}
66 fuse, {FUSE_SUPER_MAGIC}
67 fusectl, {FUSE_CTL_SUPER_MAGIC}
68 # gfs is an old version of gfs2 and reuses the magic
69 gfs, {GFS2_MAGIC}
70 gfs2, {GFS2_MAGIC}
71 hostfs, {HOSTFS_SUPER_MAGIC}
72 hpfs, {HPFS_SUPER_MAGIC}
73 hugetlbfs, {HUGETLBFS_MAGIC}
74 iso9660, {ISOFS_SUPER_MAGIC}
75 jffs2, {JFFS2_SUPER_MAGIC}
76 minix, {MINIX_SUPER_MAGIC, MINIX_SUPER_MAGIC2, MINIX2_SUPER_MAGIC, MINIX2_SUPER_MAGIC2, MINIX3_SUPER_MAGIC}
77 mqueue, {MQUEUE_MAGIC}
78 # msdos is an older legacy version of vfat, shares the magic
79 msdos, {MSDOS_SUPER_MAGIC}
80 # ncp/ncpfs have been removed from the kernel, but ncpfs was the official name
81 ncp, {NCP_SUPER_MAGIC}
82 ncpfs, {NCP_SUPER_MAGIC}
83 # nfs is the old version of nfs4, and they share the same magic
84 nfs, {NFS_SUPER_MAGIC}
85 nfs4, {NFS_SUPER_MAGIC}
86 nilfs2, {NILFS_SUPER_MAGIC}
87 nsfs, {NSFS_MAGIC}
88 ntfs, {NTFS_SB_MAGIC}
89 ntfs3, {NTFS3_SUPER_MAGIC}
90 ocfs2, {OCFS2_SUPER_MAGIC}
91 openpromfs, {OPENPROM_SUPER_MAGIC}
92 orangefs, {ORANGEFS_DEVREQ_MAGIC}
93 overlay, {OVERLAYFS_SUPER_MAGIC}
94 pipefs, {PIPEFS_MAGIC}
95 ppc-cmm, {PPC_CMM_MAGIC}
96 proc, {PROC_SUPER_MAGIC}
97 pstore, {PSTOREFS_MAGIC}
98 # pvfs2 is the old version of orangefs
99 pvfs2, {ORANGEFS_DEVREQ_MAGIC}
100 qnx4, {QNX4_SUPER_MAGIC}
101 qnx6, {QNX6_SUPER_MAGIC}
102 ramfs, {RAMFS_MAGIC}
103 resctrl, {RDTGROUP_SUPER_MAGIC}
104 reiserfs, {REISERFS_SUPER_MAGIC}
105 rpc_pipefs, {RPC_PIPEFS_SUPER_MAGIC}
106 secretmem, {SECRETMEM_MAGIC}
107 securityfs, {SECURITYFS_MAGIC}
108 selinuxfs, {SELINUX_MAGIC}
109 shiftfs, {SHIFTFS_MAGIC}
110 smackfs, {SMACK_MAGIC}
111 # smb3 is an alias for cifs
112 smb3, {CIFS_MAGIC_NUMBER}
113 # smbfs was removed from the kernel in 2010, the magic remains
114 smbfs, {SMB_SUPER_MAGIC}
115 sockfs, {SOCKFS_MAGIC}
116 squashfs, {SQUASHFS_MAGIC}
117 sysfs, {SYSFS_MAGIC}
118 # note that devtmpfs shares the same magic with tmpfs, given it is just a special named instance of it.
119 tmpfs, {TMPFS_MAGIC}
120 tracefs, {TRACEFS_MAGIC}
121 udf, {UDF_SUPER_MAGIC}
122 usbdevfs, {USBDEVICE_SUPER_MAGIC}
123 vboxsf, {VBOXSF_SUPER_MAGIC}
124 # note that msdos shares the same magic (and is the older version)
125 vfat, {MSDOS_SUPER_MAGIC}
126 v9fs, {V9FS_MAGIC}
127 xenfs, {XENFS_SUPER_MAGIC}
128 xfs, {XFS_SUPER_MAGIC}
129 z3fold, {Z3FOLD_MAGIC}
130 zonefs, {ZONEFS_MAGIC}
131 zsmalloc, {ZSMALLOC_MAGIC}