#ifndef _APP_SERVICE_H_
#define _APP_SERVICE_H_

#include "grdm_common.h"

GRDM_RESULT grdm_ICCC_auth_key_init(uint8_t* auth_key);

TEE_Result digest_sha256(uint8_t* messageData, uint32_t messageLen, uint8_t* digest, uint32_t* pDigestLen);
TEE_Result derive_key(uint8_t* label, uint32_t labelLen, uint8_t* salt, uint32_t saltLen, uint8_t* encKey, uint32_t encKeyLen);

#if DEBUG_ICCC
#define DBG_DUMP(...) dbg_dump(__VA_ARGS__)
void dbg_dump(uint8_t * data, uint32_t data_len);
void getStringValueFromROT(uint32_t type, uint32_t value);
#endif

#define GRDM_STATUS_SIZE          16
#define CHIPID_SIZE               12
#define FWVERSION_SIZE             8
#define AUTH_KEY_SIZE             32
#define SALT_SIZE                256
#define SHA256_DIGEST_LENGTH      32
#define TEE_MAX_KEY_SIZE         256

#endif // _APP_SERVICE_H_
