Merge from Widevine repo of http://go/wvgerrit/22899 This is most of the header changes for OEMCrypto v13. This updates just enough of the code that existing unit tests build and pass. The documentation will be reviewed in http://go/wvgerrit/22887. When that CL has been approved, comments in the code will be updated to match. Real code will be broken into several other CLs. bug:31458046 arm/libwvlevel3.a Level3 Library 4445 Jan 17 2017 20:01:26 x86/libwvlevel3.a Level3 Library 4464 Jan 17 2017 19:00:37 mips/libwvlevel3.a Level3 Library 4465 Jan 17 2017 19:24:35 Change-Id: I0318c53235c0b33afb623cba933365e09dec4e61
53 lines
2.7 KiB
C++
53 lines
2.7 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);
|
|
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);
|
|
|
|
} // namespace wvcdm
|
|
|
|
#endif // WVCDM_CORE_OEMCRYPTO_ADAPTER_H_
|