main
44ceea7 ยท 1 month ago 7 commits
 1package main
 2
 3import "fmt"
 4
 5type DiskDetails struct {
 6	Type, Total, Used, Free string
 7}
 8
 9func sizeToString(size uint64) (str string) {
10	b := float64(size)
11
12	switch {
13	case size >= 1<<60:
14		str = fmt.Sprintf("%.1fE", b/(1<<60))
15	case size >= 1<<50:
16		str = fmt.Sprintf("%.1fP", b/(1<<50))
17	case size >= 1<<40:
18		str = fmt.Sprintf("%.1fT", b/(1<<40))
19	case size >= 1<<30:
20		str = fmt.Sprintf("%.1fG", b/(1<<30))
21	case size >= 1<<20:
22		str = fmt.Sprintf("%.1fM", b/(1<<20))
23	case size >= 1<<10:
24		str = fmt.Sprintf("%.1fK", b/(1<<10))
25	default:
26		str = fmt.Sprintf("%dB", size)
27	}
28	return
29}
30
31var fsTypeMap = map[int64]string{
32	0xEF53:     "EXT2 / EXT3 / EXT4",
33	0x58465342: "XFS",
34	0x9123683E: "Btrfs",
35	0x52654973: "ReiserFS",
36	0x5346544E: "NTFS",
37	0xF995E849: "ZFS",
38	0x2FC12FC1: "ZFS (alt)",
39	0x65735546: "FUSE",
40	0x01021994: "TMPFS",
41	0x28CD3D45: "CRAMFS",
42	0x73717368: "SquashFS",
43	0x4244:     "HFS",
44	0x482B:     "HFS+",
45	0x41504653: "APFS",
46	0x6969:     "NFS",
47	0xFF534D42: "CIFS / SMB",
48	0x4D44:     "FAT",
49	0x4006:     "FAT32",
50	0xE0F5E1E2: "EXFAT",
51	0x9660:     "ISO 9660",
52	0x15013346: "UDF",
53}