Function report |
Source Code:block\partitions\msdos.c |
Create Date:2022-07-28 17:29:32 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:msdos_partition
Proto:int msdos_partition(struct parsed_partitions *state)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct parsed_partitions * | state |
| 454 | sector_size = bdev_logical_block_size(bdev) / 512 |
| 462 | data = read_part_sector(state, 0, & sect) |
| 463 | If Not data Then Return -1 |
| 470 | If aix_magic_present(state, data) Then |
| 471 | put_dev_sector(sect) |
| 473 | Return aix_partition(state) |
| 480 | If Not msdos_magic_present(data + 510) Then |
| 481 | put_dev_sector(sect) |
| 482 | Return 0 |
| 493 | If 0x80 - active != 0 && 0x80 - active != 0x80 Then |
| 500 | If slot == 1 && reserved sectors && number of FATs && media of boot sector Then |
| 503 | put_dev_sector(sect) |
| 504 | Return 1 |
| 505 | Else |
| 506 | put_dev_sector(sect) |
| 507 | Return 0 |
| 516 | If SYS_IND(p) == EFI_PMBR_OSTYPE_EFI_GPT Then |
| 517 | put_dev_sector(sect) |
| 518 | Return 0 |
| 524 | disksig = le32_to_cpup((__le32 * )(data + 0x1b8)) |
| 532 | next = 5 |
| 534 | start = start_sect(p) * sector_size |
| 535 | size = nr_sects(p) * sector_size |
| 537 | If Not size Then Continue |
| 539 | If is_extended_partition(p) Then |
| 546 | n = 2 |
| 549 | put_partition(state, slot, start, n) |
| 554 | Continue |
| 556 | put_partition(state, slot, start, size) |
| 558 | If SYS_IND(p) == LINUX_RAID_PARTITION Then flags = ADDPART_FLAG_RAID |
| 581 | Continue |
| 582 | parse(state, start_sect(p) * sector_size, nr_sects(p) * sector_size, slot) |
| 585 | put_dev_sector(sect) |
| 586 | Return 1 |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |