2 * Copyright (C) 2021 Francis Deslauriers <francis.deslauriers@efficios.com>
4 * SPDX-License-Identifier: LGPL-2.1-only
8 #ifndef LTTNG_MAP_KEY_H
9 #define LTTNG_MAP_KEY_H
13 enum lttng_map_key_status
{
14 LTTNG_MAP_KEY_STATUS_ERROR
= -2,
15 LTTNG_MAP_KEY_STATUS_INVALID
= -1,
16 LTTNG_MAP_KEY_STATUS_OK
= 0,
19 enum lttng_map_key_token_variable_type
{
20 LTTNG_MAP_KEY_TOKEN_VARIABLE_TYPE_EVENT_NAME
,
21 LTTNG_MAP_KEY_TOKEN_VARIABLE_TYPE_PROVIDER_NAME
,
24 struct lttng_map_key
*lttng_map_key_create(void);
26 enum lttng_map_key_status
lttng_map_key_append_token_variable(
27 struct lttng_map_key
*key
,
28 enum lttng_map_key_token_variable_type var_type
);
30 enum lttng_map_key_status
lttng_map_key_append_token_string(
31 struct lttng_map_key
*key
, const char *string
);
33 void lttng_map_key_destroy(struct lttng_map_key
*key
);
35 #endif /* LTTNG_MAP_KEY_H */