Merge from widevine of http://go/wvgerrit/23283 This CL adds the backwards compatiblity functions to the new usage tables in the oemcrypto mock reference code. b/31458046 b/32554171 Change-Id: I04901d95aceb8910406f7c514c26c29c2c575322
59 lines
3.1 KiB
C++
59 lines
3.1 KiB
C++
// Copyright 2013 Google Inc. All Rights Reserved.
|
|
//
|
|
#ifndef WVCDM_CORE_OEMCRYPTO_ADAPTER_H_
|
|
#define WVCDM_CORE_OEMCRYPTO_ADAPTER_H_
|
|
|
|
#include "OEMCryptoCENC.h"
|
|
#include "wv_cdm_types.h"
|
|
|
|
namespace wvcdm {
|
|
|
|
// This attempts to open a session at the desired security level.
|
|
// If one level is not available, the other will be used instead.
|
|
OEMCryptoResult OEMCrypto_OpenSession(OEMCrypto_SESSION* session,
|
|
SecurityLevel level);
|
|
OEMCryptoResult OEMCrypto_CopyBuffer(
|
|
SecurityLevel level, const uint8_t* data_addr, size_t data_length,
|
|
OEMCrypto_DestBufferDesc* out_buffer, uint8_t subsample_flags);
|
|
OEMCryptoResult OEMCrypto_InstallKeybox(const uint8_t* keybox,
|
|
size_t keyBoxLength,
|
|
SecurityLevel level);
|
|
OEMCryptoResult OEMCrypto_IsKeyboxValid(SecurityLevel level);
|
|
OEMCryptoResult OEMCrypto_GetDeviceID(uint8_t* deviceID, size_t* idLength,
|
|
SecurityLevel level);
|
|
OEMCryptoResult OEMCrypto_GetKeyData(uint8_t* keyData, size_t* keyDataLength,
|
|
SecurityLevel level);
|
|
uint32_t OEMCrypto_APIVersion(SecurityLevel level);
|
|
const char* OEMCrypto_SecurityLevel(SecurityLevel level);
|
|
OEMCryptoResult OEMCrypto_GetHDCPCapability(SecurityLevel level,
|
|
OEMCrypto_HDCP_Capability* current,
|
|
OEMCrypto_HDCP_Capability* maximum);
|
|
bool OEMCrypto_SupportsUsageTable(SecurityLevel level);
|
|
bool OEMCrypto_IsAntiRollbackHwPresent(SecurityLevel level);
|
|
OEMCryptoResult OEMCrypto_GetNumberOfOpenSessions(SecurityLevel level,
|
|
size_t* count);
|
|
OEMCryptoResult OEMCrypto_GetMaxNumberOfSessions(SecurityLevel level,
|
|
size_t* maximum);
|
|
uint8_t OEMCrypto_Security_Patch_Level(SecurityLevel level);
|
|
OEMCrypto_ProvisioningMethod OEMCrypto_GetProvisioningMethod(
|
|
SecurityLevel level);
|
|
uint32_t OEMCrypto_SupportedCertificates(SecurityLevel level);
|
|
OEMCryptoResult OEMCrypto_CreateUsageTableHeader(SecurityLevel level,
|
|
uint8_t* header_buffer,
|
|
size_t* header_buffer_length);
|
|
OEMCryptoResult OEMCrypto_LoadUsageTableHeader(SecurityLevel level,
|
|
const uint8_t* buffer,
|
|
size_t buffer_length);
|
|
OEMCryptoResult OEMCrypto_ShrinkUsageTableHeader(SecurityLevel level,
|
|
uint32_t new_table_size,
|
|
uint8_t* header_buffer,
|
|
size_t* header_buffer_length);
|
|
OEMCryptoResult OEMCrypto_CreateOldUsageEntry(SecurityLevel level,
|
|
uint64_t time_since_license_received, uint64_t time_since_first_decrypt,
|
|
uint64_t time_since_last_decrypt, OEMCrypto_Usage_Entry_Status status,
|
|
uint8_t* server_mac_key, uint8_t* client_mac_key, const uint8_t* pst,
|
|
size_t pst_length);
|
|
} // namespace wvcdm
|
|
|
|
#endif // WVCDM_CORE_OEMCRYPTO_ADAPTER_H_
|