]> FriiDump Source - friidump.git/blob - libfriidump/xbox_ref_bridge.h
FriiDump 0.5.3.16 candidate: add native reports and Linux Xbox support
[friidump.git] / libfriidump / xbox_ref_bridge.h
1 #ifndef XBOX_REF_BRIDGE_H_INCLUDED
2 #define XBOX_REF_BRIDGE_H_INCLUDED
3
4 #include <stdint.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 #define XBOX_REF_RESULT_PATH_MAX 4096
11 #define XBOX_REF_RESULT_TITLE_MAX 256
12 #define XBOX_REF_RESULT_MEDIA_ID_MAX 64
13 #define XBOX_REF_RESULT_REGION_MAX 128
14
15 typedef int (*xbox_ref_cancel_func)(void *cancel_data);
16
17 typedef struct xbox_ref_dump_result_s {
18     int attempted;
19     int dump_success;
20     int cancelled;
21     int hashes_complete;
22     char mode;
23     uint32_t output_sectors;
24     uint32_t completed_sectors;
25     uint64_t output_size;
26     double elapsed_seconds;
27     char output_path[XBOX_REF_RESULT_PATH_MAX];
28     char title[XBOX_REF_RESULT_TITLE_MAX];
29     char media_id[XBOX_REF_RESULT_MEDIA_ID_MAX];
30     int have_game_region;
31     uint32_t game_region;
32     char region[XBOX_REF_RESULT_REGION_MAX];
33     char crc32[9];
34     char md5[33];
35     char sha1[41];
36     char sha256[65];
37 } xbox_ref_dump_result;
38
39 void xbox_ref_dump_result_init(xbox_ref_dump_result *result);
40 int xbox_ref_gdr8050l_dump_with_handle(void *native_handle,
41                                        const char *device,
42                                        const char *filename,
43                                        char mode,
44                                        xbox_ref_cancel_func cancel,
45                                        void *cancel_data,
46                                        xbox_ref_dump_result *result);
47 int xbox_ref_gdr8050l_dump(const char *device,
48                            const char *filename,
49                            char mode,
50                            xbox_ref_dump_result *result);
51 int xbox_ref_xgd1_layout_probe_with_handle(void *native_handle,
52                                                 const char *device,
53                                                 const char *report_path);
54 int xbox_ref_xgd1_layout_probe(const char *device,
55                                const char *report_path);
56 int xbox_ref_xgd1_raw_id_probe_with_handle(void *native_handle,
57                                            const char *device,
58                                            const char *report_path);
59 int xbox_ref_xgd1_raw_id_probe(const char *device,
60                                const char *report_path);
61
62 #ifdef __cplusplus
63 }
64 #endif
65
66 #endif