+/* HELPERS FOR PARTITION TYPES **********************************************/
+
+/*
+ * This partition type list was ripped from the kernelDisk.c module of
+ * the Visopsys Operating System (see license below), and completed with
+ * information from Paragon Hard-Disk Manager, and the following websites:
+ * http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
+ * https://en.wikipedia.org/wiki/Partition_type#List_of_partition_IDs
+ */
+/*
+ * kernelDisk.c
+ *
+ * Visopsys Operating System
+ * Copyright (C) 1998-2015 J. Andrew McLaughlin
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/* This is a table for keeping known partition type codes and descriptions */
+PARTITION_TYPE PartitionTypes[NUM_PARTITION_TYPE_ENTRIES] =
+{
+ { 0x00, "(Empty)" },
+ { 0x01, "FAT12" },
+ { 0x02, "XENIX root" },
+ { 0x03, "XENIX usr" },
+ { 0x04, "FAT16 (< 32 MB)" },
+ { 0x05, "Extended" },
+ { 0x06, "FAT16" },
+ { 0x07, "NTFS/HPFS/exFAT" },
+ { 0x08, "OS/2 or AIX boot" },
+ { 0x09, "AIX data" },
+ { 0x0A, "OS/2 Boot Manager" },
+ { 0x0B, "FAT32" },
+ { 0x0C, "FAT32 (LBA)" },
+ { 0x0E, "FAT16 (LBA)" },
+ { 0x0F, "Extended (LBA)" },
+ { 0x10, "OPUS" },
+ { 0x11, "Hidden FAT12" },
+ { 0x12, "FAT diagnostic (Compaq)" },
+ { 0x13, "BTRON" },
+ { 0x14, "Hidden FAT16 (< 32 MB)" },
+ { 0x16, "Hidden FAT16" },
+ { 0x17, "Hidden HPFS or NTFS" },
+ { 0x18, "AST SmartSleep" },
+ { 0x1B, "Hidden FAT32" },
+ { 0x1C, "Hidden FAT32 (LBA)" },
+ { 0x1E, "Hidden FAT16 (LBA)" },
+ { 0x24, "NEC DOS 3.x" },
+ { 0x27, "Hidden WinRE NTFS" },
+ { 0x2A, "AtheOS File System (AFS)" },
+ { 0x2B, "SyllableSecure (SylStor)" },
+ { 0x32, "NOS" },
+ { 0x35, "JFS on OS/2 or eCS" },
+ { 0x38, "THEOS v3.2 2GB partition" },
+ { 0x39, "Plan 9" },
+ { 0x3A, "THEOS v4 4GB partition" },
+ { 0x3B, "THEOS v4 extended partition" },
+ { 0x3C, "PartitionMagic recovery partition" },
+ { 0x3D, "Hidden NetWare" },
+ { 0x40, "Lynx" },
+ { 0x41, "PowerPC PReP boot" },
+ { 0x42, "Win2K Dynamic Volume extended" },
+ { 0x43, "Old Linux" },
+ { 0x44, "GoBack" },
+ { 0x45, "Priam or Boot-US Boot Manager" },
+ { 0x4D, "QNX4.x" },
+ { 0x4E, "QNX4.x 2nd partition" },
+ { 0x4F, "QNX4.x 3rd partition" },
+ { 0x50, "OnTrack Disk Manager R/O" },
+ { 0x51, "OnTrack Disk Manager R/W or Novell" },
+ { 0x52, "CP/M" },
+ { 0x53, "OnTrack DM6 Aux3" },
+ { 0x54, "OnTrack DM6 Dynamic Drive Overlay" },
+ { 0x55, "EZ-Drive" },
+ { 0x56, "Golden Bow VFeature Partitioned Volume" },
+ { 0x5C, "Priam EDisk" },
+ { 0x61, "SpeedStor" },
+ { 0x62, "Pick" },
+ { 0x63, "GNU HURD or Unix System V (SCO, ISC Unix, UnixWare)" },
+ { 0x64, "Novell NetWare 286, 2.xx" },
+ { 0x65, "Novell NetWare 386, 3.xx or 4.xx" },
+ { 0x66, "Novell NetWare SMS Partition" },
+ { 0x67, "Novell" },
+ { 0x68, "Novell" },
+ { 0x69, "Novell NetWare 5+" },
+ { 0x70, "DiskSecure Multi-Boot" },
+ { 0x75, "IBM PC/IX" },
+ { 0x7E, "Veritas VxVM public" },
+ { 0x7F, "Veritas VxVM private" },
+ { 0x80, "Old MINIX" },
+ { 0x81, "Linux or MINIX" },
+ { 0x82, "Linux swap or Solaris" },
+ { 0x83, "Linux Native" },
+ { 0x84, "Hibernate" },
+ { 0x85, "Extended Linux" },
+ { 0x86, "FAT16 mirrored" },
+ { 0x87, "HPFS or NTFS mirrored" },
+ { 0x88, "Linux plaintext partition table" },
+ { 0x8B, "FAT32 mirrored" },
+ { 0x8C, "FAT32 (LBA) mirrored" },
+ { 0x8E, "Linux LVM" },
+ { 0x93, "Hidden Linux" },
+ { 0x94, "Amoeba BBT" },
+ { 0x96, "CDFS/ISO-9660" },
+ { 0x9F, "BSD/OS" },
+ { 0xA0, "Laptop Hibernate" },
+ { 0xA1, "Laptop Hibernate (NEC 6000H)" },
+ { 0xA5, "BSD, NetBSD, FreeBSD" },
+ { 0xA6, "OpenBSD" },
+ { 0xA7, "NeXTStep" },
+ { 0xA8, "Darwin UFS" }, // Also known as "OS-X"
+ { 0xA9, "NetBSD" },
+ { 0xAB, "Darwin boot" },
+ { 0xAF, "Apple HFS" },
+ { 0xB6, "NT FAT16 corrupt mirror" },
+ { 0xB7, "BSDI BSD/386 FS" }, // Alternatively, "NT NTFS corrupt mirror"
+ { 0xB8, "BSDI BSD/386 swap" },
+ { 0xBB, "Boot Wizard hidden" },
+ { 0xBC, "Paragon Backup capsule" },
+ { 0xBE, "Solaris 8 boot partition" },
+ { 0xBF, "Solaris 10 x86" },
+ { 0xC0, "NTFT" }, // Alternatively, "CTOS" or "REAL/32 or DR-DOS or Novell-DOS secure partition"
+ { 0xC1, "DR-DOS FAT12" },
+ { 0xC2, "Hidden Linux" },
+ { 0xC3, "Hidden Linux swap" },
+ { 0xC4, "DR-DOS FAT16 (< 32 MB)" },
+ { 0xC5, "DR-DOS Extended" },
+ { 0xC6, "DR-DOS FAT16" },
+ { 0xC7, "HPFS mirrored" }, // Alternatively, "Syrinx boot"
+ { 0xCB, "DR-DOS FAT32" },
+ { 0xCC, "DR-DOS FAT32 (LBA)" },
+ { 0xCE, "DR-DOS FAT16 (LBA)" },
+ { 0xD0, "MDOS" },
+ { 0xD1, "MDOS FAT12" },
+ { 0xD4, "MDOS FAT16 (< 32 MB)" },
+ { 0xD5, "MDOS Extended" },
+ { 0xD6, "MDOS FAT16" },
+ { 0xD8, "CP/M-86" },
+ { 0xDB, "Digital Research CP/M" },
+ { 0xDE, "Dell OEM" },
+ { 0xDF, "BootIt EMBRM (FAT16/32)" },
+ { 0xE1, "SpeedStor FAT12" },
+ { 0xE3, "SpeedStor (0xE3)" },
+ { 0xE4, "SpeedStor FAT16" },
+ { 0xE5, "Tandy MSDOS" },
+ { 0xE6, "SpeedStor (0xE6)" },
+ { 0xE8, "Linux Unified Key Setup partition" },
+ { 0xEA, "Rufus private partition" },
+ { 0xEB, "BeOS BFS" },
+ { 0xEC, "SkyOS SkyFS" },
+ { 0xEE, "EFI GPT protective" },
+ { 0xEF, "EFI System partition" },
+ { 0xF0, "Linux/PA-RISC boot loader" },
+ { 0xF1, "SpeedStor (0xF1)" },
+ { 0xF2, "DOS 3.3+ second" },
+ { 0xF4, "SpeedStor (0xF4)" },
+ { 0xF5, "SpeedStor (0xF5)" },
+ { 0xF6, "SpeedStor (0xF6)" },
+ { 0xFA, "Bochs" },
+ { 0xFB, "VMware FS" },
+ { 0xFC, "VMware swap" },
+ { 0xFD, "Linux RAID auto" },
+ { 0xFE, "NT hidden partition" },
+ { 0xFF, "XENIX Bad Block Table" },
+};
+
+