static int check_part_gpt(disk_t *disk, const int verbose,partition_t *partition, const int saveheader) { int ret=0; unsigned int old_levels; old_levels=log_set_levels(0); if(guid_cmp(partition->part_type_gpt, GPT_ENT_TYPE_MS_BASIC_DATA)==0 || guid_cmp(partition->part_type_gpt, GPT_ENT_TYPE_MS_RESERVED)==0) { ret=check_FAT(disk,partition,verbose); if(ret!=0) ret=check_EXFAT(disk, partition); if(ret!=0) ret=check_NTFS(disk,partition,verbose,0); if(ret!=0) ret=check_ReFS(disk, partition); if(ret!=0) ret=check_linux(disk, partition, verbose); if(ret!=0) screen_buffer_add("No FAT, NTFS, ext2, JFS, Reiser, cramfs or XFS marker\n"); } else if(guid_cmp(partition->part_type_gpt, GPT_ENT_TYPE_LINUX_RAID)==0) { ret=check_MD(disk, partition, verbose); if(ret!=0) screen_buffer_add("Invalid RAID superblock\n"); } else if(guid_cmp(partition->part_type_gpt, GPT_ENT_TYPE_LINUX_LVM)==0) { ret=check_LVM(disk, partition, verbose); if(ret!=0) ret=check_LVM2(disk, partition, verbose); if(ret!=0) screen_buffer_add("No LVM or LVM2 structure\n"); } else if(guid_cmp(partition->part_type_gpt, GPT_ENT_TYPE_MAC_HFS)==0) { ret=check_HFS(disk, partition, verbose); if(ret!=0) ret=check_HFSP(disk, partition, verbose); if(ret!=0) screen_buffer_add("No HFS or HFS+ structure\n"); } log_set_levels(old_levels); if(ret!=0) { log_error("check_part_gpt failed for partition\n"); log_partition(disk, partition); aff_part_buffer(AFF_PART_ORDER|AFF_PART_STATUS,disk,partition); if(saveheader>0) { save_header(disk, partition, verbose); } } return ret; }
static int check_part_none(disk_t *disk_car,const int verbose,partition_t *partition, const int saveheader) { int ret=0; switch(partition->upart_type) { case UP_BEOS: ret=check_BeFS(disk_car,partition); break; case UP_BTRFS: ret=check_btrfs(disk_car, partition); break; case UP_CRAMFS: ret=check_cramfs(disk_car,partition,verbose); break; case UP_EXT2: case UP_EXT3: case UP_EXT4: ret=check_EXT2(disk_car,partition,verbose); break; case UP_EXTENDED: break; case UP_EXFAT: ret=check_EXFAT(disk_car, partition); break; case UP_FAT12: case UP_FAT16: case UP_FAT32: ret=check_FAT(disk_car,partition,verbose); break; case UP_FATX: ret=check_FATX(disk_car, partition); break; case UP_FREEBSD: ret=check_BSD(disk_car,partition,verbose,BSD_MAXPARTITIONS); break; case UP_GFS2: ret=check_gfs2(disk_car, partition); break; case UP_HFS: ret=check_HFS(disk_car,partition,verbose); break; case UP_HFSP: case UP_HFSX: ret=check_HFSP(disk_car,partition,verbose); break; case UP_HPFS: ret=check_HPFS(disk_car,partition,verbose); break; case UP_ISO: ret=check_ISO(disk_car, partition); break; case UP_JFS: ret=check_JFS(disk_car, partition); break; case UP_LINSWAP: case UP_LINSWAP2: case UP_LINSWAP_8K: case UP_LINSWAP2_8K: case UP_LINSWAP2_8KBE: ret=check_Linux_SWAP(disk_car, partition); break; case UP_LUKS: ret=check_LUKS(disk_car, partition); break; case UP_LVM: ret=check_LVM(disk_car,partition,verbose); break; case UP_LVM2: ret=check_LVM2(disk_car,partition,verbose); break; case UP_NETWARE: ret=check_netware(disk_car, partition); break; case UP_NTFS: ret=check_NTFS(disk_car,partition,verbose,0); if(ret!=0) { screen_buffer_add("Invalid NTFS boot\n"); } break; case UP_OPENBSD: ret=check_BSD(disk_car,partition,verbose,OPENBSD_MAXPARTITIONS); break; case UP_OS2MB: ret=check_OS2MB(disk_car,partition,verbose); break; case UP_MD: case UP_MD1: ret=check_MD(disk_car,partition,verbose); if(ret!=0) { screen_buffer_add("Invalid RAID superblock\n"); } break; case UP_RFS: case UP_RFS2: case UP_RFS3: case UP_RFS4: ret=check_rfs(disk_car,partition,verbose); break; case UP_SUN: ret=check_sun_i386(disk_car,partition,verbose); break; case UP_SYSV4: ret=check_sysv(disk_car,partition,verbose); break; case UP_UFS: case UP_UFS2: case UP_UFS_LE: case UP_UFS2_LE: ret=check_ufs(disk_car,partition,verbose); break; case UP_VMFS: ret=check_VMFS(disk_car, partition); break; case UP_WBFS: ret=check_WBFS(disk_car, partition); break; case UP_XFS: case UP_XFS2: case UP_XFS3: case UP_XFS4: ret=check_xfs(disk_car,partition,verbose); break; case UP_ZFS: ret=check_ZFS(disk_car, partition); break; case UP_UNK: break; } return ret; }