cbmimage
Loading...
Searching...
No Matches
validate.c File Reference

cbmimage: validate disk More...

#include "cbmimage/internal.h"
#include "cbmimage/alloc.h"
#include <assert.h>
#include <string.h>
Include dependency graph for validate.c:

Enumerations

enum  {
  SUPER_SIDESECTOR_OFFSET_LINK_TRACK = 0x00 , SUPER_SIDESECTOR_OFFSET_LINK_SECTOR = 0x01 , SUPER_SIDESECTOR_OFFSET_LINK_COUNT = 0x02 , SUPER_SIDESECTOR_OFFSET_GROUP0_TRACK = 0x03 ,
  SUPER_SIDESECTOR_OFFSET_GROUP0_SECTOR = 0x04
}
 
enum  { SUPER_SIDESECTOR_LINK_COUNT_FIXED = 0xFEu }
 
enum  {
  SIDESECTOR_OFFSET_LINK_TRACK = 0x00 , SIDESECTOR_OFFSET_LINK_SECTOR = 0x01 , SIDESECTOR_OFFSET_LINK_COUNT = 0x02 , SIDESECTOR_OFFSET_RECORD_SIZE = 0x03 ,
  SIDESECTOR_OFFSET_SS0_TRACK = 0x04 , SIDESECTOR_OFFSET_SS0_SECTOR = 0x05 , SIDESECTOR_OFFSET_CHAIN_TRACK = 0x10 , SIDESECTOR_OFFSET_CHAIN_SECTOR = 0x11
}
 
enum  { SIDESECTOR_MAX_COUNT = 6 }
 

Functions

static int cbmimage_i_mark_global_and_local (cbmimage_fileimage *image, cbmimage_loop *loop_detector, cbmimage_blockaddress block_start, cbmimage_blockaddress block_current, cbmimage_blockaddress block_target)
 
static int cbmimage_i_validate_follow_chain (cbmimage_fileimage *image, cbmimage_blockaddress block_start, size_t *count_blocks)
 
int cbmimage_i_validate_1581_partition (cbmimage_fileimage *image, cbmimage_blockaddress block_start, int count)
 
static int cbmimage_i_bam_check_equality (cbmimage_fileimage *image)
 
static int cbmimage_i_validate_super_sidesector_plausibility (cbmimage_chain *chain)
 
static int cbmimage_i_validate_super_sidesector_end (cbmimage_chain *chain, uint8_t offset)
 
static int cbmimage_i_validate_sidesector_plausibility (cbmimage_chain *chain_sidesector, uint8_t *first_sidesector, uint8_t count_sidesector, int recordlength)
 
static int cbmimage_i_validate_sidesector_chain (cbmimage_chain *chain_sidesector, cbmimage_chain *chain_file)
 
static int cbmimage_i_validate_rel_file (cbmimage_fileimage *image, cbmimage_dir_entry *dir_entry, size_t *count_blocks)
 
static int cbmimage_i_validate_geos_file (cbmimage_fileimage *image, cbmimage_dir_entry *dir_entry, size_t *count_blocks)
 
int cbmimage_i_validate_process_file (cbmimage_fileimage *image, cbmimage_dir_entry *dir_entry)
 validate a specific file
 
int cbmimage_validate (cbmimage_fileimage *image)
 validate the disk (and the bam)
 

Detailed Description

cbmimage: validate disk


Author
Spiro Trikaliotis