LTTng control library C API
Loading...
Searching...
No Matches
event-field-value.h
1/*
2 * SPDX-FileCopyrightText: 2020 Philippe Proulx <pproulx@efficios.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
8#ifndef LTTNG_EVENT_FIELD_VALUE_H
9#define LTTNG_EVENT_FIELD_VALUE_H
10
11#include <lttng/lttng-export.h>
12
13#include <stdint.h>
14
15struct lttng_event_field_value;
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
74
89
103LTTNG_EXPORT extern enum lttng_event_field_value_type
104lttng_event_field_value_get_type(const struct lttng_event_field_value *field_val);
105
132LTTNG_EXPORT extern enum lttng_event_field_value_status
133lttng_event_field_value_unsigned_int_get_value(const struct lttng_event_field_value *field_val,
134 uint64_t *val);
135
162LTTNG_EXPORT extern enum lttng_event_field_value_status
163lttng_event_field_value_signed_int_get_value(const struct lttng_event_field_value *field_val,
164 int64_t *val);
165
187LTTNG_EXPORT extern enum lttng_event_field_value_status
188lttng_event_field_value_real_get_value(const struct lttng_event_field_value *field_val,
189 double *val);
190
219LTTNG_EXPORT extern enum lttng_event_field_value_status
220lttng_event_field_value_string_get_value(const struct lttng_event_field_value *field_val,
221 const char **val);
222
247LTTNG_EXPORT extern enum lttng_event_field_value_status
248lttng_event_field_value_array_get_length(const struct lttng_event_field_value *field_val,
249 unsigned int *length);
250
297LTTNG_EXPORT extern enum lttng_event_field_value_status
299 const struct lttng_event_field_value *field_val,
300 unsigned int index,
301 const struct lttng_event_field_value **elem_field_val);
302
331LTTNG_EXPORT extern enum lttng_event_field_value_status
332lttng_event_field_value_blob_get_media_type(const struct lttng_event_field_value *field_val,
333 const char **media_type);
334
359LTTNG_EXPORT extern enum lttng_event_field_value_status
360lttng_event_field_value_blob_get_length(const struct lttng_event_field_value *field_val,
361 size_t *length);
362
398LTTNG_EXPORT extern enum lttng_event_field_value_status
399lttng_event_field_value_blob_get_data(const struct lttng_event_field_value *field_val,
400 const uint8_t **data);
401
403
404#ifdef __cplusplus
405}
406#endif
407
408#endif /* LTTNG_EVENT_FIELD_VALUE_H */
lttng_event_field_value_type
Event field value type.
Definition event-field-value.h:33
enum lttng_event_field_value_status lttng_event_field_value_unsigned_int_get_value(const struct lttng_event_field_value *field_val, uint64_t *val)
Sets *val to the raw value of the unsigned integer event field value field_val.
enum lttng_event_field_value_status lttng_event_field_value_blob_get_media_type(const struct lttng_event_field_value *field_val, const char **media_type)
Sets *media_type to the IANA media type of the BLOB event field value field_val.
enum lttng_event_field_value_status lttng_event_field_value_array_get_length(const struct lttng_event_field_value *field_val, unsigned int *length)
Sets *length to the length of the array event field value field_val.
enum lttng_event_field_value_status lttng_event_field_value_string_get_value(const struct lttng_event_field_value *field_val, const char **val)
Sets *val to the raw value of the string event field value field_val.
enum lttng_event_field_value_status lttng_event_field_value_array_get_element_at_index(const struct lttng_event_field_value *field_val, unsigned int index, const struct lttng_event_field_value **elem_field_val)
Sets *elem_field_val to the element of the array event field value field_val at the index index.
enum lttng_event_field_value_status lttng_event_field_value_real_get_value(const struct lttng_event_field_value *field_val, double *val)
Sets *val to the raw value of the real number event field value field_val.
enum lttng_event_field_value_status lttng_event_field_value_blob_get_data(const struct lttng_event_field_value *field_val, const uint8_t **data)
Sets *data to the data pointer of the BLOB event field value field_val.
lttng_event_field_value_status
Return type of event field value API functions.
Definition event-field-value.h:79
enum lttng_event_field_value_status lttng_event_field_value_blob_get_length(const struct lttng_event_field_value *field_val, size_t *length)
Sets *length to the length (byte count) of the BLOB event field value field_val.
enum lttng_event_field_value_type lttng_event_field_value_get_type(const struct lttng_event_field_value *field_val)
Returns the type of the event field value field_val.
enum lttng_event_field_value_status lttng_event_field_value_signed_int_get_value(const struct lttng_event_field_value *field_val, int64_t *val)
Sets *val to the raw value of the signed integer event field value field_val.
@ LTTNG_EVENT_FIELD_VALUE_TYPE_SIGNED_INT
Signed integer.
Definition event-field-value.h:38
@ LTTNG_EVENT_FIELD_VALUE_TYPE_INVALID
Unsatisfied precondition.
Definition event-field-value.h:69
@ LTTNG_EVENT_FIELD_VALUE_TYPE_SIGNED_ENUM
Definition event-field-value.h:54
@ LTTNG_EVENT_FIELD_VALUE_TYPE_ARRAY
Array.
Definition event-field-value.h:63
@ LTTNG_EVENT_FIELD_VALUE_TYPE_STRING
String.
Definition event-field-value.h:60
@ LTTNG_EVENT_FIELD_VALUE_TYPE_UNKNOWN
Unknown (error).
Definition event-field-value.h:72
@ LTTNG_EVENT_FIELD_VALUE_TYPE_BLOB
BLOB (binary large object).
Definition event-field-value.h:66
@ LTTNG_EVENT_FIELD_VALUE_TYPE_UNSIGNED_INT
Unsigned integer.
Definition event-field-value.h:35
@ LTTNG_EVENT_FIELD_VALUE_TYPE_UNSIGNED_ENUM
Definition event-field-value.h:46
@ LTTNG_EVENT_FIELD_VALUE_TYPE_REAL
Real number.
Definition event-field-value.h:57
@ LTTNG_EVENT_FIELD_VALUE_STATUS_INVALID
Unsatisfied precondition.
Definition event-field-value.h:84
@ LTTNG_EVENT_FIELD_VALUE_STATUS_UNAVAILABLE
Event field value is not available.
Definition event-field-value.h:87
@ LTTNG_EVENT_FIELD_VALUE_STATUS_OK
Success.
Definition event-field-value.h:81