]> FriiDump Source - friidump.git/blobdiff - libfriidump/xbox_ref_bridge.h
Document exact-release Linux hardware validation
[friidump.git] / libfriidump / xbox_ref_bridge.h
index 6da040bf9d0e5290a357ad4c3a5c37d77c5a4bda..59d191f8b80eda7b73f59ec8a14f381e0edd1845 100644 (file)
@@ -1,12 +1,63 @@
 #ifndef XBOX_REF_BRIDGE_H_INCLUDED
 #define XBOX_REF_BRIDGE_H_INCLUDED
 
 #ifndef XBOX_REF_BRIDGE_H_INCLUDED
 #define XBOX_REF_BRIDGE_H_INCLUDED
 
+#include <stdint.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 #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
 }
 
 #ifdef __cplusplus
 }