blob: d9a0b696fef0958cc387dacffc04686aa3ad3235 [file] [log] [blame]
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright (c) 2014, STMicroelectronics International N.V.
*/
#ifndef GUARD_TEE_MATHAPI_H
#define GUARD_TEE_MATHAPI_H
#include <stddef.h> /* for size_t */
#include <stdint.h> /* for uint32_t and friends */
#include <stdbool.h> /* for bool (!) */
/*************************************************************
*
* MACRO DEFINITIONS
*
*************************************************************/
/*------------------------------------------------------------
*
* How functions are exported
*
*/
#define TEE_MATHAPI_EXPORT
/*
* The modes for String Conversion
*/
#define TEE_STRING_MODE_HEX_UC MPA_STRING_MODE_HEX_UC
#define TEE_STRING_MODE_HEX_LC MPA_STRING_MODE_HEX_UC
/*------------------------------------------------------------
*
* Define IN, OUT, INBUF and OUTBUF to keep format from the spec.
*
*/
#define IN const
#define OUT
#define INOUT
#define INBUF const
#define OUTBUF
/*************************************************************
*
* MEMORY ALLOCATION AND SIZE
*
*************************************************************/
/*************************************************************
*
* INITIALIZATION FUNCTIONS
*
*************************************************************/
/*
* !!! This function must be called before you do anything else !!!
* NOTE: Not part of the spec
*/
TEE_MATHAPI_EXPORT void _TEE_MathAPI_Init(void);
/* this function generate a syscall to teecore for random number
* generation, this is supplied to libmpa. Thus libmpa linked with user
* TA can use this function to get random number.
*/
TEE_Result get_rng_array(void *buf, size_t blen);
#endif