From 86d7f2addaf937b9a8df3b78c8a9d1fcb8536c17 Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Mon, 8 Jun 2020 11:07:07 +0100 Subject: [PATCH] ui: crude listing of fs type. --- src/bin/system/filesystems.c | 140 ++++++++++++++++++----------------- src/bin/system/filesystems.h | 1 + src/bin/ui/ui_disk.c | 21 +++--- 3 files changed, 84 insertions(+), 78 deletions(-) diff --git a/src/bin/system/filesystems.c b/src/bin/system/filesystems.c index 80f3773..d681417 100644 --- a/src/bin/system/filesystems.c +++ b/src/bin/system/filesystems.c @@ -32,76 +32,76 @@ typedef struct { unsigned int magic; const char *name; -} _Magic; +} _magic; -static _Magic _magique[] = { - { .magic = 0xdf5, .name = "ADFS" }, - { .magic = 0xadff, .name = "AFFS" }, - { .magic = 0x5346414F, .name = "AFS" }, - { .magic = 0x0187, .name = "AUTOFS" }, - { .magic = 0x73757245, .name = "CODA" }, - { .magic = 0x28cd3d45, .name = "CRAMFS" }, - { .magic = 0x453dcd28, .name = "CRAMFS" }, - { .magic = 0x64626720, .name = "DEBUGFS" }, - { .magic = 0x73636673, .name = "SECURITYFS" }, - { .magic = 0xf97cff8c, .name = "SELINUX" }, - { .magic = 0x43415d53, .name = "SMAC" }, - { .magic = 0x858458f6, .name = "RAMFS" }, - { .magic = 0x01021994, .name = "TMPFS" }, - { .magic = 0x958458f6, .name = "HUGETLBFS" }, - { .magic = 0x73717368, .name = "SQUASHFS" }, - { .magic = 0xf15f, .name = "ECRYPTFS" }, - { .magic = 0x414A53, .name = "EFS" }, - { .magic = 0xE0F5E1E2, .name = "EROFS" }, - { .magic = 0xEF53, .name = "EXT2" }, - { .magic = 0xEF53, .name = "EXT3" }, - { .magic = 0xEF53, .name = "EXT4" }, - { .magic = 0xabba1974, .name = "XENFS" }, - { .magic = 0x9123683E, .name = "BTRFS" }, - { .magic = 0x3434, .name = "NILFS" }, - { .magic = 0xF2F52010, .name = "F2FS" }, - { .magic = 0xf995e849, .name = "HPFS" }, - { .magic = 0x9660, .name = "ISOFS" }, - { .magic = 0x72b6, .name = "JFFS2" }, - { .magic = 0x58465342, .name = "XFS" }, - { .magic = 0x6165676C, .name = "PSTOREFS" }, - { .magic = 0xde5e81e4, .name = "EFIVARFS" }, - { .magic = 0x00c0ffee, .name = "HOSTFS" }, - { .magic = 0x794c7630, .name = "OVERLAYFS" }, - { .magic = 0x137F, .name = "MINIX" }, - { .magic = 0x138F, .name = "MINIX" }, - { .magic = 0x2468, .name = "MINIX2" }, - { .magic = 0x2478, .name = "MINIX2" }, - { .magic = 0x4d5a, .name = "MINIX3" }, - { .magic = 0x4d44, .name = "MSDOS" }, - { .magic = 0x564c, .name = "NCP" }, - { .magic = 0x6969, .name = "NFS" }, - { .magic = 0x7461636f, .name = "OCFS2" }, - { .magic = 0x9fa1, .name = "OPENPROM" }, - { .magic = 0x002f, .name = "QNX4" }, - { .magic = 0x68191122, .name = "QNX6" }, - { .magic = 0x6B414653, .name = "AFS FS" }, - { .magic = 0x52654973, .name = "REISERFS" }, - { .magic = 0x517B, .name = "SMB" }, - { .magic = 0x27e0eb, .name = "CGROUP" }, - { .magic = 0x63677270, .name = "CGROUP2" }, - { .magic = 0x7655821, .name = "RDTGROUP" }, - { .magic = 0x74726163, .name = "TRACEFS" }, - { .magic = 0x01021997, .name = "V9FS" }, - { .magic = 0x62646576, .name = "BDEVFS" }, - { .magic = 0x64646178, .name = "DAXFS" }, - { .magic = 0x42494e4d, .name = "BINFMTFS" }, - { .magic = 0x1cd1, .name = "DEVPTS" }, - { .magic = 0x6c6f6f70, .name = "BINDERFS" }, - { .magic = 0x50495045, .name = "PIPEFS" }, - { .magic = 0x62656572, .name = "SYSFS" }, - { .magic = 0x6e736673, .name = "NSFS" }, - { .magic = 0xcafe4a11, .name = "BPF FS" }, - { .magic = 0x5a3c69f0, .name = "AAFS" }, - { .magic = 0x5a4f4653, .name = "ZONEFS" }, - { .magic = 0x15013346, .name = "UDF" }, - { .magic = 0x2Fc12Fc1, .name = "ZFS" }, - { .magic = 0x482B, .name = "HFS+" }, +static _magic _magique[] = { + { .magic = 0xdf5, .name = "adfs" }, + { .magic = 0xadff, .name = "affs" }, + { .magic = 0x5346414f, .name = "afs" }, + { .magic = 0x0187, .name = "autofs" }, + { .magic = 0x73757245, .name = "coda" }, + { .magic = 0x28cd3d45, .name = "cramfs" }, + { .magic = 0x453dcd28, .name = "cramfs" }, + { .magic = 0x64626720, .name = "debugfs" }, + { .magic = 0x73636673, .name = "securityfs" }, + { .magic = 0xf97cff8c, .name = "selinux" }, + { .magic = 0x43415d53, .name = "smac" }, + { .magic = 0x858458f6, .name = "ramfs" }, + { .magic = 0x01021994, .name = "tmpfs" }, + { .magic = 0x958458f6, .name = "hugetlbfs" }, + { .magic = 0x73717368, .name = "squashfs" }, + { .magic = 0xf15f, .name = "ecryptfs" }, + { .magic = 0x414a53, .name = "efs" }, + { .magic = 0xe0f5e1e2, .name = "erofs" }, + { .magic = 0xef53, .name = "ext2/3/4" }, + { .magic = 0xef53, .name = "ext2/3/4" }, + { .magic = 0xef53, .name = "ext2/3/4" }, + { .magic = 0xabba1974, .name = "xenfs" }, + { .magic = 0x9123683e, .name = "btrfs" }, + { .magic = 0x3434, .name = "nilfs" }, + { .magic = 0xf2f52010, .name = "f2fs" }, + { .magic = 0xf995e849, .name = "hpfs" }, + { .magic = 0x9660, .name = "isofs" }, + { .magic = 0x72b6, .name = "jffs2" }, + { .magic = 0x58465342, .name = "xfs" }, + { .magic = 0x6165676c, .name = "pstorefs" }, + { .magic = 0xde5e81e4, .name = "efivarfs" }, + { .magic = 0x00c0ffee, .name = "hostfs" }, + { .magic = 0x794c7630, .name = "overlayfs" }, + { .magic = 0x137f, .name = "minix" }, + { .magic = 0x138f, .name = "minix" }, + { .magic = 0x2468, .name = "minix2" }, + { .magic = 0x2478, .name = "minix2" }, + { .magic = 0x4d5a, .name = "minix3" }, + { .magic = 0x4d44, .name = "msdos" }, + { .magic = 0x564c, .name = "ncp" }, + { .magic = 0x6969, .name = "nfs" }, + { .magic = 0x7461636f, .name = "ocfs2" }, + { .magic = 0x9fa1, .name = "openprom" }, + { .magic = 0x002f, .name = "qnx4" }, + { .magic = 0x68191122, .name = "qnx6" }, + { .magic = 0x6b414653, .name = "afs fs" }, + { .magic = 0x52654973, .name = "reiserfs" }, + { .magic = 0x517b, .name = "smb" }, + { .magic = 0x27e0eb, .name = "cgroup" }, + { .magic = 0x63677270, .name = "cgroup2" }, + { .magic = 0x7655821, .name = "rdtgroup" }, + { .magic = 0x74726163, .name = "tracefs" }, + { .magic = 0x01021997, .name = "v9fs" }, + { .magic = 0x62646576, .name = "bdevfs" }, + { .magic = 0x64646178, .name = "daxfs" }, + { .magic = 0x42494e4d, .name = "binfmtfs" }, + { .magic = 0x1cd1, .name = "devpts" }, + { .magic = 0x6c6f6f70, .name = "binderfs" }, + { .magic = 0x50495045, .name = "pipefs" }, + { .magic = 0x62656572, .name = "sysfs" }, + { .magic = 0x6e736673, .name = "nsfs" }, + { .magic = 0xcafe4a11, .name = "bpf fs" }, + { .magic = 0x5a3c69f0, .name = "aafs" }, + { .magic = 0x5a4f4653, .name = "zonefs" }, + { .magic = 0x15013346, .name = "udf" }, + { .magic = 0x2fc12fc1, .name = "zfs" }, + { .magic = 0x482b, .name = "hfs+" }, }; unsigned int @@ -155,6 +155,8 @@ filesystem_info_free(Filesystem_Info *fs) { free(fs->mount); free(fs->path); + if (fs->type_name) + free(fs->type_name); free(fs); } diff --git a/src/bin/system/filesystems.h b/src/bin/system/filesystems.h index 95e1c7f..e0f0d18 100644 --- a/src/bin/system/filesystems.h +++ b/src/bin/system/filesystems.h @@ -11,6 +11,7 @@ typedef struct { typedef struct _Filesystem_Info { char *path; char *mount; + char *type_name; unsigned int type; _Usage usage; } Filesystem_Info; diff --git a/src/bin/ui/ui_disk.c b/src/bin/ui/ui_disk.c index 0d70624..26b35c4 100644 --- a/src/bin/ui/ui_disk.c +++ b/src/bin/ui/ui_disk.c @@ -38,12 +38,15 @@ ui_tab_disk_add(Ui *ui) } static void -_ui_disk_add(Ui *ui, const char *path, const char *mount, unsigned long total, - unsigned long used) +_ui_disk_add(Ui *ui, Filesystem_Info *inf) { Evas_Object *box, *frame, *progress, *label; + const char *type; double ratio, value; + type = filesystem_name_by_id(inf->type); + if (!type) type = "unknown"; + box = elm_box_add(ui->disk_activity); evas_object_size_hint_align_set(box, FILL, FILL); evas_object_size_hint_weight_set(box, EXPAND, EXPAND); @@ -54,10 +57,10 @@ _ui_disk_add(Ui *ui, const char *path, const char *mount, unsigned long total, evas_object_size_hint_weight_set(label, EXPAND, EXPAND); elm_object_text_set(label, eina_slstr_printf(_( - "%s
mounted at %s" + "%s
mounted at %s (%s)" "
%s of %s"), - path, mount, evisum_size_format(used), - evisum_size_format(total))); + inf->path, inf->mount, type, evisum_size_format(inf->usage.used), + evisum_size_format(inf->usage.total))); evas_object_show(label); elm_box_pack_end(box, label); @@ -67,10 +70,10 @@ _ui_disk_add(Ui *ui, const char *path, const char *mount, unsigned long total, elm_progressbar_span_size_set(progress, 1.0); evas_object_show(progress); - ratio = total / 100.0; - value = used / ratio; + ratio = inf->usage.total / 100.0; + value = inf->usage.used / ratio; - if (used == 0 && total == 0) + if (inf->usage.used == 0 && inf->usage.total == 0) elm_progressbar_value_set(progress, 1.0); else elm_progressbar_value_set(progress, value / 100.0); @@ -111,7 +114,7 @@ ui_tab_disk_update(Ui *ui) if (fs->type == filesystem_id_by_name("ZFS")) zfs_mounted = EINA_TRUE; - _ui_disk_add(ui, fs->path, fs->mount, fs->usage.total, fs->usage.used); + _ui_disk_add(ui, fs); filesystem_info_free(fs); } free(path);