4 #include <klibc/compiler.h>
9 uint32_t pvd
; /* LBA of primary volume descriptor */
10 uint32_t file
; /* LBA of boot file */
11 uint32_t length
; /* Length of boot file */
12 uint32_t csum
; /* Checksum of boot file */
13 uint32_t reserved
[10]; /* Currently unused */
16 extern struct iso_boot_info iso_boot_info
; /* In isolinux.asm */
18 /* The root dir entry offset in the primary volume descriptor */
19 #define ROOT_DIR_OFFSET 156
21 struct iso_dir_entry
{
22 uint8_t length
; /* 00 */
23 uint8_t ext_attr_length
; /* 01 */
24 uint32_t extent_le
; /* 02 */
25 uint32_t extent_be
; /* 06 */
26 uint32_t size_le
; /* 0a */
27 uint32_t size_be
; /* 0e */
28 uint8_t date
[7]; /* 12 */
29 uint8_t flags
; /* 19 */
30 uint8_t file_unit_size
; /* 1a */
31 uint8_t interleave
; /* 1b */
32 uint16_t volume_sequence_number_le
; /* 1c */
33 uint16_t volume_sequence_number_be
; /* 1e */
34 uint8_t name_len
; /* 20 */
35 char name
[0]; /* 21 */
39 struct iso_dir_entry root
;
43 * iso9660 private inode information
45 struct iso9660_pvt_inode
{
46 uint32_t lba
; /* Starting LBA of file data area*/
49 #define PVT(i) ((struct iso9660_pvt_inode *)((i)->pvt))
51 #endif /* iso9660_fs.h */