1 /* 2 * Copyright (c) 2023, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #ifndef __SDS_API_H__ 9 #define __SDS_API_H__ 10 11 #include <stdbool.h> 12 #include <stdint.h> 13 #include <stddef.h> 14 15 #include "tfm_plat_defs.h" 16 17 struct sds_structure_desc { 18 /*! Identifier of the structure to be created. */ 19 uint32_t id; 20 21 /*! Size, in bytes, of the structure. */ 22 size_t size; 23 24 /*! 25 * Payload of the structure. If not equal to NULL, as part of the 26 * initialization of the module's elements, the payload of the structure 27 * identified by 'id' is initialized/updated to the value pointed to by 28 * 'payload'. 29 */ 30 const void *payload; 31 32 /*! Set the valid flag in the structure if true. */ 33 bool finalize; 34 }; 35 36 enum tfm_plat_err_t sds_struct_add(const struct sds_structure_desc *struct_desc); 37 38 #endif /* __SDS_API_H__ */ 39