]> FriiDump Source - friidump.git/blobdiff - libfriidump/disc.h
Fix MSVC CMake SHA1 header resolution
[friidump.git] / libfriidump / disc.h
index 345e681358faab3c116e82e9cbe6469c35bc1ffd..f8af6ea8866bb41a95952fd45a1970df120038c2 100644 (file)
@@ -55,6 +55,25 @@ typedef enum {
 
 typedef struct disc_s disc;
 
+/* Always-available evidence for a failed Nintendo seed/cache read. */
+typedef struct {
+       bool valid;
+       unsigned int seed_block_index;
+       u_int32_t sector_start;
+       u_int32_t sector_end;
+       int retry;
+       char stage[48];
+       char detail[160];
+       int transport_result;
+       int os_error;
+       int scsi_status;
+       int sense_key;
+       int asc;
+       int ascq;
+       int cdb_length;
+       u_int8_t cdb[12];
+} disc_seed_diagnostic;
+
 
 /* Functions */
 FRIIDUMPLIB_EXPORT disc *disc_new (char *dvd_device, u_int32_t command);
@@ -88,6 +107,9 @@ FRIIDUMPLIB_EXPORT char *disc_get_version (disc *d, u_int8_t *v, char **v_s);
 FRIIDUMPLIB_EXPORT char *disc_get_title (disc *d, char **t_s);
 FRIIDUMPLIB_EXPORT bool disc_get_update (disc *d);
 
+FRIIDUMPLIB_EXPORT char *disc_get_drive_vendor (disc *d);
+FRIIDUMPLIB_EXPORT char *disc_get_drive_product_id (disc *d);
+FRIIDUMPLIB_EXPORT char *disc_get_drive_firmware_revision (disc *d);
 FRIIDUMPLIB_EXPORT char *disc_get_drive_model_string (disc *d);
 FRIIDUMPLIB_EXPORT char *disc_get_device (disc *d);
 FRIIDUMPLIB_EXPORT void *disc_get_native_handle (disc *d);
@@ -116,7 +138,7 @@ FRIIDUMPLIB_EXPORT int disc_xbox_unlock (disc *d);
 FRIIDUMPLIB_EXPORT int disc_xbox_read_10 (disc *d, u_int32_t sector, u_int32_t sectors, u_int8_t *buf, size_t bufsize);
 FRIIDUMPLIB_EXPORT int disc_xbox_read_dvd_structure (disc *d, u_int8_t format, u_int8_t layer, u_int8_t *buf, size_t bufsize);
 FRIIDUMPLIB_EXPORT int disc_xbox_read_capacity_10 (disc *d, u_int32_t *sectors, u_int32_t *sector_size);
-FRIIDUMPLIB_EXPORT int disc_xbox_recovery_kick (disc *d, bool auth_recovery);
+FRIIDUMPLIB_EXPORT int disc_xbox_prepare_game_view (disc *d, u_int32_t *sectors, u_int32_t *sector_size);
 FRIIDUMPLIB_EXPORT int disc_xbox_refresh_volume (disc *d);
 FRIIDUMPLIB_EXPORT int disc_lock_volume (disc *d);
 FRIIDUMPLIB_EXPORT int disc_refresh_volume (disc *d);
@@ -124,6 +146,7 @@ FRIIDUMPLIB_EXPORT int disc_xbox_lock_volume (disc *d);
 FRIIDUMPLIB_EXPORT int disc_xbox_media_cycle (disc *d);
 FRIIDUMPLIB_EXPORT int disc_xbox_wait_ready (disc *d, unsigned int timeout_ms);
 FRIIDUMPLIB_EXPORT int disc_media_preflight (disc *d, unsigned int timeout_ms, int *sense_key, int *asc, int *ascq);
+FRIIDUMPLIB_EXPORT bool disc_get_seed_diagnostic (disc *d, disc_seed_diagnostic *out);
 
 #ifdef __cplusplus
 }