函数逻辑报告 |
Source Code:block\partitions\msdos.c |
Create Date:2022-07-27 19:04:55 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:msdos_partition
函数原型:int msdos_partition(struct parsed_partitions *state)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct parsed_partitions * | state |
454 | sector_size等于bdev_logical_block_size(bdev)除512 |
462 | data等于read_part_sector(state, 0, & sect) |
463 | 如果非data则返回:负1 |
470 | 如果aix_magic_present(state, data)则 |
471 | put_dev_sector(sect) |
473 | 返回:aix_partition(state) |
480 | 如果非msdos_magic_present(data + 510)则 |
481 | put_dev_sector(sect) |
482 | 返回:0 |
493 | 如果 0x80 - active 不等于0且 0x80 - active 不等于0x80则 |
500 | 如果slot恒等于1且 reserved sectors 且 number of FATs 且media of boot sector 则 |
505 | 否则 |
506 | put_dev_sector(sect) |
507 | 返回:0 |
516 | 如果SYS_IND(p)恒等于EFI_PMBR_OSTYPE_EFI_GPT则 |
517 | put_dev_sector(sect) |
518 | 返回: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 | 如果非size则继续下一循环 |
539 | 如果is_extended_partition(p)则 |
556 | put_partition(state, slot, start, size) |
558 | 如果SYS_IND(p)恒等于LINUX_RAID_PARTITION则flags等于ADDPART_FLAG_RAID |
560 | 如果SYS_IND(p)恒等于DM6_PARTITION则长字符串拼接 |
562 | 如果SYS_IND(p)恒等于EZD_PARTITION则长字符串拼接 |
566 | 长字符串拼接 |
581 | 继续下一循环 |
582 | parse(state, start_sect(p) * sector_size, nr_sects(p) * sector_size, slot) |
585 | put_dev_sector(sect) |
586 | 返回:1 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |