1 /*
2  * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 #ifndef LIB_BL_AUX_PARAMS_H
7 #define LIB_BL_AUX_PARAMS_H
8 
9 #include <stdbool.h>
10 #include <stdint.h>
11 
12 #include <export/lib/bl_aux_params/bl_aux_params_exp.h>
13 
14 /*
15  * Handler function that handles an individual aux parameter. Return true if
16  * the parameter was handled, and flase if bl_aux_params_parse() should make its
17  * own attempt at handling it (for generic parameters).
18  */
19 typedef bool (*bl_aux_param_handler_t)(struct bl_aux_param_header *param);
20 
21 /*
22  * Interprets head as the start of an aux parameter list, and passes the
23  * parameters individually to handler(). Handles generic parameters directly if
24  * handler() hasn't already done so. If only generic parameters are expected,
25  * handler() can be NULL.
26  */
27 void bl_aux_params_parse(u_register_t head,
28 			 bl_aux_param_handler_t handler);
29 
30 #endif /* LIB_BL_AUX_PARAMS_H */
31