X-Git-Url: https://git.jtryba.com/browse/friidump.git/blobdiff_plain/d44030dfa440b1967ec7dcd3ccfe46fb69934486..1b1f91613a6976707cb92f47efa819c278c08d4f:/libfriidump/xbox_ref_bridge.h diff --git a/libfriidump/xbox_ref_bridge.h b/libfriidump/xbox_ref_bridge.h index 6da040b..59d191f 100644 --- a/libfriidump/xbox_ref_bridge.h +++ b/libfriidump/xbox_ref_bridge.h @@ -1,12 +1,63 @@ #ifndef XBOX_REF_BRIDGE_H_INCLUDED #define XBOX_REF_BRIDGE_H_INCLUDED +#include + #ifdef __cplusplus extern "C" { #endif -int xbox_ref_gdr8050l_dump_with_handle(void *native_handle, const char *device, const char *filename, char mode); -int xbox_ref_gdr8050l_dump(const char *device, const char *filename, char mode); +#define XBOX_REF_RESULT_PATH_MAX 4096 +#define XBOX_REF_RESULT_TITLE_MAX 256 +#define XBOX_REF_RESULT_MEDIA_ID_MAX 64 +#define XBOX_REF_RESULT_REGION_MAX 128 + +typedef int (*xbox_ref_cancel_func)(void *cancel_data); + +typedef struct xbox_ref_dump_result_s { + int attempted; + int dump_success; + int cancelled; + int hashes_complete; + char mode; + uint32_t output_sectors; + uint32_t completed_sectors; + uint64_t output_size; + double elapsed_seconds; + char output_path[XBOX_REF_RESULT_PATH_MAX]; + char title[XBOX_REF_RESULT_TITLE_MAX]; + char media_id[XBOX_REF_RESULT_MEDIA_ID_MAX]; + int have_game_region; + uint32_t game_region; + char region[XBOX_REF_RESULT_REGION_MAX]; + char crc32[9]; + char md5[33]; + char sha1[41]; + char sha256[65]; +} xbox_ref_dump_result; + +void xbox_ref_dump_result_init(xbox_ref_dump_result *result); +int xbox_ref_gdr8050l_dump_with_handle(void *native_handle, + const char *device, + const char *filename, + char mode, + xbox_ref_cancel_func cancel, + void *cancel_data, + xbox_ref_dump_result *result); +int xbox_ref_gdr8050l_dump(const char *device, + const char *filename, + char mode, + xbox_ref_dump_result *result); +int xbox_ref_xgd1_layout_probe_with_handle(void *native_handle, + const char *device, + const char *report_path); +int xbox_ref_xgd1_layout_probe(const char *device, + const char *report_path); +int xbox_ref_xgd1_raw_id_probe_with_handle(void *native_handle, + const char *device, + const char *report_path); +int xbox_ref_xgd1_raw_id_probe(const char *device, + const char *report_path); #ifdef __cplusplus }