TF-M Reference Manual  1.2.0
TrustedFirmware-M
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
its_utils.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "psa/error.h"
Include dependency graph for its_utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ITS_FILE_ID_SIZE   12
 
#define ITS_DEFAULT_EMPTY_BUFF_VAL   0
 
#define ITS_UTILS_BOUND_CHECK(err_msg, data_size, data_buf_size)   typedef char err_msg[(data_size <= data_buf_size)*2 - 1]
 Macro to check, at compilation time, if data fits in data buffer. More...
 
#define ITS_UTILS_MIN(x, y)   (((x) < (y)) ? (x) : (y))
 Evaluates to the minimum of the two parameters. More...
 
#define ITS_UTILS_MAX(x, y)   (((x) > (y)) ? (x) : (y))
 Evaluates to the maximum of the two parameters. More...
 
#define ITS_UTILS_ALIGN(x, a)   (((x) + ((a) - 1)) & ~((a) - 1))
 Aligns a value up to the provided alignment. More...
 
#define ITS_UTILS_IS_ALIGNED(x, a)   (((x) & ((a) - 1)) == 0)
 Checks that a value is aligned to the provided alignment. More...
 

Functions

psa_status_t its_utils_check_contained_in (size_t superset_size, size_t subset_offset, size_t subset_size)
 Checks if a subset region is fully contained within a superset region. More...
 
psa_status_t its_utils_validate_fid (const uint8_t *fid)
 Validates file ID. More...
 

Macro Definition Documentation

#define ITS_DEFAULT_EMPTY_BUFF_VAL   0

Definition at line 21 of file its_utils.h.

#define ITS_FILE_ID_SIZE   12

Definition at line 20 of file its_utils.h.

#define ITS_UTILS_ALIGN (   x,
 
)    (((x) + ((a) - 1)) & ~((a) - 1))

Aligns a value up to the provided alignment.

Parameters
[in]xValue to be aligned
[in]aAlignment (must be a power of two)
Returns
The least value not less than x that is aligned to a.

Definition at line 56 of file its_utils.h.

#define ITS_UTILS_BOUND_CHECK (   err_msg,
  data_size,
  data_buf_size 
)    typedef char err_msg[(data_size <= data_buf_size)*2 - 1]

Macro to check, at compilation time, if data fits in data buffer.

Parameters
[in]err_msgError message which will be displayed in first instance if the error is triggered
[in]data_sizeData size to check if it fits
[in]data_buf_sizeSize of the data buffer
Returns
Triggers a compilation error if data_size is bigger than data_buf_size. The compilation error should be "... error: 'err_msg' declared as an array with a negative size"

Definition at line 35 of file its_utils.h.

#define ITS_UTILS_IS_ALIGNED (   x,
 
)    (((x) & ((a) - 1)) == 0)

Checks that a value is aligned to the provided alignment.

Parameters
[in]xValue to check for alignment
[in]aAlignment (must be a power of two)
Returns
1 if x is aligned to a, 0 otherwise.

Definition at line 66 of file its_utils.h.

#define ITS_UTILS_MAX (   x,
 
)    (((x) > (y)) ? (x) : (y))

Evaluates to the maximum of the two parameters.

Definition at line 46 of file its_utils.h.

#define ITS_UTILS_MIN (   x,
 
)    (((x) < (y)) ? (x) : (y))

Evaluates to the minimum of the two parameters.

Definition at line 41 of file its_utils.h.

Function Documentation

psa_status_t its_utils_check_contained_in ( size_t  superset_size,
size_t  subset_offset,
size_t  subset_size 
)

Checks if a subset region is fully contained within a superset region.

Parameters
[in]superset_sizeSize of superset region
[in]subset_offsetOffset of start of subset region from start of superset region
[in]subset_sizeSize of subset region
Returns
Returns error code as specified in psa_status_t
Return values
PSA_SUCCESSThe subset is contained within the superset
PSA_ERROR_INVALID_ARGUMENTOtherwise

Definition at line 10 of file its_utils.c.

Here is the caller graph for this function:

psa_status_t its_utils_validate_fid ( const uint8_t *  fid)

Validates file ID.

Parameters
[in]fidFile ID
Returns
Returns error code as specified in psa_status_t

Definition at line 30 of file its_utils.c.