X-Git-Url: https://git.jtryba.com/browse/friidump.git/blobdiff_plain/29417fff9ebac65b1cf60ea8951c687696302c55..1b1f91613a6976707cb92f47efa819c278c08d4f:/libfriidump/dvd_drive.h?ds=sidebyside diff --git a/libfriidump/dvd_drive.h b/libfriidump/dvd_drive.h index cac3627..2508fa2 100644 --- a/libfriidump/dvd_drive.h +++ b/libfriidump/dvd_drive.h @@ -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);