1 |
#ifndef _CDVDHDD_H_ |
2 |
#define _CDVDHDD_H_ |
3 |
|
4 |
#define HDL_IRX 0xD0D0D0D |
5 |
|
6 |
#define HDD_SECTOR_SIZE 512 /* HDD sector size in bytes */ |
7 |
|
8 |
/* HD Loader I/O interface */ |
9 |
|
10 |
typedef struct hio_type hio_t; |
11 |
|
12 |
typedef int (*hio_probe_t) (const char *path, |
13 |
hio_t **hio); |
14 |
|
15 |
typedef int (*hio_stat_t) (hio_t *hio, |
16 |
u_long *size_in_kb); |
17 |
|
18 |
typedef int (*hio_read_t) (hio_t *hio, |
19 |
u_long start_sector, |
20 |
u_long num_sectors, |
21 |
void *output, |
22 |
u_long *bytes); |
23 |
|
24 |
typedef int (*hio_write_t) (hio_t *hio, |
25 |
u_long start_sector, |
26 |
u_long num_sectors, |
27 |
const void *input, |
28 |
u_long *bytes); |
29 |
|
30 |
typedef int (*hio_flush_t) (hio_t *hio); |
31 |
|
32 |
typedef int (*hio_poweroff_t) (hio_t *hio); |
33 |
|
34 |
typedef int (*hio_close_t) (hio_t *hio); |
35 |
|
36 |
/* return last error text in a memory buffer, that would be freed by calling hio_dispose_error_t */ |
37 |
typedef char* (*hio_last_error_t) (hio_t *hio); |
38 |
typedef void (*hio_dispose_error_t) (hio_t *hio, |
39 |
char* error); |
40 |
|
41 |
struct hio_type |
42 |
{ |
43 |
hio_stat_t stat; |
44 |
hio_read_t read; |
45 |
hio_write_t write; |
46 |
hio_flush_t flush; |
47 |
hio_close_t close; |
48 |
hio_poweroff_t poweroff; |
49 |
hio_last_error_t last_error; |
50 |
hio_dispose_error_t dispose_error; |
51 |
}; |
52 |
|
53 |
typedef struct hio_iop_type |
54 |
{ |
55 |
hio_t hio; |
56 |
int unit; |
57 |
size_t size_in_sectors; |
58 |
} hio_iop_t; |
59 |
|
60 |
typedef struct { |
61 |
char Partition_Name [32 + 1]; |
62 |
} Rpc_Packet_Send_GetInfo; |
63 |
|
64 |
typedef struct { |
65 |
char OldName[64]; |
66 |
char NewName[64]; |
67 |
} Rpc_Packet_Send_Rename; |
68 |
|
69 |
typedef struct { |
70 |
char Partition_Name [32 + 1]; |
71 |
char Name [64 + 1]; |
72 |
char Startup [8 + 1 + 3 + 1]; |
73 |
int Is_Dvd; |
74 |
} GameInfo; |
75 |
|
76 |
int HdlGetGameInfo(char *PartName, GameInfo *GameInf); |
77 |
int HdlRenameGame(void *Data); |
78 |
|
79 |
#endif |