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
;
41 int do_rr
; /* 1 , 2 = try to process Rock Ridge info , 0 = do not.
42 2 indicates that the id of RRIP 1.12 was found.
44 int susp_skip
; /* Skip length from SUSP entry SP */
48 * iso9660 private inode information
50 struct iso9660_pvt_inode
{
51 uint32_t lba
; /* Starting LBA of file data area*/
54 #define PVT(i) ((struct iso9660_pvt_inode *)((i)->pvt))
56 #endif /* iso9660_fs.h */