]> Shamusworld >> Repos - virtualjaguar/blob - src/include/cdi.h
Adding 1.0.1/2 uncompressed tarballs to tags for historical purposes.
[virtualjaguar] / src / include / cdi.h
1 #ifndef __CDI_H__\r
2 #define __CDI_H__\r
3 \r
4 #include "jaguar.h"\r
5 #include "types.h"\r
6 #include <stdio.h>\r
7 #include <stdlib.h>\r
8 #ifndef __PORT__\r
9 #include <io.h>\r
10 #endif\r
11 #include <fcntl.h>\r
12 \r
13 struct s_cdi_track\r
14 {\r
15         uint8   filename_length;\r
16         uint32  pregap_length;\r
17         uint32  length;\r
18         uint32  mode;\r
19         uint32  start_lba;\r
20         uint32  total_length;\r
21         uint32  sector_size;\r
22         uint32  sector_size_value;\r
23         uint32  position;\r
24 };\r
25 \r
26 struct s_cdi_session\r
27 {\r
28         uint16 nb_of_tracks;\r
29         s_cdi_track *tracks;\r
30 };\r
31 \r
32 struct s_cdi_descriptor\r
33 {\r
34         uint32 length;\r
35         uint32 version;\r
36         uint32 header_offset;\r
37         uint16 nb_of_sessions;\r
38         s_cdi_session *sessions;\r
39 };\r
40 \r
41 extern int                              cdi_fp;\r
42 extern uint32                   cdi_load_address;\r
43 extern uint32                   cdi_code_length;\r
44 extern s_cdi_descriptor *cdi_descriptor;\r
45 extern s_cdi_track              **cdi_tracks;\r
46 extern uint32                   cdi_tracks_count;\r
47 \r
48 int cdi_open(char *path);\r
49 void cdi_close(int fp);\r
50 s_cdi_descriptor *cdi_get_descriptor(int fp, FILE *stdfp);\r
51 void cdi_dump_descriptor(FILE *fp,s_cdi_descriptor *cdi_descriptor);\r
52 uint8 *cdi_extract_boot_code(int fp, s_cdi_descriptor *cdi_descriptor);\r
53 void cdi_load_sector(uint32 sector, uint8 *buffer);\r
54 \r
55 #endif\r