32#define BSL_PARAM_END {0, 0, NULL, 0, 0}
35 BSL_PARAM_TYPE_UINT32_PTR,
36 BSL_PARAM_TYPE_OCTETS_PTR,
37 BSL_PARAM_TYPE_FUNC_PTR,
38 BSL_PARAM_TYPE_CTX_PTR,
40 BSL_PARAM_TYPE_UINT16,
41 BSL_PARAM_TYPE_UINT32,
44 BSL_PARAM_TYPE_OCTETS,
45 BSL_PARAM_TYPE_UTF8_STR,
46 BSL_PARAM_TYPE_SIZE_T,
47 BSL_PARAM_TYPE_SIZE_T_PTR,
48 BSL_PARAM_TYPE_UINT64,
49} BSL_PARAM_VALUE_TYPE;
59typedef struct BslParamMaker BSL_ParamMaker;
75int32_t BSL_PARAM_InitValue(BSL_Param *param, int32_t key, uint32_t type,
void *val, uint32_t valueLen);
91int32_t BSL_PARAM_SetValue(BSL_Param *param, int32_t key, uint32_t type,
void *val, uint32_t len);
107int32_t BSL_PARAM_GetPtrValue(
const BSL_Param *param, int32_t key, uint32_t type,
void **val, uint32_t *valueLen);
123int32_t BSL_PARAM_GetValue(
const BSL_Param *param, int32_t key, uint32_t type,
void *val, uint32_t *valueLen);
136const BSL_Param *BSL_PARAM_FindConstParam(
const BSL_Param *param, int32_t key);
149BSL_Param *BSL_PARAM_FindParam(BSL_Param *param, int32_t key);
156void BSL_PARAM_Free(BSL_Param *param);
163BSL_ParamMaker *BSL_PARAM_MAKER_New(
void);
178int32_t BSL_PARAM_MAKER_PushValue(BSL_ParamMaker *maker, int32_t key, uint32_t type,
void *value, uint32_t len);
194int32_t BSL_PARAM_MAKER_DeepPushValue(BSL_ParamMaker *maker, int32_t key, uint32_t type,
void *value,
204BSL_Param *BSL_PARAM_MAKER_ToParam(BSL_ParamMaker *maker);
211void BSL_PARAM_MAKER_Free(BSL_ParamMaker *maker);