ISO9660
include/fs/iso9660.h View source View on GitHubStructs
Section titled “Structs”iso9660_datetime
Section titled “iso9660_datetime” struct iso9660_datetime (7 fields) source
iso9660_dir_record
Section titled “iso9660_dir_record” struct iso9660_dir_record (14 fields) source
Directory record (variable size, packed)
§
uint8_t length total length of this record
§
uint8_t ext_attr_length extended attribute length
§
uint32_t extent_lba_le starting LBA (little endian)
§
uint32_t extent_lba_be §
uint32_t size_le file size in bytes (LE)
§
uint32_t size_be §
struct iso9660_datetime datetime date/time
§
uint8_t flags bit 1 = directory
§
uint8_t file_unit_size §
uint8_t interleave_gap_size §
uint16_t vol_seq_num_le §
uint16_t vol_seq_num_be §
uint8_t name_len §
char name[] cc_counted_by(name_len) iso9660_pvd
Section titled “iso9660_pvd” struct iso9660_pvd (23 fields) source
Primary Volume Descriptor (fixed size, 2048 bytes)
§
uint8_t type must be 1 for PVD
§
char id[5] must be “CD001”
§
uint8_t version must be 1
§
uint8_t unused1 §
char system_id[32] §
char volume_id[32] §
uint8_t unused2[8] §
uint32_t volume_space_le §
uint32_t volume_space_be §
uint8_t unused3[32] §
uint16_t vol_set_size_le §
uint16_t vol_set_size_be §
uint16_t vol_seq_num_le §
uint16_t vol_seq_num_be §
uint16_t logical_block_size_le §
uint16_t logical_block_size_be §
uint32_t path_table_size_le §
uint32_t path_table_size_be §
uint32_t l_path_table_loc §
uint32_t opt_l_path_table_loc §
uint32_t m_path_table_loc §
uint32_t opt_m_path_table_loc §
struct iso9660_dir_record root_dir_record iso9660_fs
Section titled “iso9660_fs” struct iso9660_fs (6 fields) source
§
struct block_device *disk §
struct iso9660_pvd *pvd §
uint32_t root_lba §
uint32_t root_size §
uint32_t block_size Functions
Section titled “Functions”iso9660_mount
Section titled “iso9660_mount”iso9660_print
Section titled “iso9660_print”iso9660_get_current_date
Section titled “iso9660_get_current_date”struct iso9660_datetime iso9660_get_current_date(void) source iso9660_read_and_print_file
Section titled “iso9660_read_and_print_file”void iso9660_read_and_print_file(
struct iso9660_fs *fs,
const char *name
) source Macros
Section titled “Macros”ISO9660_PVD_SECTOR
Section titled “ISO9660_PVD_SECTOR”#define ISO9660_PVD_SECTOR 16 source ISO9660_SECTOR_SIZE
Section titled “ISO9660_SECTOR_SIZE”#define ISO9660_SECTOR_SIZE 2048 source