new libunwind, updated to netbsd b1f513eedd
[minix3.git] / servers / iso9660fs / inode.h
blobd0e7bddcfe69e36013d3a9eb91769943b45cd4fd
1 #include "const.h"
3 struct dir_record {
4 u8_t length; /* The length of the record */
5 u8_t ext_attr_rec_length;
6 u32_t loc_extent_l; /* The same data (in this case loc_extent)is */
7 u32_t loc_extent_m; /* saved in two ways. The first puts the le- */
8 u32_t data_length_l; /* ast significant byte first, the second */
9 u32_t data_length_m; /* does the opposite */
10 u8_t rec_date[7]; /* => recording date */
11 u8_t file_flags; /* => flags of the file */
12 u8_t file_unit_size; /* set of blocks in interleave mode */
13 u8_t inter_gap_size; /* gap between file units in interleave mode */
14 u32_t vol_seq_number; /* volume sequence number: not used */
15 u8_t length_file_id; /* Length name file */
16 char file_id[ISO9660_MAX_FILE_ID_LEN]; /* file name */
17 struct ext_attr_rec *ext_attr;
19 /* Memory attrs */
20 u8_t d_count; /* Count if the dir_record is in use or not */
21 mode_t d_mode; /* file type, protection, etc. */
22 /* struct hash_idi_entry *id; */ /* id associated */
23 u32_t d_phy_addr; /* physical address of this dir record */
24 ino_t d_ino_nr; /* inode number (identical to the address) */
25 char d_mountpoint; /* true if mounted on */
26 struct dir_record *d_next; /* In case the file consists in more file sections
27 this points to the next one */
28 struct dir_record *d_prior; /* The same as before, this points to the dir parent */
29 u32_t d_file_size; /* Total size of the file */
31 } dir_records[NR_DIR_RECORDS];
33 struct ext_attr_rec {
34 u32_t own_id;
35 u32_t group_id;
36 u16_t permissions;
37 char file_cre_date[ISO9660_SIZE_VOL_CRE_DATE];
38 char file_mod_date[ISO9660_SIZE_VOL_MOD_DATE];
39 char file_exp_date[ISO9660_SIZE_VOL_EXP_DATE];
40 char file_eff_date[ISO9660_SIZE_VOL_EFF_DATE];
41 u8_t rec_format;
42 u8_t rec_attrs;
43 u32_t rec_length;
44 char system_id[ISO9660_SIZE_SYS_ID];
45 char system_use[ISO9660_SIZE_SYSTEM_USE];
46 u8_t ext_attr_rec_ver;
47 u8_t len_esc_seq;
49 int count;
50 } ext_attr_recs[NR_ATTR_RECS];
52 #define D_DIRECTORY 0x2
53 #define D_TYPE 0x8E
55 /* Vector with all the ids of the dir records */
56 /* PUBLIC struct hash_idi_entry { */
57 /* u32_t h_phy_addr; */
58 /* struct dir_record *h_dir_record; */
59 /* } hash_idi[NR_ID_INODES]; */
61 /* PUBLIC int size_hash_idi; */
63 /* #define ID_DIR_RECORD(id) id - hash_idi + 1 */
64 #define ID_DIR_RECORD(dir) dir->d_ino_nr
66 /* #define ASSIGN_ID 1 */
67 /* #define NOT_ASSIGN_ID 0 */