Changeset 0435fe41 in mainline for uspace/lib
- Timestamp:
- 2013-08-27T00:32:08Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 61ab4a9, 802898f
- Parents:
- 493b881
- Location:
- uspace/lib
- Files:
-
- 3 edited
-
gpt/global.c (modified) (1 diff)
-
gpt/libgpt.c (modified) (10 diffs)
-
mbr/libmbr.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/gpt/global.c
r493b881 r0435fe41 41 41 42 42 const struct partition_type gpt_ptypes[] = { 43 { "Unused entry", "00000000" "0000" "0000" "0000" "000000000000" }, 44 { "MBR partition scheme", "024DEE41" "33E7" "11D3" "9D69" "0008C781F39F" }, 45 { "EFI System", "C12A7328" "F81F" "11D2" "BA4B" "00A0C93EC93B" }, 46 { "BIOS Boot", "21686148" "6449" "6E6F" "744E" "656564454649" }, 47 { "Windows Reserved", "E3C9E316" "0B5C" "4DB8" "817D" "F92DF00215AE" }, 48 { "Windows Basic data", "EBD0A0A2" "B9E5" "4433" "87C0" "68B6B72699C7" }, 49 { "Windows LDM metadata", "5808C8AA" "7E8F" "42E0" "85D2" "E1E90434CFB3" }, 50 { "Windows LDM data", "AF9B60A0" "1431" "4F62" "BC68" "3311714A69AD" }, 51 { "Windows Recovery Environment", "DE94BBA4" "06D1" "4D40" "A16A" "BFD50179D6AC" }, 52 { "Windows IBM GPFS", "37AFFC90" "EF7D" "4E96" "91C3" "2D7AE055B174" }, 53 { "Windows Cluster metadata", "DB97DBA9" "0840" "4BAE" "97F0" "FFB9A327C7E1" }, 54 { "HP-UX Data", "75894C1E" "3AEB" "11D3" "B7C1" "7B03A0000000" }, 55 { "HP-UX Service", "E2A1E728" "32E3" "11D6" "A682" "7B03A0000000" }, 56 { "Linux filesystem data", "EBD0A0A2" "B9E5" "4433" "87C0" "68B6B72699C7" }, 57 { "Linux filesystem data", "0FC63DAF" "8483" "4772" "8E79" "3D69D8477DE4" }, 58 { "Linux RAID", "A19D880F" "05FC" "4D3B" "A006" "743F0F84911E" }, 59 { "Linux Swap", "0657FD6D" "A4AB" "43C4" "84E5" "0933C84B4F4F" }, 60 { "Linux LVM", "E6D6D379" "F507" "44C2" "A23C" "238F2A3DF928" }, 61 { "Linux Reserved", "8DA63339" "0007" "60C0" "C436" "083AC8230908" }, 62 { "FreeBSD Boot", "83BD6B9D" "7F41" "11DC" "BE0B" "001560B84F0F" }, 63 { "FreeBSD Data", "516E7CB4" "6ECF" "11D6" "8FF8" "00022D09712B" }, 64 { "FreeBSD Swap", "516E7CB5" "6ECF" "11D6" "8FF8" "00022D09712B" }, 65 { "FreeBSD UFS", "516E7CB6" "6ECF" "11D6" "8FF8" "00022D09712B" }, 66 { "FreeBSD Vinum VM", "516E7CB8" "6ECF" "11D6" "8FF8" "00022D09712B" }, 67 { "FreeBSD ZFS", "516E7CBA" "6ECF" "11D6" "8FF8" "00022D09712B" }, 68 { "Mac OS X HFS+", "48465300" "0000" "11AA" "AA11" "00306543ECAC" }, 69 { "Mac OS X UFS", "55465300" "0000" "11AA" "AA11" "00306543ECAC" }, 70 { "Mac OS X ZFS", "6A898CC3" "1DD2" "11B2" "99A6" "080020736631" }, 71 { "Mac OS X RAID", "52414944" "0000" "11AA" "AA11" "00306543ECAC" }, 72 { "Mac OS X RAID, offline", "52414944" "5F4F" "11AA" "AA11" "00306543ECAC" }, 73 { "Mac OS X Boot", "426F6F74" "0000" "11AA" "AA11" "00306543ECAC" }, 74 { "Mac OS X Label", "4C616265" "6C00" "11AA" "AA11" "00306543ECAC" }, 75 { "Mac OS X TV Recovery", "5265636F" "7665" "11AA" "AA11" "00306543ECAC" }, 76 { "Mac OS X Core Storage", "53746F72" "6167" "11AA" "AA11" "00306543ECAC" }, 77 { "Solaris Boot", "6A82CB45" "1DD2" "11B2" "99A6" "080020736631" }, 78 { "Solaris Root", "6A85CF4D" "1DD2" "11B2" "99A6" "080020736631" }, 79 { "Solaris Swap", "6A87C46F" "1DD2" "11B2" "99A6" "080020736631" }, 80 { "Solaris Backup", "6A8B642B" "1DD2" "11B2" "99A6" "080020736631" }, 81 { "Solaris /usr", "6A898CC3" "1DD2" "11B2" "99A6" "080020736631" }, 82 { "Solaris /var", "6A8EF2E9" "1DD2" "11B2" "99A6" "080020736631" }, 83 { "Solaris /home", "6A90BA39" "1DD2" "11B2" "99A6" "080020736631" }, 84 { "Solaris Alternate sector", "6A9283A5" "1DD2" "11B2" "99A6" "080020736631" }, 85 { "Solaris Reserved", "6A945A3B" "1DD2" "11B2" "99A6" "080020736631" }, 86 { "Solaris Reserved", "6A9630D1" "1DD2" "11B2" "99A6" "080020736631" }, 87 { "Solaris Reserved", "6A980767" "1DD2" "11B2" "99A6" "080020736631" }, 88 { "Solaris Reserved", "6A96237F" "1DD2" "11B2" "99A6" "080020736631" }, 89 { "Solaris Reserved", "6A8D2AC7" "1DD2" "11B2" "99A6" "080020736631" }, 90 { "NetBSD Swap", "49F48D32" "B10E" "11DC" "B99B" "0019D1879648" }, 91 { "NetBSD FFS", "49F48D5A" "B10E" "11DC" "B99B" "0019D1879648" }, 92 { "NetBSD LFS", "49F48D82" "B10E" "11DC" "B99B" "0019D1879648" }, 93 { "NetBSD RAID", "49F48DAA" "B10E" "11DC" "B99B" "0019D1879648" }, 94 { "NetBSD Concatenated", "2DB519C4" "B10F" "11DC" "B99B" "0019D1879648" }, 95 { "NetBSD Encrypted", "2DB519EC" "B10F" "11DC" "B99B" "0019D1879648" }, 96 { "ChromeOS ChromeOS kernel", "FE3A2A5D" "4F32" "41A7" "B725" "ACCC3285A309" }, 97 { "ChromeOS rootfs", "3CB8E202" "3B7E" "47DD" "8A3C" "7FF2A13CFCEC" }, 98 { "ChromeOS future use", "2E0A753D" "9E48" "43B0" "8337" "B15192CB1B5E" }, 99 { "MidnightBSD Boot", "85D5E45E" "237C" "11E1" "B4B3" "E89A8F7FC3A7" }, 100 { "MidnightBSD Data", "85D5E45A" "237C" "11E1" "B4B3" "E89A8F7FC3A7" }, 101 { "MidnightBSD Swap", "85D5E45B" "237C" "11E1" "B4B3" "E89A8F7FC3A7" }, 102 { "MidnightBSD UFS", "0394Ef8B" "237E" "11E1" "B4B3" "E89A8F7FC3A7" }, 103 { "MidnightBSD Vinum VM", "85D5E45C" "237C" "11E1" "B4B3" "E89A8F7FC3A7" }, 104 { "MidnightBSD ZFS", "85D5E45D" "237C" "11E1" "B4B3" "E89A8F7FC3A7" }, 43 { "Unused entry", "00000000" "0000" "0000" "0000000000000000" }, /* 0 */ 44 { "HelenOS System", "656C6548" "4F6E" "5320" "53797374656D0000" }, /* 1 It says "HelenOS System\0\0" */ 45 { "MBR partition scheme", "024DEE41" "33E7" "11D3" "9D690008C781F39F" }, 46 { "EFI System", "C12A7328" "F81F" "11D2" "BA4B00A0C93EC93B" }, 47 { "BIOS Boot", "21686148" "6449" "6E6F" "744E656564454649" }, 48 { "Windows Reserved", "E3C9E316" "0B5C" "4DB8" "817DF92DF00215AE" }, 49 { "Windows Basic data", "EBD0A0A2" "B9E5" "4433" "87C068B6B72699C7" }, 50 { "Windows LDM metadata", "5808C8AA" "7E8F" "42E0" "85D2E1E90434CFB3" }, 51 { "Windows LDM data", "AF9B60A0" "1431" "4F62" "BC683311714A69AD" }, 52 { "Windows Recovery Environment", "DE94BBA4" "06D1" "4D40" "A16ABFD50179D6AC" }, 53 { "Windows IBM GPFS", "37AFFC90" "EF7D" "4E96" "91C32D7AE055B174" }, /* 10 */ 54 { "Windows Cluster metadata", "DB97DBA9" "0840" "4BAE" "97F0FFB9A327C7E1" }, 55 { "HP-UX Data", "75894C1E" "3AEB" "11D3" "B7C17B03A0000000" }, 56 { "HP-UX Service", "E2A1E728" "32E3" "11D6" "A6827B03A0000000" }, 57 { "Linux filesystem data", "EBD0A0A2" "B9E5" "4433" "87C068B6B72699C7" }, 58 { "Linux filesystem data", "0FC63DAF" "8483" "4772" "8E793D69D8477DE4" }, 59 { "Linux RAID", "A19D880F" "05FC" "4D3B" "A006743F0F84911E" }, 60 { "Linux Swap", "0657FD6D" "A4AB" "43C4" "84E50933C84B4F4F" }, 61 { "Linux LVM", "E6D6D379" "F507" "44C2" "A23C238F2A3DF928" }, 62 { "Linux Reserved", "8DA63339" "0007" "60C0" "C436083AC8230908" }, 63 { "FreeBSD Boot", "83BD6B9D" "7F41" "11DC" "BE0B001560B84F0F" }, /* 20 */ 64 { "FreeBSD Data", "516E7CB4" "6ECF" "11D6" "8FF800022D09712B" }, 65 { "FreeBSD Swap", "516E7CB5" "6ECF" "11D6" "8FF800022D09712B" }, 66 { "FreeBSD UFS", "516E7CB6" "6ECF" "11D6" "8FF800022D09712B" }, 67 { "FreeBSD Vinum VM", "516E7CB8" "6ECF" "11D6" "8FF800022D09712B" }, 68 { "FreeBSD ZFS", "516E7CBA" "6ECF" "11D6" "8FF800022D09712B" }, 69 { "Mac OS X HFS+", "48465300" "0000" "11AA" "AA1100306543ECAC" }, 70 { "Mac OS X UFS", "55465300" "0000" "11AA" "AA1100306543ECAC" }, 71 { "Mac OS X ZFS", "6A898CC3" "1DD2" "11B2" "99A6080020736631" }, 72 { "Mac OS X RAID", "52414944" "0000" "11AA" "AA1100306543ECAC" }, 73 { "Mac OS X RAID, offline", "52414944" "5F4F" "11AA" "AA1100306543ECAC" }, /* 30 */ 74 { "Mac OS X Boot", "426F6F74" "0000" "11AA" "AA1100306543ECAC" }, 75 { "Mac OS X Label", "4C616265" "6C00" "11AA" "AA1100306543ECAC" }, 76 { "Mac OS X TV Recovery", "5265636F" "7665" "11AA" "AA1100306543ECAC" }, 77 { "Mac OS X Core Storage", "53746F72" "6167" "11AA" "AA1100306543ECAC" }, 78 { "Solaris Boot", "6A82CB45" "1DD2" "11B2" "99A6080020736631" }, 79 { "Solaris Root", "6A85CF4D" "1DD2" "11B2" "99A6080020736631" }, 80 { "Solaris Swap", "6A87C46F" "1DD2" "11B2" "99A6080020736631" }, 81 { "Solaris Backup", "6A8B642B" "1DD2" "11B2" "99A6080020736631" }, 82 { "Solaris /usr", "6A898CC3" "1DD2" "11B2" "99A6080020736631" }, 83 { "Solaris /var", "6A8EF2E9" "1DD2" "11B2" "99A6080020736631" }, /* 40 */ 84 { "Solaris /home", "6A90BA39" "1DD2" "11B2" "99A6080020736631" }, 85 { "Solaris Alternate sector", "6A9283A5" "1DD2" "11B2" "99A6080020736631" }, 86 { "Solaris Reserved", "6A945A3B" "1DD2" "11B2" "99A6080020736631" }, 87 { "Solaris Reserved", "6A9630D1" "1DD2" "11B2" "99A6080020736631" }, 88 { "Solaris Reserved", "6A980767" "1DD2" "11B2" "99A6080020736631" }, 89 { "Solaris Reserved", "6A96237F" "1DD2" "11B2" "99A6080020736631" }, 90 { "Solaris Reserved", "6A8D2AC7" "1DD2" "11B2" "99A6080020736631" }, 91 { "NetBSD Swap", "49F48D32" "B10E" "11DC" "B99B0019D1879648" }, 92 { "NetBSD FFS", "49F48D5A" "B10E" "11DC" "B99B0019D1879648" }, 93 { "NetBSD LFS", "49F48D82" "B10E" "11DC" "B99B0019D1879648" }, /* 50 */ 94 { "NetBSD RAID", "49F48DAA" "B10E" "11DC" "B99B0019D1879648" }, 95 { "NetBSD Concatenated", "2DB519C4" "B10F" "11DC" "B99B0019D1879648" }, 96 { "NetBSD Encrypted", "2DB519EC" "B10F" "11DC" "B99B0019D1879648" }, 97 { "ChromeOS ChromeOS kernel", "FE3A2A5D" "4F32" "41A7" "B725ACCC3285A309" }, 98 { "ChromeOS rootfs", "3CB8E202" "3B7E" "47DD" "8A3C7FF2A13CFCEC" }, 99 { "ChromeOS future use", "2E0A753D" "9E48" "43B0" "8337B15192CB1B5E" }, 100 { "MidnightBSD Boot", "85D5E45E" "237C" "11E1" "B4B3E89A8F7FC3A7" }, 101 { "MidnightBSD Data", "85D5E45A" "237C" "11E1" "B4B3E89A8F7FC3A7" }, 102 { "MidnightBSD Swap", "85D5E45B" "237C" "11E1" "B4B3E89A8F7FC3A7" }, 103 { "MidnightBSD UFS", "0394Ef8B" "237E" "11E1" "B4B3E89A8F7FC3A7" }, /* 60 */ 104 { "MidnightBSD Vinum VM", "85D5E45C" "237C" "11E1" "B4B3E89A8F7FC3A7" }, 105 { "MidnightBSD ZFS", "85D5E45D" "237C" "11E1" "B4B3E89A8F7FC3A7" }, 105 106 { "Uknown", NULL} /* keep this as the last one! gpt_get_part_type depends on it! */ 106 107 }; -
uspace/lib/gpt/libgpt.c
r493b881 r0435fe41 48 48 #include <checksum.h> 49 49 #include <mem.h> 50 #include <sys/typefmt.h> 51 50 52 51 53 #include "libgpt.h" … … 55 57 static int extend_part_array(gpt_partitions_t *); 56 58 static int reduce_part_array(gpt_partitions_t *); 57 //static long long nearest_larger_int(double);58 59 static uint8_t get_byte(const char *); 59 60 static bool check_overlap(gpt_part_t *, gpt_part_t *); … … 313 314 fillries * ent_size); 314 315 315 if (uint32_t_le2host(label->gpt->header->pe_array_crc32) != crc)316 if (uint32_t_le2host(label->gpt->header->pe_array_crc32) != crc) 316 317 { 317 318 rc = EBADCHECKSUM; … … 369 370 370 371 /* Perform checks */ 371 gpt_part_foreach (label, p) {372 gpt_part_foreach (label, p) { 372 373 if (gpt_get_part_type(p) == GPT_PTE_UNUSED) 373 374 continue; … … 375 376 if (!check_encaps(p, n_blocks, gpt_space)) { 376 377 rc = ERANGE; 377 printf("encaps with: %llu, %llu, %llu\n", n_blocks, gpt_space, gpt_get_end_lba(p)); 378 printf("encaps with: %" PRIuOFF64 ", %" PRIu64 ", %" PRIu64 "\n", 379 n_blocks, gpt_space, gpt_get_end_lba(p)); 378 380 goto fail; 379 381 } 380 382 381 gpt_part_foreach (label, q) {383 gpt_part_foreach (label, q) { 382 384 if (p == q) 383 385 continue; … … 385 387 if (gpt_get_part_type(p) != GPT_PTE_UNUSED) { 386 388 if (check_overlap(p, q)) { 387 printf("overlap with: %llu, %llu\n", gpt_get_start_lba(p), gpt_get_start_lba(q)); 389 printf("overlap with: %" PRIu64 ", %" PRIu64 "\n", 390 gpt_get_start_lba(p), gpt_get_start_lba(q)); 388 391 rc = ERANGE; 389 392 goto fail; … … 709 712 void gpt_set_random_uuid(uint8_t * uuid) 710 713 { 711 srandom((unsigned int) uuid);714 srandom((unsigned int) (size_t) uuid); 712 715 713 716 unsigned int i; … … 786 789 size_t nsize = p->arr_size * 2; 787 790 gpt_entry_t * tmp = malloc(nsize * sizeof(gpt_entry_t)); 788 if (tmp == NULL) {791 if (tmp == NULL) { 789 792 errno = ENOMEM; 790 793 return -1; … … 801 804 static int reduce_part_array(gpt_partitions_t * p) 802 805 { 803 if (p->arr_size > GPT_MIN_PART_NUM) {806 if (p->arr_size > GPT_MIN_PART_NUM) { 804 807 unsigned int nsize = p->arr_size / 2; 805 808 nsize = nsize > GPT_MIN_PART_NUM ? nsize : GPT_MIN_PART_NUM; 806 809 gpt_entry_t * tmp = malloc(nsize * sizeof(gpt_entry_t)); 807 if (tmp == NULL)810 if (tmp == NULL) 808 811 return ENOMEM; 809 812 … … 816 819 return 0; 817 820 } 818 819 /*static long long nearest_larger_int(double a)820 {821 if ((long long) a == a) {822 return (long long) a;823 }824 825 return ((long long) a) + 1;826 }*/827 821 828 822 /* Parse a byte from a string in hexadecimal -
uspace/lib/mbr/libmbr.c
r493b881 r0435fe41 170 170 mbr_part_t *p; 171 171 mbr_part_t *ext = NULL; 172 //mbr_partitions_t *parts;173 172 174 173 if (label->parts != NULL) … … 598 597 } 599 598 600 / / Internal functions follow //599 /* Internal functions follow */ 601 600 602 601 static br_block_t *alloc_br() … … 732 731 { 733 732 if (src != NULL) { 734 //trgt->status = mbr_get_flag(src, ST_BOOT) ? B_ACTIVE : B_INACTIVE;735 733 trgt->status = (uint8_t) (src->status & 0xFF); 736 734 /* ingoring CHS */ … … 741 739 trgt->last_chs[1] = 0xFF; 742 740 trgt->last_chs[2] = 0xFF; 743 if (ebr) { / / encoding reference to EBR741 if (ebr) { /* encoding reference to EBR */ 744 742 trgt->ptype = PT_EXTENDED_LBA; 745 743 trgt->first_lba = host2uint32_t_le(src->ebr_addr - base); 746 744 trgt->length = host2uint32_t_le(src->length + src->start_addr - src->ebr_addr); 747 } else { / / encoding reference to partition745 } else { /* encoding reference to partition */ 748 746 trgt->ptype = src->type; 749 747 trgt->first_lba = host2uint32_t_le(src->start_addr - base); … … 850 848 bool first_logical = true; 851 849 mbr_part_t *iter; 852 mbr_part_foreach (label, iter) {850 mbr_part_foreach (label, iter) { 853 851 if (mbr_get_flag(iter, ST_LOGIC)) { 854 852 if (check_overlap(p, iter))
Note:
See TracChangeset
for help on using the changeset viewer.
