1 /* This file contains the definitions of ISO9660 volume descriptors. */
4 #define VD_BOOT_RECORD 0
8 #define VD_SET_TERM 255
10 #define MAX_ATTEMPTS 20 /* # attempts to read the volume descriptors.
11 * After it gives up */
13 /* Structure for the primary volume descriptor. */
14 struct iso9660_vol_pri_desc
{
16 * On-disk structure format of the primary volume descriptor,
17 * 2048 bytes long. See ISO specs for details.
20 char standard_id
[ISO9660_SIZE_STANDARD_ID
];
23 char system_id
[ISO9660_SIZE_SYS_ID
];
24 char volume_id
[ISO9660_SIZE_VOLUME_ID
];
26 u32_t volume_space_size_l
;
27 u32_t volume_space_size_m
;
29 u16_t volume_set_size_l
;
30 u16_t volume_set_size_m
;
31 u16_t volume_sequence_number_l
;
32 u16_t volume_sequence_number_m
;
33 u16_t logical_block_size_l
;
34 u16_t logical_block_size_m
;
35 u32_t path_table_size_l
;
36 u32_t path_table_size_m
;
37 u32_t loc_l_occ_path_table
;
38 u32_t loc_opt_l_occ_path_table
;
39 u32_t loc_m_occ_path_table
;
40 u32_t loc_opt_m_occ_path_table
;
41 u8_t root_directory
[34];
42 char volume_set_id
[ISO9660_SIZE_VOLUME_SET_ID
];
43 char publisher_id
[ISO9660_SIZE_PUBLISHER_ID
];
44 char data_preparer_id
[ISO9660_SIZE_DATA_PREP_ID
];
45 char application_id
[ISO9660_SIZE_APPL_ID
];
46 char copyright_file_id
[ISO9660_SIZE_COPYRIGHT_FILE_ID
];
47 char abstract_file_id
[ISO9660_SIZE_ABSTRACT_FILE_ID
];
48 char bibl_file_id
[ISO9660_SIZE_BIBL_FILE_ID
];
49 char volume_cre_date
[ISO9660_SIZE_DATE17
];
50 char volume_mod_date
[ISO9660_SIZE_DATE17
];
51 char volume_exp_date
[ISO9660_SIZE_DATE17
];
52 char volume_eff_date
[ISO9660_SIZE_DATE17
];
55 u8_t application_use
[512];
58 /* End of the on-disk structure format. */
60 struct inode
*inode_root
;
62 } __attribute__((packed
)) v_pri
;