open() works on all drives, AACS 2.0 handshake wired, raw_gc_010c on DriveId
- DriveSession::open() no longer requires profile match — works on any optical drive - init()/probe_disc() return error gracefully for unknown drives - find_drives() returns all optical drives (PDT 0x05), not just profile-matched - has_profile() check for callers - AACS 2.0: handshake wired into resolve_aacs() — real VID + read_data_key - DriveId: added raw_gc_010c field for GET_CONFIG 010C response bytes
This commit is contained in:
@@ -44,6 +44,9 @@ pub struct DriveId {
|
||||
|
||||
/// Raw 96-byte INQUIRY response for additional parsing if needed.
|
||||
pub raw_inquiry: Vec<u8>,
|
||||
|
||||
/// Raw GET CONFIGURATION Feature 010Ch response bytes.
|
||||
pub raw_gc_010c: Vec<u8>,
|
||||
}
|
||||
|
||||
impl DriveId {
|
||||
@@ -84,6 +87,7 @@ impl DriveId {
|
||||
firmware_date,
|
||||
serial_number,
|
||||
raw_inquiry: inquiry.to_vec(),
|
||||
raw_gc_010c: gc[..result.bytes_transferred].to_vec(),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -98,6 +102,7 @@ impl DriveId {
|
||||
firmware_date: firmware_date.to_string(),
|
||||
serial_number: String::new(),
|
||||
raw_inquiry: inquiry.to_vec(),
|
||||
raw_gc_010c: Vec::new(),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user