5 typedef struct ext_descr
{
10 typedef t_ext_descr t_extdatarec
[3];
12 /* Force word alignment for MorphOS on PowerPC.
13 Note that there are a lot of words and longwords in these
14 structures and there are no endianess checking so MacHFS
15 support is probably broken in AROS on little-endian architectures.
16 Also note that all structures on MacHFS CD are word-aligned as required
17 by Motorola m68000 CPU.
18 All this needs to be fixed - Pavel Fedin <sonic_amiga@rambler.ru> */
52 t_extdatarec XTExtRec
;
54 t_extdatarec CTExtRec
;
57 typedef struct node_descr
{
66 typedef struct hdr_node
{
67 t_node_descr node_descr
;
79 typedef struct idx_record
{
80 char length
; /* always 0x25 */
88 typedef struct leaf_record
{
96 typedef struct dir_record
{
107 typedef struct file_record
{
126 t_extdatarec RExtRec
;
130 typedef struct dir_thread_record
{
137 } t_dir_thread_record
;
139 typedef struct file_thread_record
{
146 } t_file_thread_record
;
148 typedef union catalog_record
{
151 t_dir_thread_record dt
;
152 t_file_thread_record ft
;
155 typedef struct hfs_vol_info
{
161 typedef struct hfs_obj_info
{
165 t_catalog_record cat_rec
;
168 typedef struct leaf_record_pos
{
171 t_node_descr node_descr
;
172 t_catalog_record cat_rec
;
173 t_leaf_record leaf_rec
;
174 char pad
[32]; /* space for name from t_leaf_record */
181 int HFS_Find_Master_Directory_Block(CDROM
*p_cd
, t_mdb
*p_mdb
);
182 t_bool
Uses_HFS_Protocol(CDROM
*p_cd
, int *p_skip
);
183 t_bool HFS_Get_Header_Node
184 (CDROM
*p_cd
,t_ulong p_mdb_pos
,t_mdb
*p_mdb
,t_hdr_node
*p_hdr_node
);
185 t_node_descr
*HFS_Get_Node
186 (CDROM
*p_cd
,t_ulong p_mdb_pos
,t_mdb
*p_mdb
,t_ulong p_node
);
187 void Convert_Mac_Characters (char *p_buf
, int p_buf_len
);
189 t_bool
HFS_Init_Vol_Info(VOLUME
*p_volume
, int p_start_block
);