gpllib/disk: Massive updates of fs labels
authorErwan Velu <erwanaliasr1@gmail.com>
Thu, 22 Dec 2011 22:23:06 +0000 (23:23 +0100)
committerErwan Velu <erwanaliasr1@gmail.com>
Thu, 22 Dec 2011 22:23:06 +0000 (23:23 +0100)
Inspired by Gerth and updated from both fdisk list & also from
http://www.win.tue.nl/~aeb/partitions/partition_types-1.html

com32/gpllib/disk/labels.c

index ad3d33b..f27ff65 100644 (file)
@@ -36,29 +36,29 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer, "DOS 3.31+ 16-bit FAT (over 32M)", buffer_size);
        break;
     case 0x07:
-       strlcpy(buffer, "OS/2 IFS (e.g., HPFS)", buffer_size);
-       break;
+       strlcpy(buffer, "NTFS/exFAT/HPFS", buffer_size);
        //case 0x07: strlcpy(buffer, "Advanced Unix", buffer_size); break;
        //case 0x07: strlcpy(buffer, "Windows NT NTFS", buffer_size); break;
        //case 0x07: strlcpy(buffer, "QNX2.x (pre-1988)", buffer_size); break;
-    case 0x08:
-       strlcpy(buffer, "OS/2 (v1.0-1.3 only)", buffer_size);
        break;
+    case 0x08:
+       strlcpy(buffer, "AIX", buffer_size);
        //case 0x08: strlcpy(buffer, "AIX boot partition", buffer_size); break;
        //case 0x08: strlcpy(buffer, "SplitDrive", buffer_size); break;
        //case 0x08: strlcpy(buffer, "DELL partition spanning multiple drives", buffer_size); break;
        //case 0x08: strlcpy(buffer, "Commodore DOS", buffer_size); break;
        //case 0x08: strlcpy(buffer, "QNX 1.x and 2.x ("qny")", buffer_size); break;
-    case 0x09:
-       strlcpy(buffer, "AIX data partition", buffer_size);
        break;
+    case 0x09:
+       strlcpy(buffer, "AIX bootable partition", buffer_size);
        //case 0x09: strlcpy(buffer, "Coherent filesystem", buffer_size); break;
        //case 0x09: strlcpy(buffer, "QNX 1.x and 2.x ("qnz")", buffer_size); break;
+       break;
     case 0x0a:
        strlcpy(buffer, "OS/2 Boot Manager", buffer_size);
-       break;
        //case 0x0a: strlcpy(buffer, "Coherent swap partition", buffer_size); break;
        //case 0x0a: strlcpy(buffer, "OPUS", buffer_size); break;
+       break;
     case 0x0b:
        strlcpy(buffer, "WIN95 OSR2 32-bit FAT", buffer_size);
        break;
@@ -72,13 +72,13 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer, "WIN95: Extended partition, LBA-mapped", buffer_size);
        break;
     case 0x10:
-       strlcpy(buffer, "OPUS (?)", buffer_size);
+       strlcpy(buffer, "OPUS", buffer_size);
        break;
     case 0x11:
        strlcpy(buffer, "Hidden DOS 12-bit FAT", buffer_size);
        break;
     case 0x12:
-       strlcpy(buffer, "Compaq config partition", buffer_size);
+       strlcpy(buffer, "Compaq diagnostic partition", buffer_size);
        break;
     case 0x14:
        strlcpy(buffer, "Hidden DOS 16-bit FAT <32M", buffer_size);
@@ -87,7 +87,7 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer, "Hidden DOS 16-bit FAT >=32M", buffer_size);
        break;
     case 0x17:
-       strlcpy(buffer, "Hidden IFS (e.g., HPFS)", buffer_size);
+       strlcpy(buffer, "Hidden HPFS/exFAT/NTFS", buffer_size);
        break;
     case 0x18:
        strlcpy(buffer, "AST SmartSleep Partition", buffer_size);
@@ -111,8 +111,8 @@ void get_label(int label, char **buffer_label)
        break;
     case 0x21:
        strlcpy(buffer, "Reserved", buffer_size);
-       break;
        //case 0x21: strlcpy(buffer, "Unused", buffer_size); break;
+       break;
     case 0x22:
        strlcpy(buffer, "Unused", buffer_size);
        break;
@@ -125,6 +125,18 @@ void get_label(int label, char **buffer_label)
     case 0x26:
        strlcpy(buffer, "Reserved", buffer_size);
        break;
+    case 0x27:
+       strlcpy(buffer, "PQService (Acer laptop hidden rescue partition)", buffer_size);
+       //Windows RE hidden partition
+       //MirOS BSD partition
+       //RouterBOOT kernel partition
+       break;
+    case 0x2a:
+       strlcpy(buffer, "AtheOS File System (AFS)", buffer_size);
+       break;
+    case 0x2b:
+       strlcpy(buffer, "SyllableSecure (SylStor)", buffer_size);
+       break;
     case 0x31:
        strlcpy(buffer, "Reserved", buffer_size);
        break;
@@ -148,8 +160,8 @@ void get_label(int label, char **buffer_label)
        break;
     case 0x39:
        strlcpy(buffer, "Plan 9 partition", buffer_size);
-       break;
        //case 0x39: strlcpy(buffer, "THEOS ver 4 spanned partition", buffer_size); break;
+       break;
     case 0x3a:
        strlcpy(buffer, "THEOS ver 4 4gb partition", buffer_size);
        break;
@@ -166,15 +178,15 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer, "Venix 80286", buffer_size);
        break;
     case 0x41:
-       strlcpy(buffer, "Linux/MINIX (sharing disk with DRDOS)", buffer_size);
-       break;
+       strlcpy(buffer, "PPC PReP Boot", buffer_size); break;
        //case 0x41: strlcpy(buffer, "Personal RISC Boot", buffer_size); break;
-       //case 0x41: strlcpy(buffer, "PPC PReP (Power PC Reference Platform) Boot", buffer_size); break;
-    case 0x42:
-       strlcpy(buffer, "Linux swap (sharing disk with DRDOS)", buffer_size);
+       // strlcpy(buffer, "Linux/MINIX (sharing disk with DRDOS)", buffer_size);
        break;
-       //case 0x42: strlcpy(buffer, "SFS (Secure Filesystem)", buffer_size); break;
+    case 0x42:
+       strlcpy(buffer, "SFS (Secure Filesystem)", buffer_size); break;
+       // strlcpy(buffer, "Linux swap (sharing disk with DRDOS)", buffer_size);
        //case 0x42: strlcpy(buffer, "Windows 2000 marker", buffer_size); break;
+       break;
     case 0x43:
        strlcpy(buffer, "Linux native (sharing disk with DRDOS)", buffer_size);
        break;
@@ -183,9 +195,9 @@ void get_label(int label, char **buffer_label)
        break;
     case 0x45:
        strlcpy(buffer, "Boot-US boot manager", buffer_size);
-       break;
        //case 0x45: strlcpy(buffer, "Priam", buffer_size); break;
        //case 0x45: strlcpy(buffer, "EUMEL/Elan", buffer_size); break;
+       break;
     case 0x46:
        strlcpy(buffer, "EUMEL/Elan", buffer_size);
        break;
@@ -197,8 +209,8 @@ void get_label(int label, char **buffer_label)
        break;
     case 0x4a:
        strlcpy(buffer, "AdaOS Aquila (Default)", buffer_size);
-       break;
        //case 0x4a: strlcpy(buffer, "ALFS/THIN lightweight filesystem for DOS", buffer_size); break;
+       break;
     case 0x4c:
        strlcpy(buffer, "Oberon partition", buffer_size);
        break;
@@ -210,22 +222,22 @@ void get_label(int label, char **buffer_label)
        break;
     case 0x4f:
        strlcpy(buffer, "QNX4.x 3rd part", buffer_size);
-       break;
        //case 0x4f: strlcpy(buffer, "Oberon partition", buffer_size); break;
+       break;
     case 0x50:
        strlcpy(buffer, "OnTrack Disk Manager (older versions) RO",
                buffer_size);
-       break;
        //case 0x50: strlcpy(buffer, "Lynx RTOS", buffer_size); break;
        //case 0x50: strlcpy(buffer, "Native Oberon (alt)", buffer_size); break;
+       break;
     case 0x51:
        strlcpy(buffer, "OnTrack Disk Manager RW (DM6 Aux1)", buffer_size);
-       break;
        //case 0x51: strlcpy(buffer, "Novell", buffer_size); break;
+       break;
     case 0x52:
        strlcpy(buffer, "CP/M", buffer_size);
-       break;
        //case 0x52: strlcpy(buffer, "Microport SysV/AT", buffer_size); break;
+       break;
     case 0x53:
        strlcpy(buffer, "Disk Manager 6.0 Aux3", buffer_size);
        break;
@@ -237,12 +249,12 @@ void get_label(int label, char **buffer_label)
        break;
     case 0x56:
        strlcpy(buffer, "Golden Bow VFeature Partitioned Volume.", buffer_size);
-       break;
        //case 0x56: strlcpy(buffer, "DM converted to EZ-BIOS", buffer_size); break;
+       break;
     case 0x57:
        strlcpy(buffer, "DrivePro", buffer_size);
-       break;
        //case 0x57: strlcpy(buffer, "VNDI Partition", buffer_size); break;
+       break;
     case 0x5c:
        strlcpy(buffer, "Priam EDisk", buffer_size);
        break;
@@ -255,9 +267,9 @@ void get_label(int label, char **buffer_label)
                buffer_size);
        break;
     case 0x64:
-       strlcpy(buffer, "PC-ARMOUR protected partition", buffer_size);
+       strlcpy(buffer, "Novell Netware 286, 2.xx", buffer_size); break;
+       //strlcpy(buffer, "PC-ARMOUR protected partition", buffer_size);
        break;
-       //case 0x64: strlcpy(buffer, "Novell Netware 286, 2.xx", buffer_size); break;
     case 0x65:
        strlcpy(buffer, "Novell Netware 386, 3.xx or 4.xx", buffer_size);
        break;
@@ -280,13 +292,15 @@ void get_label(int label, char **buffer_label)
     case 0x71:
        strlcpy(buffer, "Reserved", buffer_size);
        break;
+    case 0x72:
+       strlcpy(buffer, "V7/x86", buffer_size);
+       break;
     case 0x73:
        strlcpy(buffer, "Reserved", buffer_size);
        break;
     case 0x74:
-       strlcpy(buffer, "Reserved", buffer_size);
-       break;
-       //case 0x74: strlcpy(buffer, "Scramdisk partition", buffer_size); break;
+       //strlcpy(buffer, "Reserved", buffer_size);
+       strlcpy(buffer, "Scramdisk partition", buffer_size); break;
     case 0x75:
        strlcpy(buffer, "IBM PC/IX", buffer_size);
        break;
@@ -301,37 +315,40 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer, "XOSL FS", buffer_size);
        break;
     case 0x7E:
-       strlcpy(buffer, " ", buffer_size);
+       strlcpy(buffer, "Unused", buffer_size);
        break;
     case 0x80:
        strlcpy(buffer, "MINIX until 1.4a", buffer_size);
        break;
     case 0x81:
        strlcpy(buffer, "MINIX since 1.4b, early Linux", buffer_size);
-       break;
        //case 0x81: strlcpy(buffer, "Mitac disk manager", buffer_size); break;
-       //case 0x82: strlcpy(buffer, "Prime", buffer_size); break;
-       //case 0x82: strlcpy(buffer, "Solaris x86", buffer_size); break;
+       break;
     case 0x82:
        strlcpy(buffer, "Linux swap", buffer_size);
+       //case 0x82: strlcpy(buffer, "Prime", buffer_size); break;
+       //case 0x82: strlcpy(buffer, "Solaris x86", buffer_size); break;
        break;
     case 0x83:
        strlcpy(buffer, "Linux native (usually ext2fs)", buffer_size);
        break;
     case 0x84:
        strlcpy(buffer, "OS/2 hidden C: drive", buffer_size);
-       break;
        //case 0x84: strlcpy(buffer, "Hibernation partition", buffer_size); break;
+       break;
     case 0x85:
        strlcpy(buffer, "Linux extended partition", buffer_size);
        break;
-       //case 0x86: strlcpy(buffer, "Old Linux RAID partition superblock", buffer_size); break;
     case 0x86:
        strlcpy(buffer, "NTFS volume set", buffer_size);
+       //case 0x86: strlcpy(buffer, "Old Linux RAID partition superblock", buffer_size); break;
        break;
     case 0x87:
        strlcpy(buffer, "NTFS volume set", buffer_size);
        break;
+    case 0x88:
+       strlcpy(buffer, "Linux Plaintext", buffer_size);
+       break;
     case 0x8a:
        strlcpy(buffer, "Linux Kernel Partition (used by AiR-BOOT)",
                buffer_size);
@@ -349,7 +366,7 @@ void get_label(int label, char **buffer_label)
                buffer_size);
        break;
     case 0x8e:
-       strlcpy(buffer, "Linux Logical Volume Manager partition", buffer_size);
+       strlcpy(buffer, "Linux LVM partition", buffer_size);
        break;
     case 0x90:
        strlcpy(buffer, "Free FDISK hidden Primary DOS FAT16 partitition",
@@ -365,14 +382,17 @@ void get_label(int label, char **buffer_label)
        break;
     case 0x93:
        strlcpy(buffer, "Hidden Linux native partition", buffer_size);
-       break;
        //case 0x93: strlcpy(buffer, "Amoeba", buffer_size); break;
+       break;
     case 0x94:
        strlcpy(buffer, "Amoeba bad block table", buffer_size);
        break;
     case 0x95:
        strlcpy(buffer, "MIT EXOPC native partitions", buffer_size);
        break;
+    case 0x96:
+       strlcpy(buffer, "CHRP ISO-9660 filesystem", buffer_size);
+       break;
     case 0x97:
        strlcpy(buffer, "Free FDISK hidden Primary DOS FAT32 partitition",
                buffer_size);
@@ -392,6 +412,9 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer, "Free FDISK hidden DOS extended partitition (LBA)",
                buffer_size);
        break;
+    case 0x9e:
+       strlcpy(buffer, "ForthOS partition", buffer_size);
+       break;
     case 0x9f:
        strlcpy(buffer, "BSD/OS", buffer_size);
        break;
@@ -400,13 +423,13 @@ void get_label(int label, char **buffer_label)
        break;
     case 0xa1:
        strlcpy(buffer, "Laptop hibernation partition", buffer_size);
-       break;
        //case 0xa1: strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size); break;
+       break;
     case 0xa3:
-       strlcpy(buffer, "Reserved", buffer_size);
+       strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
        break;
     case 0xa4:
-       strlcpy(buffer, "Reserved", buffer_size);
+       strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
        break;
     case 0xa5:
        strlcpy(buffer, "BSD/386, 386BSD, NetBSD, FreeBSD", buffer_size);
@@ -415,7 +438,7 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer, "OpenBSD", buffer_size);
        break;
     case 0xa7:
-       strlcpy(buffer, "NEXTSTEP", buffer_size);
+       strlcpy(buffer, "NeXTSTEP", buffer_size);
        break;
     case 0xa8:
        strlcpy(buffer, "Mac OS-X", buffer_size);
@@ -429,8 +452,8 @@ void get_label(int label, char **buffer_label)
        break;
     case 0xab:
        strlcpy(buffer, "Mac OS-X Boot partition", buffer_size);
-       break;
        //case 0xab: strlcpy(buffer, "GO! partition", buffer_size); break;
+       break;
     case 0xae:
        strlcpy(buffer, "ShagOS filesystem", buffer_size);
        break;
@@ -441,16 +464,19 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer, "BootStar Dummy", buffer_size);
        break;
     case 0xb1:
-       strlcpy(buffer, "Reserved", buffer_size);
+       strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
+       break;
+    case 0xb2:
+       strlcpy(buffer, "QNX Neutrino Power-Safe filesystem", buffer_size);
        break;
     case 0xb3:
-       strlcpy(buffer, "Reserved", buffer_size);
+       strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
        break;
     case 0xb4:
-       strlcpy(buffer, "Reserved", buffer_size);
+       strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
        break;
     case 0xb6:
-       strlcpy(buffer, "Reserved", buffer_size);
+       strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
        break;
     case 0xb7:
        strlcpy(buffer, "BSDI BSD/386 filesystem", buffer_size);
@@ -461,21 +487,27 @@ void get_label(int label, char **buffer_label)
     case 0xbb:
        strlcpy(buffer, "Boot Wizard hidden", buffer_size);
        break;
+    case 0xbc:
+       strlcpy(buffer, "Acronis backup partition", buffer_size);
+       break;
     case 0xbe:
        strlcpy(buffer, "Solaris 8 boot partition", buffer_size);
        break;
+    case 0xbf:
+       strlcpy(buffer, "Solaris partition", buffer_size);
+       break;
     case 0xc0:
        strlcpy(buffer, "CTOS", buffer_size);
-       break;
        //case 0xc0: strlcpy(buffer, "REAL/32 secure small partition", buffer_size); break;
        //case 0xc0: strlcpy(buffer, "NTFT Partition", buffer_size); break;
+       break;
     case 0xc1:
        strlcpy(buffer, "DRDOS/secured (FAT-12)", buffer_size);
        break;
     case 0xc2:
-       strlcpy(buffer, "Reserved for DR-DOS 7+", buffer_size);
+       strlcpy(buffer, "Hidden Linux", buffer_size); break;
+       //strlcpy(buffer, "Reserved for DR-DOS 7+", buffer_size);
        break;
-       //case 0xc2: strlcpy(buffer, "Hidden Linux", buffer_size); break;
     case 0xc3:
        strlcpy(buffer, "Hidden Linux swap", buffer_size);
        break;
@@ -487,21 +519,21 @@ void get_label(int label, char **buffer_label)
        break;
     case 0xc6:
        strlcpy(buffer, "DRDOS/secured (FAT-16, >= 32M)", buffer_size);
-       break;
        //case 0xc6: strlcpy(buffer, "Windows NT corrupted FAT16 volume/stripe set", buffer_size); break;
+       break;
     case 0xc7:
        strlcpy(buffer, "Windows NT corrupted NTFS volume/stripe set",
                buffer_size);
-       break;
        //case 0xc7: strlcpy(buffer, "Syrinx boot", buffer_size); break;
+       break;
     case 0xc8:
-       strlcpy(buffer, "(See also ID c2.)", buffer_size);
+       strlcpy(buffer, "Reserved for DR-DOS 8.0+", buffer_size);
        break;
     case 0xc9:
-       strlcpy(buffer, "(See also ID c2.)", buffer_size);
+       strlcpy(buffer, "Reserved for DR-DOS 8.0+", buffer_size);
        break;
     case 0xca:
-       strlcpy(buffer, "(See also ID c2.)", buffer_size);
+       strlcpy(buffer, "Reserved for DR-DOS 8.0+", buffer_size);
        break;
     case 0xcb:
        strlcpy(buffer, "reserved for DRDOS/secured (FAT32)", buffer_size);
@@ -515,6 +547,9 @@ void get_label(int label, char **buffer_label)
     case 0xce:
        strlcpy(buffer, "reserved for DRDOS/secured (FAT16, LBA)", buffer_size);
        break;
+    case 0xcf:
+       strlcpy(buffer, "DR-DOS 7.04+ secured EXT DOS (LBA)", buffer_size);
+       break;
     case 0xd0:
        strlcpy(buffer, "REAL/32 secure big partition", buffer_size);
        break;
@@ -541,9 +576,9 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer,
                "Digital Research CP/M, Concurrent CP/M, Concurrent DOS",
                buffer_size);
-       break;
        //case 0xdb: strlcpy(buffer, "CTOS (Convergent Technologies OS -Unisys)", buffer_size); break;
        //case 0xdb: strlcpy(buffer, "KDG Telemetry SCPU boot", buffer_size); break;
+       break;
     case 0xdd:
        strlcpy(buffer, "Hidden CTOS Memdump?", buffer_size);
        break;
@@ -575,24 +610,30 @@ void get_label(int label, char **buffer_label)
        strlcpy(buffer,
                "Tandy DOS with logical sectored FAT (According to Powerquest.)",
                buffer_size);
-       break;
        //case 0xe5: strlcpy(buffer, "Reserved", buffer_size); break;
+       break;
     case 0xe6:
-       strlcpy(buffer, "Reserved", buffer_size);
+       strlcpy(buffer, "Storage Dimensions SpeedStor", buffer_size);
+       break;
+    case 0xe8:
+       strlcpy(buffer, "LUKS", buffer_size);
        break;
     case 0xeb:
-       strlcpy(buffer, "BFS (aka BeFS)", buffer_size);
+       strlcpy(buffer, "BeOS", buffer_size);
+       break;
+    case 0xec:
+       strlcpy(buffer, "SkyOS SkyFS", buffer_size);
        break;
     case 0xed:
        strlcpy(buffer, "Reserved for Matthias Paul's Sprytix", buffer_size);
        break;
     case 0xee:
        strlcpy(buffer,
-               "Indication that this legacy MBR is followed by an EFI header",
+               "GPT",
                buffer_size);
        break;
     case 0xef:
-       strlcpy(buffer, "Partition that contains an EFI file system",
+       strlcpy(buffer, "EFI file system",
                buffer_size);
        break;
     case 0xf0:
@@ -613,8 +654,8 @@ void get_label(int label, char **buffer_label)
        break;
     case 0xf4:
        strlcpy(buffer, "SpeedStor large partition", buffer_size);
-       break;
        //case 0xf4: strlcpy(buffer, "Prologue single-volume partition", buffer_size); break;
+       break;
     case 0xf5:
        strlcpy(buffer, "Prologue multi-volume partition", buffer_size);
        break;
@@ -623,6 +664,12 @@ void get_label(int label, char **buffer_label)
                "Reserved (Powerquest writes: Storage Dimensions SpeedStor. )",
                buffer_size);
        break;
+    case 0xf7:
+       strlcpy(buffer, "DDRdrive Solid State File System", buffer_size);
+       break;
+    case 0xf9:
+       strlcpy(buffer, "pCache", buffer_size);
+       break;
     case 0xfa:
        strlcpy(buffer, "Bochs", buffer_size);
        break;
@@ -638,12 +685,12 @@ void get_label(int label, char **buffer_label)
                buffer_size);
        break;
     case 0xfe:
-       strlcpy(buffer, "SpeedStor > 1024 cyl.", buffer_size);
-       break;
-       //case 0xfe: strlcpy(buffer, "LANstep", buffer_size); break;
+       strlcpy(buffer, "LANstep", buffer_size); break;
+       //strlcpy(buffer, "SpeedStor > 1024 cyl.", buffer_size);
        //case 0xfe: strlcpy(buffer, "IBM PS/2 IML (Initial Microcode Load) partition, located at the end of the disk.", buffer_size); break;
        //case 0xfe: strlcpy(buffer, "Windows NT Disk Administrator hidden partition", buffer_size); break;
        //case 0xfe: strlcpy(buffer, "Linux Logical Volume Manager partition (old)", buffer_size); break;
+       break;
     case 0xff:
        strlcpy(buffer, "Xenix Bad Block Table ", buffer_size);
        break;