summaryrefslogtreecommitdiff
path: root/minix/fs/isofs/super.h
blob: 9ace51aa2e0194d7502ac63a30fad14ebe9ff57c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* This file contains the definitions of ISO9660 volume descriptors. */
#include "inode.h"

#define VD_BOOT_RECORD 0
#define VD_PRIMARY 1
#define VD_SUPPL 2
#define VD_PART 3
#define VD_SET_TERM 255

#define MAX_ATTEMPTS 20         /* # attempts to read the volume descriptors.
                                 * After it gives up */

/* Structure for the primary volume descriptor. */
struct iso9660_vol_pri_desc {
	/*
	 * On-disk structure format of the primary volume descriptor,
	 * 2048 bytes long. See ISO specs for details.
	 */
	u8_t vd_type;
	char standard_id[ISO9660_SIZE_STANDARD_ID];
	u8_t vd_version;
	u8_t pad1;
	char system_id[ISO9660_SIZE_SYS_ID];
	char volume_id[ISO9660_SIZE_VOLUME_ID];
	u8_t pad2[8];
	u32_t volume_space_size_l;
	u32_t volume_space_size_m;
	u8_t pad3[32];
	u16_t volume_set_size_l;
	u16_t volume_set_size_m;
	u16_t volume_sequence_number_l;
	u16_t volume_sequence_number_m;
	u16_t logical_block_size_l;
	u16_t logical_block_size_m;
	u32_t path_table_size_l;
	u32_t path_table_size_m;
	u32_t loc_l_occ_path_table;
	u32_t loc_opt_l_occ_path_table;
	u32_t loc_m_occ_path_table;
	u32_t loc_opt_m_occ_path_table;
	u8_t root_directory[34];
	char volume_set_id[ISO9660_SIZE_VOLUME_SET_ID];
	char publisher_id[ISO9660_SIZE_PUBLISHER_ID];
	char data_preparer_id[ISO9660_SIZE_DATA_PREP_ID];
	char application_id[ISO9660_SIZE_APPL_ID];
	char copyright_file_id[ISO9660_SIZE_COPYRIGHT_FILE_ID];
	char abstract_file_id[ISO9660_SIZE_ABSTRACT_FILE_ID];
	char bibl_file_id[ISO9660_SIZE_BIBL_FILE_ID];
	char volume_cre_date[ISO9660_SIZE_DATE17];
	char volume_mod_date[ISO9660_SIZE_DATE17];
	char volume_exp_date[ISO9660_SIZE_DATE17];
	char volume_eff_date[ISO9660_SIZE_DATE17];
	u8_t file_struct_ver;
	u8_t reserved1;
	u8_t application_use[512];
	u8_t reserved2[652];

	/* End of the on-disk structure format. */

	struct inode *inode_root;
	int i_count;
} __attribute__((packed)) v_pri;