/* * Copyright 2019 Google LLC. All Rights Reserved. This file and proprietary * source code may only be used and distributed under the Widevine Master * License Agreement. */ /* * This code is auto-generated, do not edit */ #ifndef ODKITEE_SERIALIZER_H_ #define ODKITEE_SERIALIZER_H_ #include "deserializer.h" #include "serialization_base.h" #include "serializer.h" #ifdef __cplusplus extern "C" { #endif bool SuccessResult(OEMCryptoResult result); void ODK_Pack_OEMCrypto_Substring(Message* msg, OEMCrypto_Substring const* obj); void ODK_Pack_OEMCrypto_KeyObject(Message* msg, OEMCrypto_KeyObject const* obj); void ODK_Pack_OEMCrypto_EntitledContentKeyObject( Message* msg, OEMCrypto_EntitledContentKeyObject const* obj); void ODK_Pack_OEMCrypto_KeyRefreshObject(Message* msg, OEMCrypto_KeyRefreshObject const* obj); void ODK_Pack_OEMCrypto_CENCEncryptPatternDesc( Message* msg, OEMCrypto_CENCEncryptPatternDesc const* obj); void ODK_Pack_SecurityLevel_Request(Message* msg); void ODK_Pack_SecurityLevel_Response(Message* msg, const char* result); void ODK_Pack_BuildInformation_Request(Message* msg); void ODK_Pack_BuildInformation_Response(Message* msg, const char* result); void ODK_Pack_SetSandbox_Request(Message* msg, const uint8_t* sandbox_id, size_t sandbox_id_length); void ODK_Pack_SetSandbox_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_Initialize_Request(Message* msg); void ODK_Pack_Initialize_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_Terminate_Request(Message* msg); void ODK_Pack_Terminate_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_OpenSession_Request(Message* msg, const OEMCrypto_SESSION* session); void ODK_Pack_OpenSession_Response(Message* msg, OEMCryptoResult result, const OEMCrypto_SESSION* session); void ODK_Pack_CloseSession_Request(Message* msg, OEMCrypto_SESSION session); void ODK_Pack_CloseSession_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_GenerateDerivedKeys_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* mac_key_context, uint32_t mac_key_context_length, const SharedMemory* enc_key_context, uint32_t enc_key_context_length); void ODK_Pack_GenerateDerivedKeys_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_DeriveKeysFromSessionKey_Request( Message* msg, OEMCrypto_SESSION session, const uint8_t* enc_session_key, size_t enc_session_key_length, const SharedMemory* mac_key_context, size_t mac_key_context_length, const SharedMemory* enc_key_context, size_t enc_key_context_length); void ODK_Pack_DeriveKeysFromSessionKey_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_GenerateNonce_Request(Message* msg, OEMCrypto_SESSION session, const uint32_t* nonce); void ODK_Pack_GenerateNonce_Response(Message* msg, OEMCryptoResult result, const uint32_t* nonce); void ODK_Pack_GenerateSignature_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* message, size_t message_length, const uint8_t* signature, const size_t* signature_length); void ODK_Pack_GenerateSignature_Response(Message* msg, OEMCryptoResult result, const uint8_t* signature, const size_t* signature_length); void ODK_Pack_LoadSRM_Request(Message* msg, const uint8_t* buffer, size_t buffer_length); void ODK_Pack_LoadSRM_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_LoadKeys_Request( Message* msg, OEMCrypto_SESSION session, const SharedMemory* message, size_t message_length, const SharedMemory* signature, size_t signature_length, OEMCrypto_Substring enc_mac_keys_iv, OEMCrypto_Substring enc_mac_keys, size_t key_array_length, const OEMCrypto_KeyObject* key_array, OEMCrypto_Substring pst, OEMCrypto_Substring srm_restriction_data, OEMCrypto_LicenseType license_type); void ODK_Pack_LoadKeys_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_LoadEntitledContentKeys_Request( Message* msg, OEMCrypto_SESSION session, const SharedMemory* message, size_t message_length, size_t key_array_length, const OEMCrypto_EntitledContentKeyObject* key_array); void ODK_Pack_LoadEntitledContentKeys_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_RefreshKeys_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* message, size_t message_length, const SharedMemory* signature, size_t signature_length, size_t key_array_length, const OEMCrypto_KeyRefreshObject* key_array); void ODK_Pack_RefreshKeys_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_QueryKeyControl_Request(Message* msg, OEMCrypto_SESSION session, const uint8_t* content_key_id, size_t content_key_id_length, const uint8_t* key_control_block, const size_t* key_control_block_length); void ODK_Pack_QueryKeyControl_Response(Message* msg, OEMCryptoResult result, const uint8_t* key_control_block, const size_t* key_control_block_length); void ODK_Pack_SelectKey_Request(Message* msg, OEMCrypto_SESSION session, const uint8_t* content_key_id, size_t content_key_id_length, OEMCryptoCipherMode cipher_mode); void ODK_Pack_SelectKey_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_DecryptCENC_Request( Message* msg, OEMCrypto_SESSION session, const SharedMemory* data_addr, size_t data_addr_length, bool is_encrypted, const uint8_t* iv, size_t block_offset, const OEMCrypto_DestBufferDesc* out_buffer, const OEMCrypto_CENCEncryptPatternDesc* pattern, uint8_t subsample_flags); void ODK_Pack_DecryptCENC_Response(Message* msg, OEMCryptoResult result, const OEMCrypto_DestBufferDesc* out_buffer); void ODK_Pack_CopyBuffer_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* data_addr, size_t data_addr_length, const OEMCrypto_DestBufferDesc* out_buffer, uint8_t subsample_flags); void ODK_Pack_CopyBuffer_Response(Message* msg, OEMCryptoResult result, const OEMCrypto_DestBufferDesc* out_buffer); void ODK_Pack_Generic_Encrypt_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* in_buffer, size_t in_buffer_length, const uint8_t* iv, OEMCrypto_Algorithm algorithm, const uint8_t* out_buffer); void ODK_Pack_Generic_Encrypt_Response(Message* msg, OEMCryptoResult result, size_t in_buffer_length, const uint8_t* out_buffer); void ODK_Pack_Generic_Decrypt_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* in_buffer, size_t in_buffer_length, const uint8_t* iv, OEMCrypto_Algorithm algorithm, const uint8_t* out_buffer); void ODK_Pack_Generic_Decrypt_Response(Message* msg, OEMCryptoResult result, size_t in_buffer_length, const uint8_t* out_buffer); void ODK_Pack_Generic_Sign_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* buffer, size_t buffer_length, OEMCrypto_Algorithm algorithm, const uint8_t* signature, const size_t* signature_length); void ODK_Pack_Generic_Sign_Response(Message* msg, OEMCryptoResult result, const uint8_t* signature, const size_t* signature_length); void ODK_Pack_Generic_Verify_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* buffer, size_t buffer_length, OEMCrypto_Algorithm algorithm, const SharedMemory* signature, size_t signature_length); void ODK_Pack_Generic_Verify_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_UpdateUsageTable_Request(Message* msg); void ODK_Pack_UpdateUsageTable_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_WrapKeyboxOrOEMCert_Request(Message* msg, const uint8_t* rot, size_t rotLength, const uint8_t* wrappedRot, const size_t* wrappedRotLength, const uint8_t* transportKey, size_t transportKeyLength); void ODK_Pack_WrapKeyboxOrOEMCert_Response(Message* msg, OEMCryptoResult result, const uint8_t* wrappedRot, const size_t* wrappedRotLength); void ODK_Pack_InstallKeyboxOrOEMCert_Request(Message* msg, const uint8_t* rot, size_t rotLength); void ODK_Pack_InstallKeyboxOrOEMCert_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_GetProvisioningMethod_Request(Message* msg); void ODK_Pack_GetProvisioningMethod_Response( Message* msg, OEMCrypto_ProvisioningMethod result); void ODK_Pack_IsKeyboxOrOEMCertValid_Request(Message* msg); void ODK_Pack_IsKeyboxOrOEMCertValid_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_GetDeviceID_Request(Message* msg, const uint8_t* device_id, const size_t* device_id_length); void ODK_Pack_GetDeviceID_Response(Message* msg, OEMCryptoResult result, const uint8_t* device_id, const size_t* device_id_length); void ODK_Pack_GetKeyData_Request(Message* msg, const uint8_t* keyData, const size_t* keyDataLength); void ODK_Pack_GetKeyData_Response(Message* msg, OEMCryptoResult result, const uint8_t* keyData, const size_t* keyDataLength); void ODK_Pack_LoadTestKeybox_Request(Message* msg, const uint8_t* buffer, size_t buffer_length); void ODK_Pack_LoadTestKeybox_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_GetOEMPublicCertificate_Request(Message* msg, OEMCrypto_SESSION session, const uint8_t* public_cert, const size_t* public_cert_length); void ODK_Pack_GetOEMPublicCertificate_Response( Message* msg, OEMCryptoResult result, const uint8_t* public_cert, const size_t* public_cert_length); void ODK_Pack_GetRandom_Request(Message* msg, const uint8_t* random_data, size_t random_data_length); void ODK_Pack_GetRandom_Response(Message* msg, OEMCryptoResult result, const uint8_t* random_data, size_t random_data_length); void ODK_Pack_APIVersion_Request(Message* msg); void ODK_Pack_APIVersion_Response(Message* msg, uint32_t result); void ODK_Pack_Security_Patch_Level_Request(Message* msg); void ODK_Pack_Security_Patch_Level_Response(Message* msg, uint8_t result); void ODK_Pack_GetHDCPCapability_Request( Message* msg, const OEMCrypto_HDCP_Capability* current, const OEMCrypto_HDCP_Capability* maximum); void ODK_Pack_GetHDCPCapability_Response( Message* msg, OEMCryptoResult result, const OEMCrypto_HDCP_Capability* current, const OEMCrypto_HDCP_Capability* maximum); void ODK_Pack_SupportsUsageTable_Request(Message* msg); void ODK_Pack_SupportsUsageTable_Response(Message* msg, bool result); void ODK_Pack_IsAntiRollbackHwPresent_Request(Message* msg); void ODK_Pack_IsAntiRollbackHwPresent_Response(Message* msg, bool result); void ODK_Pack_GetNumberOfOpenSessions_Request(Message* msg, const size_t* count); void ODK_Pack_GetNumberOfOpenSessions_Response(Message* msg, OEMCryptoResult result, const size_t* count); void ODK_Pack_GetMaxNumberOfSessions_Request(Message* msg, const size_t* max); void ODK_Pack_GetMaxNumberOfSessions_Response(Message* msg, OEMCryptoResult result, const size_t* max); void ODK_Pack_SupportedCertificates_Request(Message* msg); void ODK_Pack_SupportedCertificates_Response(Message* msg, uint32_t result); void ODK_Pack_IsSRMUpdateSupported_Request(Message* msg); void ODK_Pack_IsSRMUpdateSupported_Response(Message* msg, bool result); void ODK_Pack_GetCurrentSRMVersion_Request(Message* msg, const uint16_t* version); void ODK_Pack_GetCurrentSRMVersion_Response(Message* msg, OEMCryptoResult result, const uint16_t* version); void ODK_Pack_GetAnalogOutputFlags_Request(Message* msg); void ODK_Pack_GetAnalogOutputFlags_Response(Message* msg, uint32_t result); void ODK_Pack_ResourceRatingTier_Request(Message* msg); void ODK_Pack_ResourceRatingTier_Response(Message* msg, uint32_t result); void ODK_Pack_RewrapDeviceRSAKey30_Request( Message* msg, OEMCrypto_SESSION session, const uint32_t* unaligned_nonce, const SharedMemory* encrypted_message_key, size_t encrypted_message_key_length, const SharedMemory* enc_rsa_key, size_t enc_rsa_key_length, const uint8_t* enc_rsa_key_iv, const uint8_t* wrapped_rsa_key, const size_t* wrapped_rsa_key_length); void ODK_Pack_RewrapDeviceRSAKey30_Response( Message* msg, OEMCryptoResult result, const uint8_t* wrapped_rsa_key, const size_t* wrapped_rsa_key_length); void ODK_Pack_RewrapDeviceRSAKey_Response(Message* msg, OEMCryptoResult result, const uint8_t* wrapped_rsa_key, const size_t* wrapped_rsa_key_length); void ODK_Pack_LoadDeviceRSAKey_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* wrapped_rsa_key, size_t wrapped_rsa_key_length); void ODK_Pack_LoadDeviceRSAKey_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_LoadTestRSAKey_Request(Message* msg); void ODK_Pack_LoadTestRSAKey_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_GenerateRSASignature_Request( Message* msg, OEMCrypto_SESSION session, const SharedMemory* message, size_t message_length, const uint8_t* signature, const size_t* signature_length, RSA_Padding_Scheme padding_scheme); void ODK_Pack_GenerateRSASignature_Response(Message* msg, OEMCryptoResult result, const uint8_t* signature, const size_t* signature_length); void ODK_Pack_CreateUsageTableHeader_Request( Message* msg, const uint8_t* header_buffer, const size_t* header_buffer_length); void ODK_Pack_CreateUsageTableHeader_Response( Message* msg, OEMCryptoResult result, const uint8_t* header_buffer, const size_t* header_buffer_length); void ODK_Pack_LoadUsageTableHeader_Request(Message* msg, const uint8_t* buffer, size_t buffer_length); void ODK_Pack_LoadUsageTableHeader_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_CreateNewUsageEntry_Request(Message* msg, OEMCrypto_SESSION session, const uint32_t* usage_entry_number); void ODK_Pack_CreateNewUsageEntry_Response(Message* msg, OEMCryptoResult result, const uint32_t* usage_entry_number); void ODK_Pack_LoadUsageEntry_Request(Message* msg, OEMCrypto_SESSION session, uint32_t usage_entry_number, const uint8_t* buffer, size_t buffer_length); void ODK_Pack_LoadUsageEntry_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_UpdateUsageEntry_Request(Message* msg, OEMCrypto_SESSION session, const SharedMemory* header_buffer, const size_t* header_buffer_length, const SharedMemory* entry_buffer, const size_t* entry_buffer_length); void ODK_Pack_UpdateUsageEntry_Response(Message* msg, OEMCryptoResult result, const SharedMemory* header_buffer, const size_t* header_buffer_length, const SharedMemory* entry_buffer, const size_t* entry_buffer_length); void ODK_Pack_DeactivateUsageEntry_Request(Message* msg, OEMCrypto_SESSION session, const uint8_t* pst, size_t pst_length); void ODK_Pack_DeactivateUsageEntry_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_ReportUsage_Request(Message* msg, OEMCrypto_SESSION session, const uint8_t* pst, size_t pst_length, const uint8_t* buffer, const size_t* buffer_length); void ODK_Pack_ReportUsage_Response(Message* msg, OEMCryptoResult result, const uint8_t* buffer, const size_t* buffer_length); void ODK_Pack_DeleteUsageEntry_Request(Message* msg, 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); void ODK_Pack_DeleteUsageEntry_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_ForceDeleteUsageEntry_Request(Message* msg, const uint8_t* pst, size_t pst_length); void ODK_Pack_ForceDeleteUsageEntry_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_MoveEntry_Request(Message* msg, OEMCrypto_SESSION session, uint32_t new_index); void ODK_Pack_MoveEntry_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_ShrinkUsageTableHeader_Request( Message* msg, uint32_t new_entry_count, const uint8_t* header_buffer, const size_t* header_buffer_length); void ODK_Pack_ShrinkUsageTableHeader_Response( Message* msg, OEMCryptoResult result, const uint8_t* header_buffer, const size_t* header_buffer_length); void ODK_Pack_CopyOldUsageEntry_Request(Message* msg, OEMCrypto_SESSION session, const uint8_t* pst, size_t pst_length); void ODK_Pack_CopyOldUsageEntry_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_DeleteOldUsageTable_Request(Message* msg); void ODK_Pack_DeleteOldUsageTable_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_RemoveSRM_Request(Message* msg); void ODK_Pack_RemoveSRM_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_CreateOldUsageEntry_Request( Message* msg, uint64_t time_since_license_received, uint64_t time_since_first_decrypt, uint64_t time_since_last_decrypt, OEMCrypto_Usage_Entry_Status status, const uint8_t* server_mac_key, const uint8_t* client_mac_key, const uint8_t* pst, size_t pst_length); void ODK_Pack_CreateOldUsageEntry_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_SupportsDecryptHash_Request(Message* msg); void ODK_Pack_SupportsDecryptHash_Response(Message* msg, uint32_t result); void ODK_Pack_SetDecryptHash_Request(Message* msg, OEMCrypto_SESSION session, uint32_t frame_number, const uint8_t* hash, size_t hash_length); void ODK_Pack_SetDecryptHash_Response(Message* msg, OEMCryptoResult result); void ODK_Pack_GetHashErrorCode_Request(Message* msg, OEMCrypto_SESSION session, const uint32_t* failed_frame_number); void ODK_Pack_GetHashErrorCode_Response(Message* msg, OEMCryptoResult result, const uint32_t* failed_frame_number); void ODK_PackNullable_c_str(Message* msg, const char* value); void ODK_PackNullable_uint32_t(Message* msg, const OEMCrypto_SESSION* value); void ODK_PackNullable_size_t(Message* msg, const size_t* value); void ODK_PackNullable_OEMCrypto_DestBufferDesc( Message* msg, const OEMCrypto_DestBufferDesc* value); void ODK_PackNullable_OEMCrypto_CENCEncryptPatternDesc( Message* msg, const OEMCrypto_CENCEncryptPatternDesc* value); void ODK_PackNullable_uint16_t(Message* msg, const uint16_t* value); void ODK_PackNullable_uint8_t(Message* msg, const uint8_t* value); #ifdef __cplusplus } // extern "C" #endif #endif /* ODKITEE_SERIALIZER_H_ */