Files

65 lines
1.7 KiB
C
Raw Permalink Normal View History

2026-06-24 13:30:23 -05:00
#ifndef KISO_H
#define KISO_H
#include "drivers/ide/ide.h"
typedef struct __attribute__((packed)) {
uint8_t type;
char identifier[5];
uint8_t version;
} vd_header_t;
typedef struct __attribute__((packed)) {
} iso_dec_datetime_t;
2026-06-24 13:30:23 -05:00
typedef struct __attribute__((packed)) {
vd_header_t header;
uint8_t unused;
uint8_t sys_ident[32];
uint8_t volume_ident[32];
uint8_t unused_1[8];
uint32_t volume_space_sz_le;
uint32_t volume_space_sz_be;
uint8_t unused_2[32];
uint16_t vol_set_sz_le;
uint16_t vol_set_sz_be;
uint16_t vol_seq_num_le;
uint16_t vol_seq_num_be;
uint16_t logical_blk_sz_le;
uint16_t logical_blk_sz_be;
uint32_t path_table_sz_le;
uint32_t path_table_sz_be;
uint32_t path_table_l_loc;
uint32_t opt_path_table_l_loc;
uint32_t path_table_m_loc;
uint32_t opt_path_table_m_loc;
uint8_t root_dir_entry[34];
uint8_t vol_set_ident_strd[128];
uint8_t publisher_ident_stra[128];
uint8_t data_prep_ident_stra[128];
uint8_t app_ident_stra[128];
uint8_t copyright_ident_strd[37];
uint8_t abs_file_ident_strd[37];
uint8_t bib_file_ident_strd[37];
iso_dec_datetime_t vol_creation_datetime;
iso_dec_datetime_t vol_modif_datetime;
iso_dec_datetime_t vol_expr_datetime;
iso_dec_datetime_t vol_effective_datetime;
uint8_t file_struct_version;
uint8_t unused_3;
uint8_t app_reserved[512];
uint8_t reserved[653];
2026-06-24 13:30:23 -05:00
} iso_pvd_t;
typedef struct __attribute__((packed)) {
uint8_t dir_ident_len;
uint8_t ext_attrib_len;
uint32_t location;
uint16_t parent_idx;
uint8_t dir_ident_start;
} iso_path_table_entry_t;
2026-06-24 13:30:23 -05:00
void read_iso(ide_device_t* dev);
#endif