1*67d79ab2Scallen.cai /* 2*67d79ab2Scallen.cai * Copyright 2023, Rockchip Electronics Co., Ltd 3*67d79ab2Scallen.cai * callen.cai, <callen.cai@rock-chips.com> 4*67d79ab2Scallen.cai * 5*67d79ab2Scallen.cai * SPDX-License-Identifier: GPL-2.0+ 6*67d79ab2Scallen.cai */ 7*67d79ab2Scallen.cai 8*67d79ab2Scallen.cai #ifndef ID_ATTESTATION_H_ 9*67d79ab2Scallen.cai #define ID_ATTESTATION_H_ 10*67d79ab2Scallen.cai 11*67d79ab2Scallen.cai #include <common.h> 12*67d79ab2Scallen.cai #include "attestation_key.h" 13*67d79ab2Scallen.cai #define DEBUG 0 14*67d79ab2Scallen.cai #if DEBUG 15*67d79ab2Scallen.cai #define MSG(...) printf(__VA_ARGS__) 16*67d79ab2Scallen.cai #else 17*67d79ab2Scallen.cai #define MSG(...) do {} while (0) 18*67d79ab2Scallen.cai #endif 19*67d79ab2Scallen.cai 20*67d79ab2Scallen.cai #define PROP_LEN 32 21*67d79ab2Scallen.cai 22*67d79ab2Scallen.cai typedef struct AttestationIds_ { 23*67d79ab2Scallen.cai u8 brand[PROP_LEN]; 24*67d79ab2Scallen.cai u8 device[PROP_LEN]; 25*67d79ab2Scallen.cai u8 product[PROP_LEN]; 26*67d79ab2Scallen.cai u8 serial[PROP_LEN]; 27*67d79ab2Scallen.cai u8 imei[PROP_LEN]; 28*67d79ab2Scallen.cai u8 second_imei[PROP_LEN]; 29*67d79ab2Scallen.cai u8 meid[PROP_LEN]; 30*67d79ab2Scallen.cai u8 manufacturer[PROP_LEN]; 31*67d79ab2Scallen.cai u8 model[PROP_LEN]; 32*67d79ab2Scallen.cai } AttestationIds; 33*67d79ab2Scallen.cai 34*67d79ab2Scallen.cai void printAttestationIds(const AttestationIds *ids); 35*67d79ab2Scallen.cai 36*67d79ab2Scallen.cai /* 37*67d79ab2Scallen.cai * write id attestation to secure storage. 38*67d79ab2Scallen.cai * @received_data: received data from usb 39*67d79ab2Scallen.cai * @len: the size of received_data 40*67d79ab2Scallen.cai * @return ATAP_RESULT_OK if ok, or ATAP_RESULT_ERROR_* on error 41*67d79ab2Scallen.cai */ 42*67d79ab2Scallen.cai atap_result write_id_attestation_to_secure_storage(u8 *received_data, uint32_t len); 43*67d79ab2Scallen.cai #endif //ID_ATTESTATION_H_ 44