• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* ----------------------------------------------------------------------- *
2  *
3  *   Copyright 2009 Pierre-Alexandre Meyer
4  *
5  *   This file is part of Syslinux, and is made available under
6  *   the terms of the GNU General Public License version 2.
7  *
8  * ----------------------------------------------------------------------- */
9 
10 #include <stdlib.h>
11 #include <string.h>
12 
get_label(int label,char ** buffer_label)13 void get_label(int label, char **buffer_label)
14 {
15     int buffer_size = (80 * sizeof(char));
16     char *buffer = malloc(buffer_size);
17     *buffer_label = buffer;
18 
19     switch (label) {
20     case 0x01:
21 	strlcpy(buffer, "DOS 12-bit fat", buffer_size);
22 	break;
23     case 0x02:
24 	strlcpy(buffer, "XENIX root", buffer_size);
25 	break;
26     case 0x03:
27 	strlcpy(buffer, "XENIX /usr", buffer_size);
28 	break;
29     case 0x04:
30 	strlcpy(buffer, "DOS 3.0+ 16-bit FAT (up to 32M)", buffer_size);
31 	break;
32     case 0x05:
33 	strlcpy(buffer, "DOS 3.3+ Extended Partition", buffer_size);
34 	break;
35     case 0x06:
36 	strlcpy(buffer, "DOS 3.31+ 16-bit FAT (over 32M)", buffer_size);
37 	break;
38     case 0x07:
39 	strlcpy(buffer, "NTFS/exFAT/HPFS", buffer_size);
40 	//case 0x07: strlcpy(buffer, "Advanced Unix", buffer_size); break;
41 	//case 0x07: strlcpy(buffer, "Windows NT NTFS", buffer_size); break;
42 	//case 0x07: strlcpy(buffer, "QNX2.x (pre-1988)", buffer_size); break;
43 	break;
44     case 0x08:
45 	strlcpy(buffer, "AIX", buffer_size);
46 	//case 0x08: strlcpy(buffer, "AIX boot partition", buffer_size); break;
47 	//case 0x08: strlcpy(buffer, "SplitDrive", buffer_size); break;
48 	//case 0x08: strlcpy(buffer, "DELL partition spanning multiple drives", buffer_size); break;
49 	//case 0x08: strlcpy(buffer, "Commodore DOS", buffer_size); break;
50 	//case 0x08: strlcpy(buffer, "QNX 1.x and 2.x ("qny")", buffer_size); break;
51 	break;
52     case 0x09:
53 	strlcpy(buffer, "AIX bootable partition", buffer_size);
54 	//case 0x09: strlcpy(buffer, "Coherent filesystem", buffer_size); break;
55 	//case 0x09: strlcpy(buffer, "QNX 1.x and 2.x ("qnz")", buffer_size); break;
56 	break;
57     case 0x0a:
58 	strlcpy(buffer, "OS/2 Boot Manager", buffer_size);
59 	//case 0x0a: strlcpy(buffer, "Coherent swap partition", buffer_size); break;
60 	//case 0x0a: strlcpy(buffer, "OPUS", buffer_size); break;
61 	break;
62     case 0x0b:
63 	strlcpy(buffer, "WIN95 OSR2 32-bit FAT", buffer_size);
64 	break;
65     case 0x0c:
66 	strlcpy(buffer, "WIN95 OSR2 32-bit FAT, LBA-mapped", buffer_size);
67 	break;
68     case 0x0e:
69 	strlcpy(buffer, "WIN95: DOS 16-bit FAT, LBA-mapped", buffer_size);
70 	break;
71     case 0x0f:
72 	strlcpy(buffer, "WIN95: Extended partition, LBA-mapped", buffer_size);
73 	break;
74     case 0x10:
75 	strlcpy(buffer, "OPUS", buffer_size);
76 	break;
77     case 0x11:
78 	strlcpy(buffer, "Hidden DOS 12-bit FAT", buffer_size);
79 	break;
80     case 0x12:
81 	strlcpy(buffer, "Compaq diagnostic partition", buffer_size);
82 	break;
83     case 0x14:
84 	strlcpy(buffer, "Hidden DOS 16-bit FAT <32M", buffer_size);
85 	break;
86     case 0x16:
87 	strlcpy(buffer, "Hidden DOS 16-bit FAT >=32M", buffer_size);
88 	break;
89     case 0x17:
90 	strlcpy(buffer, "Hidden HPFS/exFAT/NTFS", buffer_size);
91 	break;
92     case 0x18:
93 	strlcpy(buffer, "AST SmartSleep Partition", buffer_size);
94 	break;
95     case 0x19:
96 	strlcpy(buffer, "Unused (Claimed for Willowtech Photon COS)",
97 		buffer_size);
98 	break;
99     case 0x1b:
100 	strlcpy(buffer, "Hidden WIN95 OSR2 32-bit FAT", buffer_size);
101 	break;
102     case 0x1c:
103 	strlcpy(buffer, "Hidden WIN95 OSR2 32-bit FAT, LBA-mapped",
104 		buffer_size);
105 	break;
106     case 0x1e:
107 	strlcpy(buffer, "Hidden WIN95 16-bit FAT, LBA-mapped", buffer_size);
108 	break;
109     case 0x20:
110 	strlcpy(buffer, "Unused", buffer_size);
111 	break;
112     case 0x21:
113 	strlcpy(buffer, "Reserved", buffer_size);
114 	//case 0x21: strlcpy(buffer, "Unused", buffer_size); break;
115 	break;
116     case 0x22:
117 	strlcpy(buffer, "Unused", buffer_size);
118 	break;
119     case 0x23:
120 	strlcpy(buffer, "Reserved", buffer_size);
121 	break;
122     case 0x24:
123 	strlcpy(buffer, "NEC DOS 3.x", buffer_size);
124 	break;
125     case 0x26:
126 	strlcpy(buffer, "Reserved", buffer_size);
127 	break;
128     case 0x27:
129 	strlcpy(buffer, "PQService (Acer laptop hidden rescue partition)", buffer_size);
130 	//Windows RE hidden partition
131 	//MirOS BSD partition
132 	//RouterBOOT kernel partition
133 	break;
134     case 0x2a:
135 	strlcpy(buffer, "AtheOS File System (AFS)", buffer_size);
136 	break;
137     case 0x2b:
138 	strlcpy(buffer, "SyllableSecure (SylStor)", buffer_size);
139 	break;
140     case 0x31:
141 	strlcpy(buffer, "Reserved", buffer_size);
142 	break;
143     case 0x32:
144 	strlcpy(buffer, "NOS", buffer_size);
145 	break;
146     case 0x33:
147 	strlcpy(buffer, "Reserved", buffer_size);
148 	break;
149     case 0x34:
150 	strlcpy(buffer, "Reserved", buffer_size);
151 	break;
152     case 0x35:
153 	strlcpy(buffer, "JFS on OS/2 or eCS", buffer_size);
154 	break;
155     case 0x36:
156 	strlcpy(buffer, "Reserved", buffer_size);
157 	break;
158     case 0x38:
159 	strlcpy(buffer, "THEOS ver 3.2 2gb partition", buffer_size);
160 	break;
161     case 0x39:
162 	strlcpy(buffer, "Plan 9 partition", buffer_size);
163 	//case 0x39: strlcpy(buffer, "THEOS ver 4 spanned partition", buffer_size); break;
164 	break;
165     case 0x3a:
166 	strlcpy(buffer, "THEOS ver 4 4gb partition", buffer_size);
167 	break;
168     case 0x3b:
169 	strlcpy(buffer, "THEOS ver 4 extended partition", buffer_size);
170 	break;
171     case 0x3c:
172 	strlcpy(buffer, "PartitionMagic recovery partition", buffer_size);
173 	break;
174     case 0x3d:
175 	strlcpy(buffer, "Hidden NetWare", buffer_size);
176 	break;
177     case 0x40:
178 	strlcpy(buffer, "Venix 80286", buffer_size);
179 	break;
180     case 0x41:
181 	strlcpy(buffer, "PPC PReP Boot", buffer_size); break;
182 	//case 0x41: strlcpy(buffer, "Personal RISC Boot", buffer_size); break;
183 	// strlcpy(buffer, "Linux/MINIX (sharing disk with DRDOS)", buffer_size);
184 	break;
185     case 0x42:
186 	strlcpy(buffer, "SFS (Secure Filesystem)", buffer_size); break;
187 	// strlcpy(buffer, "Linux swap (sharing disk with DRDOS)", buffer_size);
188 	//case 0x42: strlcpy(buffer, "Windows 2000 marker", buffer_size); break;
189 	break;
190     case 0x43:
191 	strlcpy(buffer, "Linux native (sharing disk with DRDOS)", buffer_size);
192 	break;
193     case 0x44:
194 	strlcpy(buffer, "GoBack partition", buffer_size);
195 	break;
196     case 0x45:
197 	strlcpy(buffer, "Boot-US boot manager", buffer_size);
198 	//case 0x45: strlcpy(buffer, "Priam", buffer_size); break;
199 	//case 0x45: strlcpy(buffer, "EUMEL/Elan", buffer_size); break;
200 	break;
201     case 0x46:
202 	strlcpy(buffer, "EUMEL/Elan", buffer_size);
203 	break;
204     case 0x47:
205 	strlcpy(buffer, "EUMEL/Elan", buffer_size);
206 	break;
207     case 0x48:
208 	strlcpy(buffer, "EUMEL/Elan", buffer_size);
209 	break;
210     case 0x4a:
211 	strlcpy(buffer, "AdaOS Aquila (Default)", buffer_size);
212 	//case 0x4a: strlcpy(buffer, "ALFS/THIN lightweight filesystem for DOS", buffer_size); break;
213 	break;
214     case 0x4c:
215 	strlcpy(buffer, "Oberon partition", buffer_size);
216 	break;
217     case 0x4d:
218 	strlcpy(buffer, "QNX4.x", buffer_size);
219 	break;
220     case 0x4e:
221 	strlcpy(buffer, "QNX4.x 2nd part", buffer_size);
222 	break;
223     case 0x4f:
224 	strlcpy(buffer, "QNX4.x 3rd part", buffer_size);
225 	//case 0x4f: strlcpy(buffer, "Oberon partition", buffer_size); break;
226 	break;
227     case 0x50:
228 	strlcpy(buffer, "OnTrack Disk Manager (older versions) RO",
229 		buffer_size);
230 	//case 0x50: strlcpy(buffer, "Lynx RTOS", buffer_size); break;
231 	//case 0x50: strlcpy(buffer, "Native Oberon (alt)", buffer_size); break;
232 	break;
233     case 0x51:
234 	strlcpy(buffer, "OnTrack Disk Manager RW (DM6 Aux1)", buffer_size);
235 	//case 0x51: strlcpy(buffer, "Novell", buffer_size); break;
236 	break;
237     case 0x52:
238 	strlcpy(buffer, "CP/M", buffer_size);
239 	//case 0x52: strlcpy(buffer, "Microport SysV/AT", buffer_size); break;
240 	break;
241     case 0x53:
242 	strlcpy(buffer, "Disk Manager 6.0 Aux3", buffer_size);
243 	break;
244     case 0x54:
245 	strlcpy(buffer, "Disk Manager 6.0 Dynamic Drive Overlay", buffer_size);
246 	break;
247     case 0x55:
248 	strlcpy(buffer, "EZ-Drive", buffer_size);
249 	break;
250     case 0x56:
251 	strlcpy(buffer, "Golden Bow VFeature Partitioned Volume.", buffer_size);
252 	//case 0x56: strlcpy(buffer, "DM converted to EZ-BIOS", buffer_size); break;
253 	break;
254     case 0x57:
255 	strlcpy(buffer, "DrivePro", buffer_size);
256 	//case 0x57: strlcpy(buffer, "VNDI Partition", buffer_size); break;
257 	break;
258     case 0x5c:
259 	strlcpy(buffer, "Priam EDisk", buffer_size);
260 	break;
261     case 0x61:
262 	strlcpy(buffer, "SpeedStor", buffer_size);
263 	break;
264     case 0x63:
265 	strlcpy(buffer,
266 		"Unix System V (SCO, ISC Unix, UnixWare, ...), Mach, GNU Hurd",
267 		buffer_size);
268 	break;
269     case 0x64:
270 	strlcpy(buffer, "Novell Netware 286, 2.xx", buffer_size); break;
271 	//strlcpy(buffer, "PC-ARMOUR protected partition", buffer_size);
272 	break;
273     case 0x65:
274 	strlcpy(buffer, "Novell Netware 386, 3.xx or 4.xx", buffer_size);
275 	break;
276     case 0x66:
277 	strlcpy(buffer, "Novell Netware SMS Partition", buffer_size);
278 	break;
279     case 0x67:
280 	strlcpy(buffer, "Novell", buffer_size);
281 	break;
282     case 0x68:
283 	strlcpy(buffer, "Novell", buffer_size);
284 	break;
285     case 0x69:
286 	strlcpy(buffer, "Novell Netware 5+, Novell Netware NSS Partition",
287 		buffer_size);
288 	break;
289     case 0x70:
290 	strlcpy(buffer, "DiskSecure Multi-Boot", buffer_size);
291 	break;
292     case 0x71:
293 	strlcpy(buffer, "Reserved", buffer_size);
294 	break;
295     case 0x72:
296 	strlcpy(buffer, "V7/x86", buffer_size);
297 	break;
298     case 0x73:
299 	strlcpy(buffer, "Reserved", buffer_size);
300 	break;
301     case 0x74:
302 	//strlcpy(buffer, "Reserved", buffer_size);
303 	strlcpy(buffer, "Scramdisk partition", buffer_size); break;
304     case 0x75:
305 	strlcpy(buffer, "IBM PC/IX", buffer_size);
306 	break;
307     case 0x76:
308 	strlcpy(buffer, "Reserved", buffer_size);
309 	break;
310     case 0x77:
311 	strlcpy(buffer, "M2FS/M2CS partition", buffer_size);
312 	break;
313 	//case 0x77: strlcpy(buffer, "VNDI Partition", buffer_size); break;
314     case 0x78:
315 	strlcpy(buffer, "XOSL FS", buffer_size);
316 	break;
317     case 0x7E:
318 	strlcpy(buffer, "Unused", buffer_size);
319 	break;
320     case 0x80:
321 	strlcpy(buffer, "MINIX until 1.4a", buffer_size);
322 	break;
323     case 0x81:
324 	strlcpy(buffer, "MINIX since 1.4b, early Linux", buffer_size);
325 	//case 0x81: strlcpy(buffer, "Mitac disk manager", buffer_size); break;
326 	break;
327     case 0x82:
328 	strlcpy(buffer, "Linux swap", buffer_size);
329 	//case 0x82: strlcpy(buffer, "Prime", buffer_size); break;
330 	//case 0x82: strlcpy(buffer, "Solaris x86", buffer_size); break;
331 	break;
332     case 0x83:
333 	strlcpy(buffer, "Linux native (usually ext2fs)", buffer_size);
334 	break;
335     case 0x84:
336 	strlcpy(buffer, "OS/2 hidden C: drive", buffer_size);
337 	//case 0x84: strlcpy(buffer, "Hibernation partition", buffer_size); break;
338 	break;
339     case 0x85:
340 	strlcpy(buffer, "Linux extended partition", buffer_size);
341 	break;
342     case 0x86:
343 	strlcpy(buffer, "NTFS volume set", buffer_size);
344 	//case 0x86: strlcpy(buffer, "Old Linux RAID partition superblock", buffer_size); break;
345 	break;
346     case 0x87:
347 	strlcpy(buffer, "NTFS volume set", buffer_size);
348 	break;
349     case 0x88:
350 	strlcpy(buffer, "Linux Plaintext", buffer_size);
351 	break;
352     case 0x8a:
353 	strlcpy(buffer, "Linux Kernel Partition (used by AiR-BOOT)",
354 		buffer_size);
355 	break;
356     case 0x8b:
357 	strlcpy(buffer, "Legacy Fault Tolerant FAT32 volume", buffer_size);
358 	break;
359     case 0x8c:
360 	strlcpy(buffer,
361 		"Legacy Fault Tolerant FAT32 volume using BIOS extd INT 13h",
362 		buffer_size);
363 	break;
364     case 0x8d:
365 	strlcpy(buffer, "Free FDISK hidden Primary DOS FAT12 partitition",
366 		buffer_size);
367 	break;
368     case 0x8e:
369 	strlcpy(buffer, "Linux LVM partition", buffer_size);
370 	break;
371     case 0x90:
372 	strlcpy(buffer, "Free FDISK hidden Primary DOS FAT16 partitition",
373 		buffer_size);
374 	break;
375     case 0x91:
376 	strlcpy(buffer, "Free FDISK hidden DOS extended partitition",
377 		buffer_size);
378 	break;
379     case 0x92:
380 	strlcpy(buffer, "Free FDISK hidden Primary DOS large FAT16 partitition",
381 		buffer_size);
382 	break;
383     case 0x93:
384 	strlcpy(buffer, "Hidden Linux native partition", buffer_size);
385 	//case 0x93: strlcpy(buffer, "Amoeba", buffer_size); break;
386 	break;
387     case 0x94:
388 	strlcpy(buffer, "Amoeba bad block table", buffer_size);
389 	break;
390     case 0x95:
391 	strlcpy(buffer, "MIT EXOPC native partitions", buffer_size);
392 	break;
393     case 0x96:
394 	strlcpy(buffer, "CHRP ISO-9660 filesystem", buffer_size);
395 	break;
396     case 0x97:
397 	strlcpy(buffer, "Free FDISK hidden Primary DOS FAT32 partitition",
398 		buffer_size);
399 	break;
400     case 0x98:
401 	strlcpy(buffer, "Free FDISK hidden Primary DOS FAT32 partitition (LBA)",
402 		buffer_size);
403 	break;
404     case 0x99:
405 	strlcpy(buffer, "DCE376 logical drive", buffer_size);
406 	break;
407     case 0x9a:
408 	strlcpy(buffer, "Free FDISK hidden Primary DOS FAT16 partitition (LBA)",
409 		buffer_size);
410 	break;
411     case 0x9b:
412 	strlcpy(buffer, "Free FDISK hidden DOS extended partitition (LBA)",
413 		buffer_size);
414 	break;
415     case 0x9e:
416 	strlcpy(buffer, "ForthOS partition", buffer_size);
417 	break;
418     case 0x9f:
419 	strlcpy(buffer, "BSD/OS", buffer_size);
420 	break;
421     case 0xa0:
422 	strlcpy(buffer, "Laptop hibernation partition", buffer_size);
423 	break;
424     case 0xa1:
425 	strlcpy(buffer, "Laptop hibernation partition", buffer_size);
426 	//case 0xa1: strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size); break;
427 	break;
428     case 0xa3:
429 	strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
430 	break;
431     case 0xa4:
432 	strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
433 	break;
434     case 0xa5:
435 	strlcpy(buffer, "BSD/386, 386BSD, NetBSD, FreeBSD", buffer_size);
436 	break;
437     case 0xa6:
438 	strlcpy(buffer, "OpenBSD", buffer_size);
439 	break;
440     case 0xa7:
441 	strlcpy(buffer, "NeXTSTEP", buffer_size);
442 	break;
443     case 0xa8:
444 	strlcpy(buffer, "Mac OS-X", buffer_size);
445 	break;
446     case 0xa9:
447 	strlcpy(buffer, "NetBSD", buffer_size);
448 	break;
449     case 0xaa:
450 	strlcpy(buffer, "Olivetti Fat 12 1.44Mb Service Partition",
451 		buffer_size);
452 	break;
453     case 0xab:
454 	strlcpy(buffer, "Mac OS-X Boot partition", buffer_size);
455 	//case 0xab: strlcpy(buffer, "GO! partition", buffer_size); break;
456 	break;
457     case 0xae:
458 	strlcpy(buffer, "ShagOS filesystem", buffer_size);
459 	break;
460     case 0xaf:
461 	strlcpy(buffer, "ShagOS swap partition", buffer_size);
462 	break;
463     case 0xb0:
464 	strlcpy(buffer, "BootStar Dummy", buffer_size);
465 	break;
466     case 0xb1:
467 	strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
468 	break;
469     case 0xb2:
470 	strlcpy(buffer, "QNX Neutrino Power-Safe filesystem", buffer_size);
471 	break;
472     case 0xb3:
473 	strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
474 	break;
475     case 0xb4:
476 	strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
477 	break;
478     case 0xb6:
479 	strlcpy(buffer, "HP Volume Expansion (SpeedStor variant)", buffer_size);
480 	break;
481     case 0xb7:
482 	strlcpy(buffer, "BSDI BSD/386 filesystem", buffer_size);
483 	break;
484     case 0xb8:
485 	strlcpy(buffer, "BSDI BSD/386 swap partition", buffer_size);
486 	break;
487     case 0xbb:
488 	strlcpy(buffer, "Boot Wizard hidden", buffer_size);
489 	break;
490     case 0xbc:
491 	strlcpy(buffer, "Acronis backup partition", buffer_size);
492 	break;
493     case 0xbe:
494 	strlcpy(buffer, "Solaris 8 boot partition", buffer_size);
495 	break;
496     case 0xbf:
497 	strlcpy(buffer, "Solaris partition", buffer_size);
498 	break;
499     case 0xc0:
500 	strlcpy(buffer, "CTOS", buffer_size);
501 	//case 0xc0: strlcpy(buffer, "REAL/32 secure small partition", buffer_size); break;
502 	//case 0xc0: strlcpy(buffer, "NTFT Partition", buffer_size); break;
503 	break;
504     case 0xc1:
505 	strlcpy(buffer, "DRDOS/secured (FAT-12)", buffer_size);
506 	break;
507     case 0xc2:
508 	strlcpy(buffer, "Hidden Linux", buffer_size); break;
509 	//strlcpy(buffer, "Reserved for DR-DOS 7+", buffer_size);
510 	break;
511     case 0xc3:
512 	strlcpy(buffer, "Hidden Linux swap", buffer_size);
513 	break;
514     case 0xc4:
515 	strlcpy(buffer, "DRDOS/secured (FAT-16, < 32M)", buffer_size);
516 	break;
517     case 0xc5:
518 	strlcpy(buffer, "DRDOS/secured (extended)", buffer_size);
519 	break;
520     case 0xc6:
521 	strlcpy(buffer, "DRDOS/secured (FAT-16, >= 32M)", buffer_size);
522 	//case 0xc6: strlcpy(buffer, "Windows NT corrupted FAT16 volume/stripe set", buffer_size); break;
523 	break;
524     case 0xc7:
525 	strlcpy(buffer, "Windows NT corrupted NTFS volume/stripe set",
526 		buffer_size);
527 	//case 0xc7: strlcpy(buffer, "Syrinx boot", buffer_size); break;
528 	break;
529     case 0xc8:
530 	strlcpy(buffer, "Reserved for DR-DOS 8.0+", buffer_size);
531 	break;
532     case 0xc9:
533 	strlcpy(buffer, "Reserved for DR-DOS 8.0+", buffer_size);
534 	break;
535     case 0xca:
536 	strlcpy(buffer, "Reserved for DR-DOS 8.0+", buffer_size);
537 	break;
538     case 0xcb:
539 	strlcpy(buffer, "reserved for DRDOS/secured (FAT32)", buffer_size);
540 	break;
541     case 0xcc:
542 	strlcpy(buffer, "reserved for DRDOS/secured (FAT32, LBA)", buffer_size);
543 	break;
544     case 0xcd:
545 	strlcpy(buffer, "CTOS Memdump?", buffer_size);
546 	break;
547     case 0xce:
548 	strlcpy(buffer, "reserved for DRDOS/secured (FAT16, LBA)", buffer_size);
549 	break;
550     case 0xcf:
551 	strlcpy(buffer, "DR-DOS 7.04+ secured EXT DOS (LBA)", buffer_size);
552 	break;
553     case 0xd0:
554 	strlcpy(buffer, "REAL/32 secure big partition", buffer_size);
555 	break;
556     case 0xd1:
557 	strlcpy(buffer, "Old Multiuser DOS secured FAT12", buffer_size);
558 	break;
559     case 0xd4:
560 	strlcpy(buffer, "Old Multiuser DOS secured FAT16 <32M", buffer_size);
561 	break;
562     case 0xd5:
563 	strlcpy(buffer, "Old Multiuser DOS secured extended partition",
564 		buffer_size);
565 	break;
566     case 0xd6:
567 	strlcpy(buffer, "Old Multiuser DOS secured FAT16 >=32M", buffer_size);
568 	break;
569     case 0xd8:
570 	strlcpy(buffer, "CP/M-86", buffer_size);
571 	break;
572     case 0xda:
573 	strlcpy(buffer, "Non-FS Data", buffer_size);
574 	break;
575     case 0xdb:
576 	strlcpy(buffer,
577 		"Digital Research CP/M, Concurrent CP/M, Concurrent DOS",
578 		buffer_size);
579 	//case 0xdb: strlcpy(buffer, "CTOS (Convergent Technologies OS -Unisys)", buffer_size); break;
580 	//case 0xdb: strlcpy(buffer, "KDG Telemetry SCPU boot", buffer_size); break;
581 	break;
582     case 0xdd:
583 	strlcpy(buffer, "Hidden CTOS Memdump?", buffer_size);
584 	break;
585     case 0xde:
586 	strlcpy(buffer, "Dell PowerEdge Server utilities (FAT fs)",
587 		buffer_size);
588 	break;
589     case 0xdf:
590 	strlcpy(buffer, "DG/UX virtual disk manager partition", buffer_size);
591 	break;
592 	//case 0xdf: strlcpy(buffer, "BootIt EMBRM", buffer_size); break;
593     case 0xe0:
594 	strlcpy(buffer,
595 		"Reserved by STMicroelectronics for a filesystem called ST AVFS.",
596 		buffer_size);
597 	break;
598     case 0xe1:
599 	strlcpy(buffer, "DOS access or SpeedStor 12-bit FAT extended partition",
600 		buffer_size);
601 	break;
602     case 0xe3:
603 	strlcpy(buffer, "DOS R/O or SpeedStor", buffer_size);
604 	break;
605     case 0xe4:
606 	strlcpy(buffer, "SpeedStor 16-bit FAT extended partition < 1024 cyl.",
607 		buffer_size);
608 	break;
609     case 0xe5:
610 	strlcpy(buffer,
611 		"Tandy DOS with logical sectored FAT (According to Powerquest.)",
612 		buffer_size);
613 	//case 0xe5: strlcpy(buffer, "Reserved", buffer_size); break;
614 	break;
615     case 0xe6:
616 	strlcpy(buffer, "Storage Dimensions SpeedStor", buffer_size);
617 	break;
618     case 0xe8:
619 	strlcpy(buffer, "LUKS", buffer_size);
620 	break;
621     case 0xeb:
622 	strlcpy(buffer, "BeOS", buffer_size);
623 	break;
624     case 0xec:
625 	strlcpy(buffer, "SkyOS SkyFS", buffer_size);
626 	break;
627     case 0xed:
628 	strlcpy(buffer, "Reserved for Matthias Paul's Sprytix", buffer_size);
629 	break;
630     case 0xee:
631 	strlcpy(buffer,
632 		"GPT",
633 		buffer_size);
634 	break;
635     case 0xef:
636 	strlcpy(buffer, "EFI file system",
637 		buffer_size);
638 	break;
639     case 0xf0:
640 	strlcpy(buffer, "Linux/PA-RISC boot loader", buffer_size);
641 	break;
642     case 0xf1:
643 	strlcpy(buffer, "SpeedStor", buffer_size);
644 	break;
645     case 0xf2:
646 	strlcpy(buffer,
647 		"DOS 3.3+ secondary partition (Powerquest writes: Unisys DOS with logical sectored FAT.)",
648 		buffer_size);
649 	break;
650     case 0xf3:
651 	strlcpy(buffer,
652 		"Reserved (Powerquest writes: Storage Dimensions SpeedStor.)",
653 		buffer_size);
654 	break;
655     case 0xf4:
656 	strlcpy(buffer, "SpeedStor large partition", buffer_size);
657 	//case 0xf4: strlcpy(buffer, "Prologue single-volume partition", buffer_size); break;
658 	break;
659     case 0xf5:
660 	strlcpy(buffer, "Prologue multi-volume partition", buffer_size);
661 	break;
662     case 0xf6:
663 	strlcpy(buffer,
664 		"Reserved (Powerquest writes: Storage Dimensions SpeedStor. )",
665 		buffer_size);
666 	break;
667     case 0xf7:
668 	strlcpy(buffer, "DDRdrive Solid State File System", buffer_size);
669 	break;
670     case 0xf9:
671 	strlcpy(buffer, "pCache", buffer_size);
672 	break;
673     case 0xfa:
674 	strlcpy(buffer, "Bochs", buffer_size);
675 	break;
676     case 0xfb:
677 	strlcpy(buffer, "VMware File System partition", buffer_size);
678 	break;
679     case 0xfc:
680 	strlcpy(buffer, "VMware Swap partition", buffer_size);
681 	break;
682     case 0xfd:
683 	strlcpy(buffer,
684 		"Linux raid partition with autodetect using persistent superblock (Powerquest writes: Reserved for FreeDOS. )",
685 		buffer_size);
686 	break;
687     case 0xfe:
688 	strlcpy(buffer, "LANstep", buffer_size); break;
689 	//strlcpy(buffer, "SpeedStor > 1024 cyl.", buffer_size);
690 	//case 0xfe: strlcpy(buffer, "IBM PS/2 IML (Initial Microcode Load) partition, located at the end of the disk.", buffer_size); break;
691 	//case 0xfe: strlcpy(buffer, "Windows NT Disk Administrator hidden partition", buffer_size); break;
692 	//case 0xfe: strlcpy(buffer, "Linux Logical Volume Manager partition (old)", buffer_size); break;
693 	break;
694     case 0xff:
695 	strlcpy(buffer, "Xenix Bad Block Table ", buffer_size);
696 	break;
697     default:
698 	strlcpy(buffer, "Unknown", buffer_size);
699 	break;
700     }
701 }
702