![]() |
Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members
dos33.hGo to the documentation of this file.00001 #define u32 unsigned int 00002 #define u8 unsigned char 00003 #define u16 unsigned short 00004 00005 00006 /* inode information specific to ProDOS "inodes." Note that this structure is 00007 never actually instantiated. It is simply overlaid upon inode.u.minix_i to 00008 avoid the need to modify fs.h in the standard Linux source. Obviously, this 00009 limits the prodos_inode_info structure to a size <= the size of 00010 struct minix_inode_info. */ 00011 struct dos33_inode_info { 00012 u8 i_flags; 00013 u8 i_filetype; 00014 u8 i_stype; 00015 u16 i_key; 00016 u16 i_auxtype; 00017 u8 i_access; 00018 }; 00019 00020 struct dos33_track_sector{ 00021 u8 track; 00022 u8 sector; 00023 } __attribute__((packed)); 00024 00025 struct dos33_vtol { 00026 u8 four; 00027 u8 catalog_track; 00028 u8 catalog_sector; 00029 u8 dos_version; 00030 u8 unused1[2]; 00031 u8 volume; 00032 u8 unused2[0x20]; 00033 u8 ts_pairs; 00034 u8 unused3[8]; 00035 u8 last_track; 00036 u8 allocation_direction; 00037 u8 unused4[2]; 00038 u8 tracks_per_disk; 00039 u8 sectors_per_track; 00040 u16 bytes_per_sector; 00041 u32 bitmaps[0x23]; 00042 u8 unused5[0x3b]; 00043 } __attribute__((packed)); 00044 00045 struct dos33_file_t { 00046 u8 first_tsl_track; 00047 u8 first_tsl_sector; 00048 u8 file_type; 00049 u8 file_name[0x1e]; /* high bit set, padded with spaces */ 00050 u16 num_sectors; 00051 } __attribute__((packed)); 00052 00053 struct dos33_catalog_sector { 00054 u8 unused1; 00055 u8 next_track; 00056 u8 next_sector; 00057 u8 unused[8]; 00058 struct dos33_file_t files[7]; 00059 } __attribute__((packed)); 00060 00061 struct dos33_ts_list { 00062 u8 unused1; 00063 struct dos33_track_sector next; 00064 u8 unused2[2]; 00065 u16 current_sectors_deep; 00066 u8 unused3[5]; 00067 struct dos33_track_sector data_location[122]; 00068 } __attribute__((packed)); |