/* * 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. */ #ifndef ODK_STRUCTS_PRIV_H_ #define ODK_STRUCTS_PRIV_H_ #include #include "OEMCryptoCENCCommon.h" #include "odk_structs.h" typedef enum { ODK_License_Request_Type = 1, ODK_License_Response_Type = 2, ODK_Renewal_Request_Type = 3, ODK_Renewal_Response_Type = 4, ODK_Provisioning_Request_Type = 5, ODK_Provisioning_Response_Type = 6, } ODK_MessageType; typedef struct { uint32_t message_type; uint32_t message_length; ODK_NonceValues nonce_values; } ODK_CoreMessage; typedef struct { ODK_CoreMessage core_message; } ODK_PreparedLicense; typedef struct { ODK_CoreMessage core_message; uint64_t playback_time; } ODK_RenewalMessage; typedef struct { ODK_CoreMessage core_message; uint32_t device_id_length; uint8_t device_id[ODK_DEVICE_ID_LEN_MAX]; } ODK_ProvisioningMessage; typedef struct { ODK_CoreMessage core_message; ODK_ParsedLicense* parsed_license; } ODK_LicenseResponse; typedef struct { ODK_ProvisioningMessage core_provisioning; ODK_ParsedProvisioning* parsed_provisioning; } ODK_ProvisioningResponse; #endif // ODK_STRUCTS_PRIV_H_