12 struct list_item list;
17 const char **known_params;
20 #define param_list_for_each(_pl_ptr, _pos) \
21 list_for_each_entry(&(_pl_ptr)->params, _pos, list)
23 #define param_list_for_each_known_param(_pl_ptr, _pos) \
24 for (_pos = (_pl_ptr)->known_params; *_pos; _pos++)
26 const char **common_known_params(void);
28 void param_list_init(struct param_list *pl, const char *known_params[]);
29 bool param_list_is_known(const struct param_list *pl, const char *name);
30 bool param_list_is_known_n(const struct param_list *pl, const char *name,
31 unsigned int name_len);
32 struct param *param_list_get_param(struct param_list *pl, const char *name);
33 static inline const char *param_list_get_value(const struct param_list *pl,
36 const struct param *param =
37 param_list_get_param((struct param_list *)pl, name);
38 return param ? param->value : NULL;
40 void param_list_set(struct param_list *pl, const char *name, const char *value,
41 bool modified_on_create);
43 /* param_list_set_non_empty - Won't create a new parameter that would be empty. */
44 void param_list_set_non_empty(struct param_list *pl, const char *name,
45 const char *value, bool modified_on_create);
47 #endif /* PARAM_LIST_H */