11 #ifndef _ACCDVD_INTERNAL_H
12 #define _ACCDVD_INTERNAL_H
16 #include <irx_imports.h>
18 typedef acUint32 acd_lsn_t;
22 typedef void (*acd_done_t)(
struct acd *
acd,
void *arg,
int ret);
33 typedef void (*cdc_done_t)(
int eveid);
79 unsigned char type[1];
83 unsigned char version[1];
85 unsigned char unused1[1];
87 unsigned char system_id[32];
89 unsigned char volume_id[32];
91 unsigned char unused2[8];
93 unsigned char volume_space_size[8];
95 unsigned char unused3[32];
97 unsigned char volume_set_size[4];
99 unsigned char volume_sequence_number[4];
101 unsigned char logical_block_size[4];
103 unsigned char path_table_size[8];
105 unsigned char type_l_path_table[4];
107 unsigned char opt_type_l_path_table[4];
109 unsigned char type_m_path_table[4];
111 unsigned char opt_type_m_path_table[4];
113 unsigned char root_directory_record[34];
115 unsigned char volume_set_id[128];
117 unsigned char publisher_id[128];
119 unsigned char preparer_id[128];
121 unsigned char application_id[128];
123 unsigned char copyright_file_id[37];
125 unsigned char abstract_file_id[37];
127 unsigned char bibliographic_file_id[37];
129 unsigned char creation_date[17];
131 unsigned char modification_date[17];
133 unsigned char expiration_date[17];
135 unsigned char effective_date[17];
137 unsigned char file_structure_version[1];
139 unsigned char unused4[1];
141 unsigned char application_data[512];
143 unsigned char unused5[653];
148 unsigned char length[1];
149 unsigned char ext_attr_length[1];
150 unsigned char extent[8];
151 unsigned char size[8];
152 unsigned char date[7];
153 unsigned char flags[1];
154 unsigned char file_unit_size[1];
155 unsigned char interleave[1];
156 unsigned char volume_sequence_number[4];
157 unsigned char name_len[1];
158 unsigned char name[];
163 unsigned char name_len[2];
164 unsigned char extent[4];
165 unsigned char parent[2];
166 unsigned char name[];
201 acUint8 h_padding[4];
221 acUint8 me_unused1[4];
225 acUint8 me_unused2[3];
253 acUint8 mc_maxspeed[2];
257 acUint8 mc_bufsize[2];
264 acUint8 mc_padding3[2];
323 int (*cm_restart)(
int argc,
char **argv);
324 int (*cm_start)(
int argc,
char **argv);
331 int (*start)(
int argc,
char **argv);
341 acUint32 a_padding[2];
353 extern struct acd *acd_setup(
struct acd *
acd, acd_done_t done,
void *arg,
int tmout);
354 extern int acd_module_status();
355 extern int acd_module_start(
int argc,
char **argv);
356 extern int acd_module_stop();
357 extern int acd_module_restart(
int argc,
char **argv);
358 extern int cddrv_module_start(
int argc,
char **argv);
359 extern int cddrv_module_stop();
360 extern int cddrv_module_restart(
int argc,
char **argv);
361 extern int cddrv_module_status();
362 extern int cdfs_umount();
363 extern int cdfs_recover(
int ret);
364 extern int cdfs_lookup(
struct cdfs_dirent *result,
const char *path,
int pathlen);
365 extern int cdfs_read(
struct cdfs_file *file,
void *buf,
int size);
366 extern int cdfs_module_status();
367 extern int cdfs_module_start(
int argc,
char **argv);
368 extern int cdfs_module_stop();
369 extern int cdfs_module_restart(
int argc,
char **argv);
371 extern int acd_ready(
struct acd *
acd);
372 extern int acd_readcapacity();
373 extern int acd_delay();
374 extern int acd_getmedium(
struct acd *
acd);
375 extern acCdvdsifId acd_gettray();
376 extern int acd_getstatus();
377 extern int acd_readtoc(
struct acd *
acd,
void *buf,
int size);
378 extern int acd_seek(
struct acd *
acd, acd_lsn_t lsn);
379 extern int acd_ioctl(
struct acd *
acd,
int cmd);
380 extern int acd_getspeed(
struct acd *
acd,
int maxspeed);
381 extern int acd_setspeed(
struct acd *
acd,
int speed);
382 extern int acd_setretry(
struct acd *
acd,
int rretry);
383 extern int acd_getretry(
struct acd *
acd);
384 extern int acd_read(
struct acd *
acd, acd_lsn_t lsn,
void *buf,
int sectors);