summaryrefslogtreecommitdiffstats
path: root/src/basic/filesystems-gperf.gperf
diff options
context:
space:
mode:
Diffstat (limited to 'src/basic/filesystems-gperf.gperf')
-rw-r--r--src/basic/filesystems-gperf.gperf131
1 files changed, 131 insertions, 0 deletions
diff --git a/src/basic/filesystems-gperf.gperf b/src/basic/filesystems-gperf.gperf
new file mode 100644
index 0000000..e8c5357
--- /dev/null
+++ b/src/basic/filesystems-gperf.gperf
@@ -0,0 +1,131 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+%{
+#include <linux/magic.h>
+
+#include "filesystems.h"
+#include "missing_magic.h"
+#include "stat-util.h"
+
+struct FilesystemMagic {
+ const char *name;
+ statfs_f_type_t magic[FILESYSTEM_MAGIC_MAX];
+};
+%}
+struct FilesystemMagic;
+%language=ANSI-C
+%define hash-function-name filesystems_gperf_hash
+%define lookup-function-name filesystems_gperf_lookup
+%define slot-name name
+%readonly-tables
+%omit-struct-type
+%struct-type
+%includes
+%%
+apparmorfs, {AAFS_MAGIC}
+adfs, {ADFS_SUPER_MAGIC}
+affs, {AFFS_SUPER_MAGIC}
+afs, {AFS_FS_MAGIC, AFS_SUPER_MAGIC}
+anon_inodefs, {ANON_INODE_FS_MAGIC}
+autofs, {AUTOFS_SUPER_MAGIC}
+balloon-kvm, {BALLOON_KVM_MAGIC}
+bdev, {BDEVFS_MAGIC}
+binder, {BINDERFS_SUPER_MAGIC}
+binfmt_misc, {BINFMTFS_MAGIC}
+bpf, {BPF_FS_MAGIC}
+btrfs, {BTRFS_SUPER_MAGIC}
+btrfs_test_fs, {BTRFS_TEST_MAGIC}
+# cpuset's magic got reassigned to cgroupfs
+cpuset, {CGROUP_SUPER_MAGIC}
+ceph, {CEPH_SUPER_MAGIC}
+cgroup2, {CGROUP2_SUPER_MAGIC}
+# note that the cgroupfs magic got reassigned from cpuset
+cgroup, {CGROUP_SUPER_MAGIC}
+cifs, {CIFS_SUPER_MAGIC, SMB2_SUPER_MAGIC}
+coda, {CODA_SUPER_MAGIC}
+configfs, {CONFIGFS_MAGIC}
+cramfs, {CRAMFS_MAGIC}
+dax, {DAXFS_MAGIC}
+debugfs, {DEBUGFS_MAGIC}
+devmem, {DEVMEM_MAGIC}
+devpts, {DEVPTS_SUPER_MAGIC}
+# devtmpfs is just a special instance of tmpfs, hence it reports its magic
+devtmpfs, {TMPFS_MAGIC}
+dmabuf, {DMA_BUF_MAGIC}
+ecryptfs, {ECRYPTFS_SUPER_MAGIC}
+efivarfs, {EFIVARFS_MAGIC}
+efs, {EFS_SUPER_MAGIC}
+erofs, {EROFS_SUPER_MAGIC_V1}
+# ext2 + ext3 + ext4 use the same magic
+ext2, {EXT2_SUPER_MAGIC}
+ext3, {EXT3_SUPER_MAGIC}
+ext4, {EXT4_SUPER_MAGIC}
+exfat, {EXFAT_SUPER_MAGIC}
+f2fs, {F2FS_SUPER_MAGIC}
+# fuseblk is so closely related to fuse that it shares the same magic
+fuseblk, {FUSE_SUPER_MAGIC}
+fuse, {FUSE_SUPER_MAGIC}
+fusectl, {FUSE_CTL_SUPER_MAGIC}
+# gfs is an old version of gfs2 and reuses the magic
+gfs, {GFS2_MAGIC}
+gfs2, {GFS2_MAGIC}
+hostfs, {HOSTFS_SUPER_MAGIC}
+hpfs, {HPFS_SUPER_MAGIC}
+hugetlbfs, {HUGETLBFS_MAGIC}
+iso9660, {ISOFS_SUPER_MAGIC}
+jffs2, {JFFS2_SUPER_MAGIC}
+minix, {MINIX_SUPER_MAGIC, MINIX_SUPER_MAGIC2, MINIX2_SUPER_MAGIC, MINIX2_SUPER_MAGIC2, MINIX3_SUPER_MAGIC}
+mqueue, {MQUEUE_MAGIC}
+# msdos is an older legacy version of vfat, shares the magic
+msdos, {MSDOS_SUPER_MAGIC}
+# ncp/ncpfs have been removed from the kernel, but ncpfs was the official name
+ncp, {NCP_SUPER_MAGIC}
+ncpfs, {NCP_SUPER_MAGIC}
+# nfs is the old version of nfs4, and they share the same magic
+nfs, {NFS_SUPER_MAGIC}
+nfs4, {NFS_SUPER_MAGIC}
+nilfs2, {NILFS_SUPER_MAGIC}
+nsfs, {NSFS_MAGIC}
+ntfs, {NTFS_SB_MAGIC}
+ntfs3, {NTFS3_SUPER_MAGIC}
+ocfs2, {OCFS2_SUPER_MAGIC}
+openpromfs, {OPENPROM_SUPER_MAGIC}
+orangefs, {ORANGEFS_DEVREQ_MAGIC}
+overlay, {OVERLAYFS_SUPER_MAGIC}
+pipefs, {PIPEFS_MAGIC}
+ppc-cmm, {PPC_CMM_MAGIC}
+proc, {PROC_SUPER_MAGIC}
+pstore, {PSTOREFS_MAGIC}
+# pvfs2 is the old version of orangefs
+pvfs2, {ORANGEFS_DEVREQ_MAGIC}
+qnx4, {QNX4_SUPER_MAGIC}
+qnx6, {QNX6_SUPER_MAGIC}
+ramfs, {RAMFS_MAGIC}
+resctrl, {RDTGROUP_SUPER_MAGIC}
+reiserfs, {REISERFS_SUPER_MAGIC}
+rpc_pipefs, {RPC_PIPEFS_SUPER_MAGIC}
+secretmem, {SECRETMEM_MAGIC}
+securityfs, {SECURITYFS_MAGIC}
+selinuxfs, {SELINUX_MAGIC}
+shiftfs, {SHIFTFS_MAGIC}
+smackfs, {SMACK_MAGIC}
+# smb3 is an alias for cifs
+smb3, {CIFS_SUPER_MAGIC}
+# smbfs was removed from the kernel in 2010, the magic remains
+smbfs, {SMB_SUPER_MAGIC}
+sockfs, {SOCKFS_MAGIC}
+squashfs, {SQUASHFS_MAGIC}
+sysfs, {SYSFS_MAGIC}
+# note that devtmpfs shares the same magic with tmpfs, given it is just a special named instance of it.
+tmpfs, {TMPFS_MAGIC}
+tracefs, {TRACEFS_MAGIC}
+udf, {UDF_SUPER_MAGIC}
+usbdevfs, {USBDEVICE_SUPER_MAGIC}
+vboxsf, {VBOXSF_SUPER_MAGIC}
+# note that msdos shares the same magic (and is the older version)
+vfat, {MSDOS_SUPER_MAGIC}
+v9fs, {V9FS_MAGIC}
+xenfs, {XENFS_SUPER_MAGIC}
+xfs, {XFS_SUPER_MAGIC}
+z3fold, {Z3FOLD_MAGIC}
+zonefs, {ZONEFS_MAGIC}
+zsmalloc, {ZSMALLOC_MAGIC}