Lines Matching defs:kvlist
25 rte_kvargs_tokenize(struct rte_kvargs *kvlist, const char *params)
34 kvlist->str = strdup(params);
35 if (kvlist->str == NULL)
38 /* browse each key/value pair and add it in kvlist */
39 str = kvlist->str;
83 if (kvlist->count >= RTE_KVARGS_MAX)
88 kvlist->pairs[kvlist->count].value = start;
91 kvlist->pairs[kvlist->count].key = start;
96 kvlist->count++;
134 check_for_valid_keys(struct rte_kvargs *kvlist,
140 for (i = 0; i < kvlist->count; i++) {
141 pair = &kvlist->pairs[i];
155 rte_kvargs_count(const struct rte_kvargs *kvlist, const char *key_match)
161 for (i = 0; i < kvlist->count; i++) {
162 pair = &kvlist->pairs[i];
171 kvargs_process_common(const struct rte_kvargs *kvlist, const char *key_match,
177 if (kvlist == NULL)
180 for (i = 0; i < kvlist->count; i++) {
181 pair = &kvlist->pairs[i];
197 rte_kvargs_process(const struct rte_kvargs *kvlist, const char *key_match, arg_handler_t handler,
200 return kvargs_process_common(kvlist, key_match, handler, opaque_arg, false);
207 rte_kvargs_process_opt(const struct rte_kvargs *kvlist, const char *key_match,
210 return kvargs_process_common(kvlist, key_match, handler, opaque_arg, true);
215 rte_kvargs_free(struct rte_kvargs *kvlist)
217 if (!kvlist)
220 free(kvlist->str);
221 free(kvlist);
226 rte_kvargs_get_with_value(const struct rte_kvargs *kvlist, const char *key,
231 if (kvlist == NULL)
233 for (i = 0; i < kvlist->count; ++i) {
234 if (key != NULL && strcmp(kvlist->pairs[i].key, key) != 0)
236 if (value != NULL && strcmp(kvlist->pairs[i].value, value) != 0)
238 return kvlist->pairs[i].value;
245 rte_kvargs_get(const struct rte_kvargs *kvlist, const char *key)
247 if (kvlist == NULL || key == NULL)
249 return rte_kvargs_get_with_value(kvlist, key, NULL);
260 struct rte_kvargs *kvlist;
262 kvlist = malloc(sizeof(*kvlist));
263 if (kvlist == NULL)
265 memset(kvlist, 0, sizeof(*kvlist));
267 if (rte_kvargs_tokenize(kvlist, args) < 0) {
268 rte_kvargs_free(kvlist);
272 if (valid_keys != NULL && check_for_valid_keys(kvlist, valid_keys) < 0) {
273 rte_kvargs_free(kvlist);
277 return kvlist;
284 struct rte_kvargs *kvlist = NULL;
298 kvlist = rte_kvargs_parse(copy, valid_keys);
301 return kvlist;