libaacs | branch: master | npzacs <npz...@gmail.com> | Fri Sep 13 11:52:38 2013 +0300| [63579eae42b99f146e53baee17da2e6b59fdc7ab] | committer: npzacs
Added bus encryption status to aacs_info > http://git.videolan.org/gitweb.cgi/libaacs.git/?a=commit;h=63579eae42b99f146e53baee17da2e6b59fdc7ab --- src/examples/aacs_info.c | 4 ++++ src/libaacs/aacs.c | 7 +++++++ src/libaacs/aacs.h | 7 +++++++ 3 files changed, 18 insertions(+) diff --git a/src/examples/aacs_info.c b/src/examples/aacs_info.c index 008d00c..a5e05ce 100644 --- a/src/examples/aacs_info.c +++ b/src/examples/aacs_info.c @@ -111,10 +111,14 @@ int main (int argc, char **argv) const uint8_t *vid = aacs_get_vid(aacs); const uint8_t *id = aacs_get_disc_id(aacs); const uint8_t *pmsn = aacs_get_pmsn(aacs); + const int bec = aacs_get_bus_encryption(aacs); printf("Disc ID: %s\n", id ? _hex2str(id, 20) : "???"); printf("VID : %s\n", vid ? _hex2str(vid, 16) : "???"); printf("MKBv : %d\n", aacs_get_mkb_version(aacs)); printf("PMSN : %s\n", pmsn ? _hex2str(pmsn, 16) : "???"); + printf("Bus encryption:\n"); + printf(" Device support: %s\n", (bec & AACS_BUS_ENCRYPTION_CAPABLE) ? "yes" : "no"); + printf(" Enabled in media: %s\n", (bec & AACS_BUS_ENCRYPTION_ENABLED) ? "yes" : "no"); aacs_close(aacs); diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c index 3f841e1..e7ca6e0 100644 --- a/src/libaacs/aacs.c +++ b/src/libaacs/aacs.c @@ -974,6 +974,13 @@ AACS_RL_ENTRY *aacs_get_drl(int *num_records, int *mkbv) return _get_rl("drl", num_records, mkbv); } +uint32_t aacs_get_bus_encryption(AACS *aacs) +{ + return (aacs->bee * AACS_BUS_ENCRYPTION_ENABLED) | + (aacs->bec * AACS_BUS_ENCRYPTION_CAPABLE); +} + + void aacs_select_title(AACS *aacs, uint32_t title) { if (!aacs) { diff --git a/src/libaacs/aacs.h b/src/libaacs/aacs.h index fbd934b..ffbbf27 100644 --- a/src/libaacs/aacs.h +++ b/src/libaacs/aacs.h @@ -61,4 +61,11 @@ typedef struct { AACS_PUBLIC AACS_RL_ENTRY *aacs_get_hrl(int *num_entries, int *mkb_version); AACS_PUBLIC AACS_RL_ENTRY *aacs_get_drl(int *num_entries, int *mkb_version); +/* bus encryption info */ + +#define AACS_BUS_ENCRYPTION_ENABLED 0x01 /* Bus encryption enabled in the media */ +#define AACS_BUS_ENCRYPTION_CAPABLE 0x02 /* Bus encryption capable drive */ + +AACS_PUBLIC uint32_t aacs_get_bus_encryption(AACS *); + #endif /* AACS_H_ */ _______________________________________________ libaacs-devel mailing list libaacs-devel@videolan.org https://mailman.videolan.org/listinfo/libaacs-devel