Lines Matching refs:ext

119 	daddr_t		base;		/* first sector of ext. ptn */
120 daddr_t limit; /* last sector of ext. ptn */
124 } ext;
572 if (E_flag && !u_flag && partition >= ext.num_ptn)
681 daddr_t offset = ext.base;
684 offset += le32toh(ext.ptn[part - 1].mbr_parts[1].mbrp_start);
702 if (ext.is_corrupt)
705 if (ext.num_ptn != 0)
708 for (part = 0; part < ext.num_ptn; part++) {
711 print_part(&ext.ptn[part], 0, ext_offset(part));
714 print_mbr_partition(&ext.ptn[part], 1,
715 ext_offset(part), ext.base, 0);
753 if (which > ext.num_ptn)
756 print_part(&ext.ptn[which], 0, ext_offset(which));
777 part = boot - ext.ptn;
898 (v_flag <= 2 && !ext.is_corrupt))
1144 ext.base = le32toh(mp->mbrp_start);
1145 ext.limit = ext.base + le32toh(mp->mbrp_size);
1146 ext.ptn_id = mp - mboot.mbr_parts;
1148 if (reallocarr(&ext.ptn,
1149 ext.num_ptn + 1, sizeof(*ext.ptn)) != 0)
1151 boot = ext.ptn + ext.num_ptn;
1152 if (read_s0(offset + ext.base, boot) == -1)
1167 + le32toh(boot->mbr_parts[0].mbrp_size) > ext.limit)
1170 ext.num_ptn++;
1181 ext.is_corrupt = 1;
1182 ext.num_ptn = 0;
1355 for (p = 0; p < ext.num_ptn; p++) {
1356 if (ext.ptn[p].mbr_parts[0].mbrp_type == 0)
1358 if (ext.ptn[p].mbr_bootsel.mbrbs_nametab[0][0] == 0)
1362 + le32toh(ext.ptn[p].mbr_parts[0].mbrp_start);
1408 for (p = 0; p < ext.num_ptn; p++) {
1409 if (ext.ptn[p].mbr_parts[0].mbrp_type == 0)
1411 if (ext.ptn[p].mbr_bootsel.mbrbs_nametab[0][0] == 0)
1413 if (le32toh(ext.ptn[p].mbr_parts[0].mbrp_start) +
1447 for (p = 0; p < ext.num_ptn; p++) {
1448 if (ext.ptn[p].mbr_bootsel_magic != LE_MBR_BS_MAGIC)
1450 if (ext.ptn[p].mbr_parts[0].mbrp_type == 0)
1452 if (ext.ptn[p].mbr_bootsel.mbrbs_nametab[p][0] == 0)
1559 off = calloc(1 + MBR_PART_COUNT + ext.num_ptn + num_bios_disks, sizeof *off);
1579 for (i = 0; i < ext.num_ptn; i++) {
1580 if (ext.ptn[i].mbr_parts[0].mbrp_type == 0)
1582 if (ext.ptn[i].mbr_bootsel.mbrbs_nametab[0][0] == 0)
1585 ++opt, ext.ptn[i].mbr_bootsel.mbrbs_nametab[0]);
1587 le32toh(ext.ptn[i].mbr_parts[0].mbrp_start);
1766 if (part == ext.ptn_id) {
1768 free(ext.ptn);
1769 memset(&ext, 0, sizeof ext);
1780 ext.ptn[0].mbr_parts[0].mbrp_type = 0;
1783 ext.ptn[part - 1].mbr_parts[1] = ext.ptn[part].mbr_parts[1];
1784 memmove(&ext.ptn[part], &ext.ptn[part + 1],
1785 (ext.num_ptn - part - 1) * sizeof ext.ptn[0]);
1786 ext.num_ptn--;
1795 if (reallocarr(&ext.ptn, ext.num_ptn + 1, sizeof(*ext.ptn)) != 0)
1797 for (part = 0; part < ext.num_ptn; part++)
1801 memmove(&ext.ptn[part + 1], &ext.ptn[part],
1802 (ext.num_ptn - part) * sizeof ext.ptn[0]);
1803 memset(&ext.ptn[part], 0, sizeof ext.ptn[0]);
1804 ext.ptn[part].mbr_magic = LE_MBR_MAGIC;
1808 partp = &ext.ptn[0].mbr_parts[1];
1811 le32toh(ext.ptn[1].mbr_parts[0].mbrp_start) +
1812 le32toh(ext.ptn[1].mbr_parts[0].mbrp_size));
1815 partp = &ext.ptn[part - 1].mbr_parts[1];
1816 ext.ptn[part].mbr_parts[1] = *partp;
1818 partp->mbrp_start = htole32(start - ptn_0_offset - ext.base);
1828 ext.num_ptn++;
1871 if (ext.base != 0) {
1875 delete_ptn(ext.ptn_id);
1879 ext.ptn = calloc(1, sizeof ext.ptn[0]);
1880 if (ext.ptn == NULL)
1882 ext.ptn[0].mbr_magic = LE_MBR_MAGIC;
1883 ext.ptn_id = part;
1884 ext.base = start;
1885 ext.limit = start + size;
1886 ext.num_ptn = 1;
1900 if (ext.num_ptn == 0 ||
1901 (ext.num_ptn == 1 && ext.ptn[0].mbr_parts[0].mbrp_type == 0))
1911 if (le32toh(mboot.mbr_parts[part].mbrp_start) != ext.base)
1915 for (p = ext.num_ptn; --p >= 0;) {
1916 if (ext.ptn[p].mbr_parts[0].mbrp_type == 0)
1919 p_e = p_s + le32toh(ext.ptn[p].mbr_parts[0].mbrp_start)
1920 + le32toh(ext.ptn[p].mbr_parts[0].mbrp_size);
1929 if (fix && start != ext.base) {
1931 for (p = 0; p < ext.num_ptn - 1; p++)
1932 ext.ptn[p].mbr_parts[1].mbrp_start = htole32(
1933 le32toh(ext.ptn[p].mbr_parts[1].mbrp_start)
1934 + ext.base - start);
1936 if (ext.ptn[0].mbr_parts[0].mbrp_type == 0) {
1937 if (le32toh(ext.ptn[0].mbr_parts[1].mbrp_start) == 0) {
1939 memmove(&ext.ptn[0], &ext.ptn[1],
1940 (ext.num_ptn - 1) * sizeof ext.ptn[0]);
1941 ext.num_ptn--;
1946 ext.ptn[0].mbr_parts[1].mbrp_start = htole32(ext.base
1951 ext.base = start;
1952 ext.limit = start + size;
1972 if (start < ext.base || start + size > ext.limit)
1978 for (p = ext.num_ptn; --p >= 0;) {
1979 if (p == part || ext.ptn[p].mbr_parts[0].mbrp_type == 0)
1982 p_e = p_s + le32toh(ext.ptn[p].mbr_parts[0].mbrp_start)
1983 + le32toh(ext.ptn[p].mbr_parts[0].mbrp_size);
1985 p_s += le32toh(ext.ptn[p].mbr_parts[0].mbrp_start)
1995 ext.ptn[p].mbr_parts[0].mbrp_type = 0;
2021 if (part != -1 && part < ext.num_ptn) {
2022 boot = &ext.ptn[part];
2082 start = ext.base;
2083 for (p = 0; p < ext.num_ptn; p++) {
2084 if (ext.ptn[p].mbr_parts[0].mbrp_type == 0)
2090 + le32toh(ext.ptn[p].mbr_parts[0].mbrp_start)
2091 + le32toh(ext.ptn[p].mbr_parts[0].mbrp_size);
2093 if (ext.limit - start <= ptn_0_offset) {
2146 daddr_t lim = extended ? ext.limit : disksectors;
2149 extended ? ext.base : 0, lim);
2159 for (p = 0; p < ext.num_ptn; p++) {
2162 if (ext.ptn[p].mbr_parts[0].mbrp_type == 0)
2168 + le32toh(ext.ptn[p].mbr_parts[0].mbrp_start)
2169 + le32toh(ext.ptn[p].mbr_parts[0].mbrp_size)) {
2268 if (start == ext.base + ptn_0_offset)
2275 boot = &ext.ptn[part];
2344 for (p = ext.num_ptn; --p >= 0;)
2345 if (ext.ptn[p].mbr_parts[0].mbrp_type == 0)
2361 printf("NUMEXTPTN=%d\n", ext.num_ptn);
2802 for (offset = 0, i = 0; i < ext.num_ptn; i++) {
2803 if (write_disk(ext.base + offset, ext.ptn + i) == -1) {
2807 offset = le32toh(ext.ptn[i].mbr_parts[1].mbrp_start);