* SPDX-License-Identifier: LGPL-2.1-only
*/
-#include <lttng/session-descriptor-internal.hpp>
-#include <common/macros.hpp>
-#include <common/uri.hpp>
#include <common/defaults.hpp>
#include <common/error.hpp>
-#include <time.h>
+#include <common/macros.hpp>
+#include <common/uri.hpp>
+
+#include <lttng/session-descriptor-internal.hpp>
+
#include <stdio.h>
+#include <time.h>
+namespace {
struct lttng_session_descriptor_network_location {
struct lttng_uri *control;
struct lttng_uri *data;
};
+} /* namespace */
struct lttng_session_descriptor {
enum lttng_session_descriptor_type type;
} output;
};
+namespace {
struct lttng_session_descriptor_snapshot {
struct lttng_session_descriptor base;
/*
/* Live-specific parameters. */
uint64_t live_timer_us;
} LTTNG_PACKED;
+} /* namespace */
-static
-struct lttng_uri *uri_copy(const struct lttng_uri *uri)
+static struct lttng_uri *uri_copy(const struct lttng_uri *uri)
{
- struct lttng_uri *new_uri = NULL;
+ struct lttng_uri *new_uri = nullptr;
if (!uri) {
goto end;
}
- new_uri = (lttng_uri *) zmalloc(sizeof(*new_uri));
+ new_uri = zmalloc<lttng_uri>();
if (!new_uri) {
goto end;
}
return new_uri;
}
-static
-struct lttng_uri *uri_from_path(const char *path)
+static struct lttng_uri *uri_from_path(const char *path)
{
- struct lttng_uri *uris = NULL;
+ struct lttng_uri *uris = nullptr;
ssize_t uri_count;
- char local_protocol_string[LTTNG_PATH_MAX + sizeof("file://")] =
- "file://";
+ char local_protocol_string[LTTNG_PATH_MAX + sizeof("file://")] = "file://";
if (strlen(path) >= LTTNG_PATH_MAX) {
goto end;
return uris;
error:
free(uris);
- return NULL;
+ return nullptr;
}
-static
-void network_location_fini(
- struct lttng_session_descriptor_network_location *location)
+static void network_location_fini(struct lttng_session_descriptor_network_location *location)
{
free(location->control);
free(location->data);
}
/* Assumes ownership of control and data. */
-static
-int network_location_set_from_lttng_uris(
- struct lttng_session_descriptor_network_location *location,
- struct lttng_uri *control, struct lttng_uri *data)
+static int
+network_location_set_from_lttng_uris(struct lttng_session_descriptor_network_location *location,
+ struct lttng_uri *control,
+ struct lttng_uri *data)
{
int ret = 0;
goto end;
}
- if (control->stype != LTTNG_STREAM_CONTROL ||
- data->stype != LTTNG_STREAM_DATA) {
+ if (control->stype != LTTNG_STREAM_CONTROL || data->stype != LTTNG_STREAM_DATA) {
ret = -1;
goto end;
}
free(location->data);
location->control = control;
location->data = data;
- control = NULL;
- data = NULL;
+ control = nullptr;
+ data = nullptr;
end:
free(control);
free(data);
return ret;
}
-static
-int network_location_set_from_uri_strings(
- struct lttng_session_descriptor_network_location *location,
- const char *control, const char *data)
+static int
+network_location_set_from_uri_strings(struct lttng_session_descriptor_network_location *location,
+ const char *control,
+ const char *data)
{
int ret = 0;
ssize_t uri_count;
- struct lttng_uri *parsed_uris = NULL;
- struct lttng_uri *control_uri = NULL;
- struct lttng_uri *data_uri = NULL;
+ struct lttng_uri *parsed_uris = nullptr;
+ struct lttng_uri *control_uri = nullptr;
+ struct lttng_uri *data_uri = nullptr;
uri_count = uri_parse_str_urls(control, data, &parsed_uris);
if (uri_count != 2 && uri_count != 0) {
* session descriptors expect individually allocated lttng_uris.
*/
if (uri_count == 2) {
- control_uri = (lttng_uri *) zmalloc(sizeof(*control_uri));
- data_uri = (lttng_uri *) zmalloc(sizeof(*data_uri));
+ control_uri = zmalloc<lttng_uri>();
+ data_uri = zmalloc<lttng_uri>();
if (!control_uri || !data_uri) {
ret = -1;
goto end;
}
/* Ownership of control and data uris is transferred. */
- ret = network_location_set_from_lttng_uris(
- location,
- control_uri,
- data_uri);
- control_uri = NULL;
- data_uri = NULL;
+ ret = network_location_set_from_lttng_uris(location, control_uri, data_uri);
+ control_uri = nullptr;
+ data_uri = nullptr;
end:
free(parsed_uris);
free(control_uri);
return ret;
}
-struct lttng_session_descriptor *
-lttng_session_descriptor_create(const char *name)
+struct lttng_session_descriptor *lttng_session_descriptor_create(const char *name)
{
struct lttng_session_descriptor *descriptor;
- descriptor = (lttng_session_descriptor *) zmalloc(sizeof(*descriptor));
+ descriptor = zmalloc<lttng_session_descriptor>();
if (!descriptor) {
goto error;
}
descriptor->type = LTTNG_SESSION_DESCRIPTOR_TYPE_REGULAR;
- descriptor->output_type =
- LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE;
+ descriptor->output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE;
if (lttng_session_descriptor_set_session_name(descriptor, name)) {
goto error;
}
return descriptor;
error:
lttng_session_descriptor_destroy(descriptor);
- return NULL;
+ return nullptr;
}
/* Ownership of uri is transferred. */
-static
-struct lttng_session_descriptor *
-_lttng_session_descriptor_local_create(const char *name,
- struct lttng_uri *uri)
+static struct lttng_session_descriptor *
+_lttng_session_descriptor_local_create(const char *name, struct lttng_uri *uri)
{
struct lttng_session_descriptor *descriptor;
goto error;
}
descriptor->type = LTTNG_SESSION_DESCRIPTOR_TYPE_REGULAR;
- descriptor->output_type =
- LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL;
+ descriptor->output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL;
if (uri) {
if (uri->dtype != LTTNG_DST_PATH) {
goto error;
}
descriptor->output.local = uri;
- uri = NULL;
+ uri = nullptr;
}
return descriptor;
error:
free(uri);
lttng_session_descriptor_destroy(descriptor);
- return NULL;
+ return nullptr;
}
-struct lttng_session_descriptor *
-lttng_session_descriptor_local_create(const char *name, const char *path)
+struct lttng_session_descriptor *lttng_session_descriptor_local_create(const char *name,
+ const char *path)
{
- struct lttng_uri *uri = NULL;
+ struct lttng_uri *uri = nullptr;
struct lttng_session_descriptor *descriptor;
if (path) {
descriptor = _lttng_session_descriptor_local_create(name, uri);
return descriptor;
error:
- return NULL;
+ return nullptr;
}
/* Assumes the ownership of both uris. */
-static
-struct lttng_session_descriptor *
-_lttng_session_descriptor_network_create(const char *name,
- struct lttng_uri *control, struct lttng_uri *data)
+static struct lttng_session_descriptor *_lttng_session_descriptor_network_create(
+ const char *name, struct lttng_uri *control, struct lttng_uri *data)
{
int ret;
struct lttng_session_descriptor *descriptor;
descriptor->type = LTTNG_SESSION_DESCRIPTOR_TYPE_REGULAR;
descriptor->output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK;
/* Assumes the ownership of both uris. */
- ret = network_location_set_from_lttng_uris(&descriptor->output.network,
- control, data);
- control = NULL;
- data = NULL;
+ ret = network_location_set_from_lttng_uris(&descriptor->output.network, control, data);
+ control = nullptr;
+ data = nullptr;
if (ret) {
goto error;
}
lttng_session_descriptor_destroy(descriptor);
free(control);
free(data);
- return NULL;
+ return nullptr;
}
-struct lttng_session_descriptor *
-lttng_session_descriptor_network_create(const char *name,
- const char *control_url, const char *data_url)
+struct lttng_session_descriptor *lttng_session_descriptor_network_create(const char *name,
+ const char *control_url,
+ const char *data_url)
{
int ret;
struct lttng_session_descriptor *descriptor;
- descriptor = _lttng_session_descriptor_network_create(name,
- NULL, NULL);
+ descriptor = _lttng_session_descriptor_network_create(name, nullptr, nullptr);
if (!descriptor) {
goto error;
}
- ret = network_location_set_from_uri_strings(&descriptor->output.network,
- control_url, data_url);
+ ret = network_location_set_from_uri_strings(
+ &descriptor->output.network, control_url, data_url);
if (ret) {
goto error;
}
return descriptor;
error:
lttng_session_descriptor_destroy(descriptor);
- return NULL;
+ return nullptr;
}
-static
-struct lttng_session_descriptor_snapshot *
+static struct lttng_session_descriptor_snapshot *
_lttng_session_descriptor_snapshot_create(const char *name)
{
struct lttng_session_descriptor_snapshot *descriptor;
- descriptor = (lttng_session_descriptor_snapshot *) zmalloc(sizeof(*descriptor));
+ descriptor = zmalloc<lttng_session_descriptor_snapshot>();
if (!descriptor) {
goto error;
}
descriptor->base.type = LTTNG_SESSION_DESCRIPTOR_TYPE_SNAPSHOT;
- descriptor->base.output_type =
- LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE;
- if (lttng_session_descriptor_set_session_name(&descriptor->base,
- name)) {
+ descriptor->base.output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE;
+ if (lttng_session_descriptor_set_session_name(&descriptor->base, name)) {
goto error;
}
return descriptor;
error:
- lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL);
- return NULL;
+ lttng_session_descriptor_destroy(descriptor ? &descriptor->base : nullptr);
+ return nullptr;
}
/* Ownership of control and data is transferred. */
-static
-struct lttng_session_descriptor_snapshot *
-_lttng_session_descriptor_snapshot_network_create(const char *name,
- struct lttng_uri *control, struct lttng_uri *data)
+static struct lttng_session_descriptor_snapshot *_lttng_session_descriptor_snapshot_network_create(
+ const char *name, struct lttng_uri *control, struct lttng_uri *data)
{
int ret;
struct lttng_session_descriptor_snapshot *descriptor;
goto error;
}
- descriptor->base.output_type =
- LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK;
+ descriptor->base.output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK;
/* Ownership of control and data is transferred. */
- ret = network_location_set_from_lttng_uris(
- &descriptor->base.output.network,
- control, data);
- control = NULL;
- data = NULL;
+ ret = network_location_set_from_lttng_uris(&descriptor->base.output.network, control, data);
+ control = nullptr;
+ data = nullptr;
if (ret) {
goto error;
}
error:
free(control);
free(data);
- lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL);
- return NULL;
+ lttng_session_descriptor_destroy(descriptor ? &descriptor->base : nullptr);
+ return nullptr;
}
-struct lttng_session_descriptor *
-lttng_session_descriptor_snapshot_create(const char *name)
+struct lttng_session_descriptor *lttng_session_descriptor_snapshot_create(const char *name)
{
struct lttng_session_descriptor_snapshot *descriptor;
descriptor = _lttng_session_descriptor_snapshot_create(name);
- return descriptor ? &descriptor->base : NULL;
+ return descriptor ? &descriptor->base : nullptr;
}
-struct lttng_session_descriptor *
-lttng_session_descriptor_snapshot_network_create(const char *name,
- const char *control_url, const char *data_url)
+struct lttng_session_descriptor *lttng_session_descriptor_snapshot_network_create(
+ const char *name, const char *control_url, const char *data_url)
{
int ret;
struct lttng_session_descriptor_snapshot *descriptor;
- descriptor = _lttng_session_descriptor_snapshot_network_create(name,
- NULL, NULL);
+ descriptor = _lttng_session_descriptor_snapshot_network_create(name, nullptr, nullptr);
if (!descriptor) {
goto error;
}
ret = network_location_set_from_uri_strings(
- &descriptor->base.output.network,
- control_url, data_url);
+ &descriptor->base.output.network, control_url, data_url);
if (ret) {
goto error;
}
return &descriptor->base;
error:
- lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL);
- return NULL;
+ lttng_session_descriptor_destroy(descriptor ? &descriptor->base : nullptr);
+ return nullptr;
}
/* Ownership of uri is transferred. */
-static
-struct lttng_session_descriptor_snapshot *
-_lttng_session_descriptor_snapshot_local_create(const char *name,
- struct lttng_uri *uri)
+static struct lttng_session_descriptor_snapshot *
+_lttng_session_descriptor_snapshot_local_create(const char *name, struct lttng_uri *uri)
{
struct lttng_session_descriptor_snapshot *descriptor;
if (!descriptor) {
goto error;
}
- descriptor->base.output_type =
- LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL;
+ descriptor->base.output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL;
if (uri) {
if (uri->dtype != LTTNG_DST_PATH) {
goto error;
}
descriptor->base.output.local = uri;
- uri = NULL;
+ uri = nullptr;
}
return descriptor;
error:
free(uri);
- lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL);
- return NULL;
+ lttng_session_descriptor_destroy(descriptor ? &descriptor->base : nullptr);
+ return nullptr;
}
-struct lttng_session_descriptor *
-lttng_session_descriptor_snapshot_local_create(const char *name,
- const char *path)
+struct lttng_session_descriptor *lttng_session_descriptor_snapshot_local_create(const char *name,
+ const char *path)
{
- struct lttng_uri *path_uri = NULL;
+ struct lttng_uri *path_uri = nullptr;
struct lttng_session_descriptor_snapshot *descriptor;
if (path) {
goto error;
}
}
- descriptor = _lttng_session_descriptor_snapshot_local_create(name,
- path_uri);
- return descriptor ? &descriptor->base : NULL;
+ descriptor = _lttng_session_descriptor_snapshot_local_create(name, path_uri);
+ return descriptor ? &descriptor->base : nullptr;
error:
- return NULL;
+ return nullptr;
}
-static
-struct lttng_session_descriptor_live *
-_lttng_session_descriptor_live_create(const char *name,
- unsigned long long live_timer_interval_us)
+static struct lttng_session_descriptor_live *
+_lttng_session_descriptor_live_create(const char *name, unsigned long long live_timer_interval_us)
{
- struct lttng_session_descriptor_live *descriptor = NULL;
+ struct lttng_session_descriptor_live *descriptor = nullptr;
if (live_timer_interval_us == 0) {
goto error;
}
- descriptor = (lttng_session_descriptor_live *) zmalloc(sizeof(*descriptor));
+ descriptor = zmalloc<lttng_session_descriptor_live>();
if (!descriptor) {
goto error;
}
descriptor->base.type = LTTNG_SESSION_DESCRIPTOR_TYPE_LIVE;
- descriptor->base.output_type =
- LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE;
+ descriptor->base.output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE;
descriptor->live_timer_us = live_timer_interval_us;
- if (lttng_session_descriptor_set_session_name(&descriptor->base,
- name)) {
+ if (lttng_session_descriptor_set_session_name(&descriptor->base, name)) {
goto error;
}
return descriptor;
error:
- lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL);
- return NULL;
+ lttng_session_descriptor_destroy(descriptor ? &descriptor->base : nullptr);
+ return nullptr;
}
/* Ownership of control and data is transferred. */
-static
-struct lttng_session_descriptor_live *
-_lttng_session_descriptor_live_network_create(
- const char *name,
- struct lttng_uri *control, struct lttng_uri *data,
- unsigned long long live_timer_interval_us)
+static struct lttng_session_descriptor_live *
+_lttng_session_descriptor_live_network_create(const char *name,
+ struct lttng_uri *control,
+ struct lttng_uri *data,
+ unsigned long long live_timer_interval_us)
{
int ret;
struct lttng_session_descriptor_live *descriptor;
- descriptor = _lttng_session_descriptor_live_create(name,
- live_timer_interval_us);
+ descriptor = _lttng_session_descriptor_live_create(name, live_timer_interval_us);
if (!descriptor) {
goto error;
}
- descriptor->base.output_type =
- LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK;
+ descriptor->base.output_type = LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK;
/* Ownerwhip of control and data is transferred. */
- ret = network_location_set_from_lttng_uris(
- &descriptor->base.output.network,
- control, data);
- control = NULL;
- data = NULL;
+ ret = network_location_set_from_lttng_uris(&descriptor->base.output.network, control, data);
+ control = nullptr;
+ data = nullptr;
if (ret) {
goto error;
}
error:
free(control);
free(data);
- lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL);
- return NULL;
+ lttng_session_descriptor_destroy(descriptor ? &descriptor->base : nullptr);
+ return nullptr;
}
struct lttng_session_descriptor *
-lttng_session_descriptor_live_create(
- const char *name,
- unsigned long long live_timer_us)
+lttng_session_descriptor_live_create(const char *name, unsigned long long live_timer_us)
{
struct lttng_session_descriptor_live *descriptor;
descriptor = _lttng_session_descriptor_live_create(name, live_timer_us);
- return descriptor ? &descriptor->base : NULL;
+ return descriptor ? &descriptor->base : nullptr;
}
struct lttng_session_descriptor *
-lttng_session_descriptor_live_network_create(
- const char *name,
- const char *control_url, const char *data_url,
- unsigned long long live_timer_us)
+lttng_session_descriptor_live_network_create(const char *name,
+ const char *control_url,
+ const char *data_url,
+ unsigned long long live_timer_us)
{
int ret;
struct lttng_session_descriptor_live *descriptor;
- descriptor = _lttng_session_descriptor_live_network_create(name,
- NULL, NULL, live_timer_us);
+ descriptor = _lttng_session_descriptor_live_network_create(
+ name, nullptr, nullptr, live_timer_us);
if (!descriptor) {
goto error;
}
ret = network_location_set_from_uri_strings(
- &descriptor->base.output.network,
- control_url, data_url);
+ &descriptor->base.output.network, control_url, data_url);
if (ret) {
goto error;
}
return &descriptor->base;
error:
- lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL);
- return NULL;
+ lttng_session_descriptor_destroy(descriptor ? &descriptor->base : nullptr);
+ return nullptr;
}
-void lttng_session_descriptor_destroy(
- struct lttng_session_descriptor *descriptor)
+void lttng_session_descriptor_destroy(struct lttng_session_descriptor *descriptor)
{
if (!descriptor) {
return;
free(descriptor);
}
-ssize_t lttng_session_descriptor_create_from_buffer(
- const struct lttng_buffer_view *payload,
- struct lttng_session_descriptor **descriptor)
+ssize_t lttng_session_descriptor_create_from_buffer(const struct lttng_buffer_view *payload,
+ struct lttng_session_descriptor **descriptor)
{
int i;
ssize_t offset = 0, ret;
struct lttng_buffer_view current_view;
- const char *name = NULL;
+ const char *name = nullptr;
const struct lttng_session_descriptor_comm *base_header;
size_t max_expected_uri_count;
uint64_t live_timer_us = 0;
enum lttng_session_descriptor_type type;
enum lttng_session_descriptor_output_type output_type;
- current_view = lttng_buffer_view_from_view(payload, offset,
- sizeof(*base_header));
+ current_view = lttng_buffer_view_from_view(payload, offset, sizeof(*base_header));
if (!lttng_buffer_view_is_valid(¤t_view)) {
ret = -1;
goto end;
{
const struct lttng_session_descriptor_live_comm *live_header;
- current_view = lttng_buffer_view_from_view(payload, offset,
- sizeof(*live_header));
+ current_view = lttng_buffer_view_from_view(payload, offset, sizeof(*live_header));
if (!lttng_buffer_view_is_valid(¤t_view)) {
ret = -1;
goto end;
}
/* Map the name. */
- current_view = lttng_buffer_view_from_view(payload, offset,
- base_header->name_len);
+ current_view = lttng_buffer_view_from_view(payload, offset, base_header->name_len);
if (!lttng_buffer_view_is_valid(¤t_view)) {
ret = -1;
goto end;
}
name = current_view.data;
- if (base_header->name_len == 1 ||
- name[base_header->name_len - 1] ||
- strlen(name) != base_header->name_len - 1) {
+ if (base_header->name_len == 1 || name[base_header->name_len - 1] ||
+ strlen(name) != base_header->name_len - 1) {
/*
* Check that the name is not NULL, is NULL-terminated, and
* does not contain a NULL before the last byte.
struct lttng_uri *uri;
/* Map a URI. */
- current_view = lttng_buffer_view_from_view(payload,
- offset, sizeof(*uri));
+ current_view = lttng_buffer_view_from_view(payload, offset, sizeof(*uri));
if (!lttng_buffer_view_is_valid(¤t_view)) {
ret = -1;
goto end;
}
uri = (typeof(uri)) current_view.data;
- uris[i] = (lttng_uri *) zmalloc(sizeof(*uri));
+ uris[i] = zmalloc<lttng_uri>();
if (!uris[i]) {
ret = -1;
goto end;
*descriptor = lttng_session_descriptor_create(name);
break;
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL:
- *descriptor = _lttng_session_descriptor_local_create(
- name, uris[0]);
+ *descriptor = _lttng_session_descriptor_local_create(name, uris[0]);
break;
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK:
- *descriptor = _lttng_session_descriptor_network_create(
- name, uris[0], uris[1]);
+ *descriptor =
+ _lttng_session_descriptor_network_create(name, uris[0], uris[1]);
break;
default:
/* Already checked. */
struct lttng_session_descriptor_snapshot *snapshot;
switch (output_type) {
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE:
- snapshot = _lttng_session_descriptor_snapshot_create(
- name);
+ snapshot = _lttng_session_descriptor_snapshot_create(name);
break;
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL:
- snapshot = _lttng_session_descriptor_snapshot_local_create(
- name, uris[0]);
+ snapshot = _lttng_session_descriptor_snapshot_local_create(name, uris[0]);
break;
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK:
snapshot = _lttng_session_descriptor_snapshot_network_create(
- name, uris[0], uris[1]);
+ name, uris[0], uris[1]);
break;
default:
/* Already checked. */
abort();
}
- *descriptor = snapshot ? &snapshot->base : NULL;
+ *descriptor = snapshot ? &snapshot->base : nullptr;
break;
}
case LTTNG_SESSION_DESCRIPTOR_TYPE_LIVE:
switch (output_type) {
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE:
- live = _lttng_session_descriptor_live_create(
- name, live_timer_us);
+ live = _lttng_session_descriptor_live_create(name, live_timer_us);
break;
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK:
live = _lttng_session_descriptor_live_network_create(
- name, uris[0], uris[1],
- live_timer_us);
+ name, uris[0], uris[1], live_timer_us);
break;
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL:
ret = -1;
/* Already checked. */
abort();
}
- *descriptor = live ? &live->base : NULL;
+ *descriptor = live ? &live->base : nullptr;
break;
}
default:
return ret;
}
-int lttng_session_descriptor_serialize(
- const struct lttng_session_descriptor *descriptor,
- struct lttng_dynamic_buffer *buffer)
+int lttng_session_descriptor_serialize(const struct lttng_session_descriptor *descriptor,
+ struct lttng_dynamic_buffer *buffer)
{
int ret, i;
/* There are, at most, two URIs to serialize. */
.live_timer_us = 0,
};
- const void *header_ptr = NULL;
+ const void *header_ptr = nullptr;
size_t header_size;
switch (descriptor->output_type) {
header.base.uri_count = uri_count;
if (descriptor->type == LTTNG_SESSION_DESCRIPTOR_TYPE_LIVE) {
- const struct lttng_session_descriptor_live *live =
- container_of(descriptor, typeof(*live),
- base);
+ const struct lttng_session_descriptor_live *live = lttng::utils::container_of(
+ descriptor, <tng_session_descriptor_live::base);
header.live_timer_us = live->live_timer_us;
header_ptr = &header;
goto end;
}
if (header.base.name_len) {
- ret = lttng_dynamic_buffer_append(buffer, descriptor->name,
- header.base.name_len);
+ ret = lttng_dynamic_buffer_append(buffer, descriptor->name, header.base.name_len);
if (ret) {
goto end;
}
}
for (i = 0; i < uri_count; i++) {
- ret = lttng_dynamic_buffer_append(buffer, uris[i],
- sizeof(struct lttng_uri));
+ ret = lttng_dynamic_buffer_append(buffer, uris[i], sizeof(struct lttng_uri));
if (ret) {
goto end;
}
}
enum lttng_session_descriptor_type
-lttng_session_descriptor_get_type(
- const struct lttng_session_descriptor *descriptor)
+lttng_session_descriptor_get_type(const struct lttng_session_descriptor *descriptor)
{
return descriptor->type;
}
enum lttng_session_descriptor_output_type
-lttng_session_descriptor_get_output_type(
- const struct lttng_session_descriptor *descriptor)
+lttng_session_descriptor_get_output_type(const struct lttng_session_descriptor *descriptor)
{
return descriptor->output_type;
}
void lttng_session_descriptor_get_local_output_uri(
- const struct lttng_session_descriptor *descriptor,
- struct lttng_uri *local_uri)
+ const struct lttng_session_descriptor *descriptor, struct lttng_uri *local_uri)
{
memcpy(local_uri, descriptor->output.local, sizeof(*local_uri));
}
void lttng_session_descriptor_get_network_output_uris(
- const struct lttng_session_descriptor *descriptor,
- struct lttng_uri *control,
- struct lttng_uri *data)
+ const struct lttng_session_descriptor *descriptor,
+ struct lttng_uri *control,
+ struct lttng_uri *data)
{
memcpy(control, descriptor->output.network.control, sizeof(*control));
memcpy(data, descriptor->output.network.data, sizeof(*data));
}
unsigned long long
-lttng_session_descriptor_live_get_timer_interval(
- const struct lttng_session_descriptor *descriptor)
+lttng_session_descriptor_live_get_timer_interval(const struct lttng_session_descriptor *descriptor)
{
struct lttng_session_descriptor_live *live;
- live = container_of(descriptor, typeof(*live), base);
+ live = lttng::utils::container_of(descriptor, <tng_session_descriptor_live::base);
return live->live_timer_us;
}
enum lttng_session_descriptor_status
-lttng_session_descriptor_get_session_name(
- const struct lttng_session_descriptor *descriptor,
- const char **session_name)
+lttng_session_descriptor_get_session_name(const struct lttng_session_descriptor *descriptor,
+ const char **session_name)
{
enum lttng_session_descriptor_status status;
}
*session_name = descriptor->name;
- status = descriptor->name ?
- LTTNG_SESSION_DESCRIPTOR_STATUS_OK :
- LTTNG_SESSION_DESCRIPTOR_STATUS_UNSET;
+ status = descriptor->name ? LTTNG_SESSION_DESCRIPTOR_STATUS_OK :
+ LTTNG_SESSION_DESCRIPTOR_STATUS_UNSET;
end:
return status;
}
-int lttng_session_descriptor_set_session_name(
- struct lttng_session_descriptor *descriptor,
- const char *name)
+int lttng_session_descriptor_set_session_name(struct lttng_session_descriptor *descriptor,
+ const char *name)
{
int ret = 0;
char *new_name;
}
bool lttng_session_descriptor_is_output_destination_initialized(
- const struct lttng_session_descriptor *descriptor)
+ const struct lttng_session_descriptor *descriptor)
{
switch (descriptor->output_type) {
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE:
}
}
-bool lttng_session_descriptor_has_output_directory(
- const struct lttng_session_descriptor *descriptor)
+bool lttng_session_descriptor_has_output_directory(const struct lttng_session_descriptor *descriptor)
{
switch (descriptor->output_type) {
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE:
return false;
}
-enum lttng_error_code lttng_session_descriptor_set_default_output(
- struct lttng_session_descriptor *descriptor,
- time_t *session_creation_time,
- const char *absolute_home_path)
+enum lttng_error_code
+lttng_session_descriptor_set_default_output(struct lttng_session_descriptor *descriptor,
+ time_t *session_creation_time,
+ const char *absolute_home_path)
{
enum lttng_error_code ret_code = LTTNG_OK;
- struct lttng_uri *uris = NULL;
+ struct lttng_uri *uris = nullptr;
switch (descriptor->output_type) {
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE:
goto end;
}
strftime_ret = strftime(creation_datetime_suffix,
- sizeof(creation_datetime_suffix),
- "-%Y%m%d-%H%M%S", timeinfo);
+ sizeof(creation_datetime_suffix),
+ "-%Y%m%d-%H%M%S",
+ timeinfo);
if (strftime_ret == 0) {
ERR("Failed to format session creation timestamp while setting default local output destination");
ret_code = LTTNG_ERR_FATAL;
}
}
LTTNG_ASSERT(descriptor->name);
- ret = snprintf(local_uri, sizeof(local_uri),
- "file://%s/%s/%s%s",
- absolute_home_path,
- DEFAULT_TRACE_DIR_NAME, descriptor->name,
- creation_datetime_suffix);
+ ret = snprintf(local_uri,
+ sizeof(local_uri),
+ "file://%s/%s/%s%s",
+ absolute_home_path,
+ DEFAULT_TRACE_DIR_NAME,
+ descriptor->name,
+ creation_datetime_suffix);
if (ret >= sizeof(local_uri)) {
ERR("Truncation occurred while setting default local output destination");
ret_code = LTTNG_ERR_SET_URL;
}
free(descriptor->output.local);
descriptor->output.local = &uris[0];
- uris = NULL;
+ uris = nullptr;
break;
}
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK:
{
int ret;
ssize_t uri_ret;
- struct lttng_uri *control = NULL, *data = NULL;
+ struct lttng_uri *control = nullptr, *data = nullptr;
- uri_ret = uri_parse_str_urls("net://127.0.0.1", NULL, &uris);
+ uri_ret = uri_parse_str_urls("net://127.0.0.1", nullptr, &uris);
if (uri_ret != 2) {
ret_code = LTTNG_ERR_SET_URL;
goto end;
/* Ownership of uris is transferred. */
ret = network_location_set_from_lttng_uris(
- &descriptor->output.network,
- control, data);
+ &descriptor->output.network, control, data);
if (ret) {
abort();
ret_code = LTTNG_ERR_SET_URL;
* Note that only properties that can be populated by the session daemon
* (output destination and name) are assigned.
*/
-int lttng_session_descriptor_assign(
- struct lttng_session_descriptor *dst,
- const struct lttng_session_descriptor *src)
+int lttng_session_descriptor_assign(struct lttng_session_descriptor *dst,
+ const struct lttng_session_descriptor *src)
{
int ret = 0;
break;
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK:
{
- struct lttng_uri *control_copy = NULL, *data_copy = NULL;
+ struct lttng_uri *control_copy = nullptr, *data_copy = nullptr;
control_copy = uri_copy(dst->output.network.control);
if (!control_copy && dst->output.network.control) {
ret = -1;
goto end;
}
- ret = network_location_set_from_lttng_uris(&dst->output.network,
- control_copy, data_copy);
+ ret = network_location_set_from_lttng_uris(
+ &dst->output.network, control_copy, data_copy);
break;
}
case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NONE: