]> FriiDump Source - friidump.git/blobdiff - libfriidump/dvd_drive.h
Harden GCC-4243N A102 HLDS E7 profile
[friidump.git] / libfriidump / dvd_drive.h
index cac3627c29202e038359329f0e54b7690f071255..2508fa2d1bc0d3f77164ffdb347a48069358860e 100644 (file)
@@ -56,6 +56,24 @@ typedef struct {
        u_int8_t cdb[12];
 } dvd_command_diagnostic;
 
+/* Read-only metadata for an exact HLDS/MN103 0xE7 profile match.
+ * Static firmware addresses are diagnostic evidence only. FriiDump does not
+ * execute these addresses or issue firmware-write commands through this API. */
+typedef struct {
+       u_int32_t type;
+       u_int32_t cache_base;
+       u_int32_t mem_blocks;
+       int preferred_method;
+       const char *label;
+       const char *support_tier;
+       const char *family;
+       const char *tokens;
+       const char *record_id;
+       u_int32_t static_cdb_base;
+       u_int32_t static_gate;
+       const char *notes;
+} dvd_hlds_e7_profile_info;
+
 
 typedef enum {
        DVD_DATA_NONE = 0,
@@ -119,6 +137,17 @@ void *dvd_get_native_handle (dvd_drive *dvd);
 bool dvd_get_support_status (dvd_drive *dvd);
 u_int32_t dvd_get_def_method (dvd_drive *dvd);
 u_int32_t dvd_get_command (dvd_drive *dvd);
+bool dvd_lookup_hlds_e7_profile (
+       const char *vendor,
+       const char *product_id,
+       const char *revision,
+       dvd_hlds_e7_profile_info *out
+);
+u_int32_t dvd_detect_hlds_e7_type_for_identity (
+       const char *vendor,
+       const char *product_id,
+       const char *revision
+);
 const char *dvd_get_hlds_e7_profile_name (dvd_drive *dvd);
 const char *dvd_get_hlds_e7_support_tier (dvd_drive *dvd);
 const char *dvd_get_hlds_e7_family (dvd_drive *dvd);