From 6109cddb6f768af9df1c14b2f5fb07a3f9ec2bd7 Mon Sep 17 00:00:00 2001 From: KongQun Yang Date: Wed, 11 Mar 2015 16:39:37 -0700 Subject: [PATCH] Defines placeholder for v10 APIs in oemcrypto_adapter_dynamic Merged from Widevine CDM repo: https://widevine-internal-review.googlesource.com/#/c/13610 Change-Id: Ibc0b8f372e752ec217b6bcfc01aee5dcbb5a5c99 --- .../core/src/oemcrypto_adapter_dynamic.cpp | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp b/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp index cc9d9a3e..2659bdf4 100644 --- a/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp +++ b/libwvdrmengine/cdm/core/src/oemcrypto_adapter_dynamic.cpp @@ -59,6 +59,9 @@ typedef OEMCryptoResult (*L1_RefreshKeys_t)( OEMCrypto_SESSION session, const uint8_t* message, size_t message_length, const uint8_t* signature, size_t signature_length, size_t num_keys, const OEMCrypto_KeyRefreshObject* key_array); +typedef OEMCryptoResult (*L1_QueryKeyControl_t)( + OEMCrypto_SESSION session, const uint8_t* key_id, size_t key_id_length, + uint8_t* key_control_block, size_t* key_control_block_length); typedef OEMCryptoResult (*L1_SelectKey_t)(const OEMCrypto_SESSION session, const uint8_t* key_id, size_t key_id_length); @@ -66,6 +69,10 @@ typedef OEMCryptoResult (*L1_DecryptCTR_t)( OEMCrypto_SESSION session, const uint8_t* data_addr, size_t data_length, bool is_encrypted, const uint8_t* iv, size_t offset, const OEMCrypto_DestBufferDesc* out_buffer, uint8_t subsample_flags); +typedef OEMCryptoResult (*L1_CopyBuffer_t)(const uint8_t* data_addr, + size_t data_length, + OEMCrypto_DestBufferDesc* out_buffer, + uint8_t subsample_flags); typedef OEMCryptoResult (*L1_WrapKeybox_t)(const uint8_t* keybox, size_t keyBoxLength, uint8_t* wrappedKeybox, @@ -74,6 +81,7 @@ typedef OEMCryptoResult (*L1_WrapKeybox_t)(const uint8_t* keybox, size_t transportKeyLength); typedef OEMCryptoResult (*L1_InstallKeybox_t)(const uint8_t* keybox, size_t keyBoxLength); +typedef OEMCryptoResult (*L1_LoadTestKeybox_t)(); typedef OEMCryptoResult (*L1_IsKeyboxValid_t)(); typedef OEMCryptoResult (*L1_GetDeviceID_t)(uint8_t* deviceID, size_t* idLength); @@ -107,6 +115,8 @@ typedef const char* (*L1_SecurityLevel_t)(); typedef OEMCryptoResult (*L1_GetHDCPCapability_t)( OEMCrypto_HDCP_Capability* current, OEMCrypto_HDCP_Capability* maximum); typedef bool (*L1_SupportsUsageTable_t)(); +typedef bool (*L1_IsAntiRollbackHwPresent_t)(); +typedef OEMCryptoResult (*L1_GetNumberOfOpenSessions_t)(size_t* count); typedef OEMCryptoResult (*L1_GetMaxNumberOfSessions_t)(size_t* maximum); typedef OEMCryptoResult (*L1_Generic_Encrypt_t)( OEMCrypto_SESSION session, const uint8_t* in_buffer, size_t buffer_length, @@ -138,6 +148,8 @@ typedef OEMCryptoResult (*L1_DeleteUsageEntry_t)( OEMCrypto_SESSION session, const uint8_t* pst, size_t pst_length, const uint8_t* message, size_t message_length, const uint8_t* signature, size_t signature_length); +typedef OEMCryptoResult (*L1_ForceDeleteUsageEntry_t)(const uint8_t* pst, + size_t pst_length); typedef OEMCryptoResult (*L1_DeleteUsageTable_t)(); struct FunctionPointers { @@ -151,10 +163,13 @@ struct FunctionPointers { L1_GenerateSignature_t GenerateSignature; L1_LoadKeys_t LoadKeys; L1_RefreshKeys_t RefreshKeys; + L1_QueryKeyControl_t QueryKeyControl; L1_SelectKey_t SelectKey; L1_DecryptCTR_t DecryptCTR; + L1_CopyBuffer_t CopyBuffer; L1_WrapKeybox_t WrapKeybox; L1_InstallKeybox_t InstallKeybox; + L1_LoadTestKeybox_t LoadTestKeybox; L1_IsKeyboxValid_t IsKeyboxValid; L1_GetDeviceID_t GetDeviceID; L1_GetKeyData_t GetKeyData; @@ -167,6 +182,8 @@ struct FunctionPointers { L1_SecurityLevel_t SecurityLevel; L1_GetHDCPCapability_t GetHDCPCapability; L1_SupportsUsageTable_t SupportsUsageTable; + L1_IsAntiRollbackHwPresent_t IsAntiRollbackHwPresent; + L1_GetNumberOfOpenSessions_t GetNumberOfOpenSessions; L1_GetMaxNumberOfSessions_t GetMaxNumberOfSessions; L1_Generic_Encrypt_t Generic_Encrypt; L1_Generic_Decrypt_t Generic_Decrypt; @@ -176,6 +193,7 @@ struct FunctionPointers { L1_DeactivateUsageEntry_t DeactivateUsageEntry; L1_ReportUsage_t ReportUsage; L1_DeleteUsageEntry_t DeleteUsageEntry; + L1_ForceDeleteUsageEntry_t ForceDeleteUsageEntry; L1_DeleteUsageTable_t DeleteUsageTable; L1_LoadKeys_V8_t LoadKeys_V8; @@ -333,10 +351,13 @@ class Adapter { level3_.GenerateSignature = Level3_GenerateSignature; level3_.LoadKeys = Level3_LoadKeys; level3_.RefreshKeys = Level3_RefreshKeys; + // level3_.QueryKeyControl = Level3_QueryKeyControl; level3_.SelectKey = Level3_SelectKey; level3_.DecryptCTR = Level3_DecryptCTR; + // level3_.CopyBuffer = Level3_CopyBuffer; level3_.WrapKeybox = Level3_WrapKeybox; level3_.InstallKeybox = Level3_InstallKeybox; + // level3_.LoadTestKeybox = Level3_LoadTestKeybox; level3_.IsKeyboxValid = Level3_IsKeyboxValid; level3_.GetDeviceID = Level3_GetDeviceID; level3_.GetKeyData = Level3_GetKeyData; @@ -349,6 +370,8 @@ class Adapter { level3_.SecurityLevel = Level3_SecurityLevel; level3_.GetHDCPCapability = Level3_GetHDCPCapability; level3_.SupportsUsageTable = Level3_SupportsUsageTable; + // level3_.IsAntiRollbackHwPresent = Level3_IsAntiRollbackHwPresent; + // level3_.GetNumberOfOpenSessions = Level3_GetNumberOfOpenSessions; level3_.GetMaxNumberOfSessions = Level3_GetMaxNumberOfSessions; level3_.Generic_Decrypt = Level3_Generic_Decrypt; level3_.Generic_Encrypt = Level3_Generic_Encrypt; @@ -358,6 +381,7 @@ class Adapter { level3_.DeactivateUsageEntry = Level3_DeactivateUsageEntry; level3_.ReportUsage = Level3_ReportUsage; level3_.DeleteUsageEntry = Level3_DeleteUsageEntry; + // level3_.ForceDeleteUsageEntry = Level3_ForceDeleteUsageEntry; level3_.DeleteUsageTable = Level3_DeleteUsageTable; level3_.version = Level3_APIVersion();