21#ifndef LIBAARUFORMAT_PS3_ENCRYPTION_MAP_H
22#define LIBAARUFORMAT_PS3_ENCRYPTION_MAP_H
39#define PS3_MAX_PLAINTEXT_REGIONS 64
65 uint32_t *out_length);
88 uint64_t sector_address);
bool ps3_is_sector_encrypted(const Ps3PlaintextRegion *plaintext_regions, uint32_t region_count, uint64_t sector_address)
Check whether a sector is encrypted (i.e., not in any plaintext region).
int32_t ps3_deserialize_encryption_map(const uint8_t *data, uint32_t length, Ps3PlaintextRegion **regions, uint32_t *count)
Deserialize plaintext regions from little-endian binary (media tag format).
int32_t ps3_parse_encryption_map(const uint8_t *sector0, uint32_t length, Ps3PlaintextRegion **regions, uint32_t *count)
Parse the encryption map from PS3 disc sector 0 (big-endian on disc).
int32_t ps3_serialize_encryption_map(const Ps3PlaintextRegion *regions, uint32_t count, uint8_t **out_data, uint32_t *out_length)
Serialize plaintext regions to little-endian binary for storage as a media tag.
A plaintext (unencrypted) region on a PS3 disc.
uint32_t start_sector
First sector of plaintext region (inclusive).
uint32_t end_sector
Last sector of plaintext region (inclusive).