函数逻辑报告 | 
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 插件可实现:逻辑报告 代码生成和批量转换代码  |