libpaf 1.1.13
Loading...
Searching...
No Matches
paf_props.h
Go to the documentation of this file.
1/*
2 * SPDX-License-Identifier: BSD-3-Clause
3 * Copyright(c) 2020 Ericsson AB
4 */
5
6#ifndef PAF_PROPS_H
7#define PAF_PROPS_H
8#ifdef __cplusplus
9extern "C" {
10#endif
11
20#include <sys/types.h>
21
22#include <paf_value.h>
23
24struct paf_props;
25
31struct paf_props *paf_props_create(void);
32
33
46void paf_props_add(struct paf_props *props, const char *name,
47 const struct paf_value *value);
48
59void paf_props_add_int64(struct paf_props *props, const char *name,
60 int64_t value);
61
71void paf_props_add_str(struct paf_props *props, const char *name,
72 const char *value);
73
95size_t paf_props_get(const struct paf_props *props, const char *prop_name,
96 const struct paf_value **values, size_t capacity);
108const struct paf_value *paf_props_get_one(const struct paf_props *props,
109 const char *prop_name);
110
114typedef void (*paf_props_foreach_cb)(const char *prop_name,
115 const struct paf_value *prop_value,
116 void *user);
117
130void paf_props_foreach(const struct paf_props *props, paf_props_foreach_cb cb,
131 void *user);
132
141bool paf_props_equal(const struct paf_props *props_a,
142 const struct paf_props *props_b);
143
154size_t paf_props_num_values(const struct paf_props *props);
155
163size_t paf_props_num_names(const struct paf_props *props);
164
172struct paf_props *paf_props_clone(const struct paf_props *orig);
173
182void paf_props_destroy(struct paf_props *props);
183
184#ifdef __cplusplus
185}
186#endif
187#endif
struct paf_props * paf_props_clone(const struct paf_props *orig)
bool paf_props_equal(const struct paf_props *props_a, const struct paf_props *props_b)
void paf_props_add_str(struct paf_props *props, const char *name, const char *value)
size_t paf_props_num_values(const struct paf_props *props)
size_t paf_props_get(const struct paf_props *props, const char *prop_name, const struct paf_value **values, size_t capacity)
const struct paf_value * paf_props_get_one(const struct paf_props *props, const char *prop_name)
struct paf_props * paf_props_create(void)
void paf_props_add_int64(struct paf_props *props, const char *name, int64_t value)
void paf_props_destroy(struct paf_props *props)
void paf_props_foreach(const struct paf_props *props, paf_props_foreach_cb cb, void *user)
void paf_props_add(struct paf_props *props, const char *name, const struct paf_value *value)
void(* paf_props_foreach_cb)(const char *prop_name, const struct paf_value *prop_value, void *user)
Definition paf_props.h:114
size_t paf_props_num_names(const struct paf_props *props)
Pathfinder Property Value API.