X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Frelayd.h;h=fe7d2936d869a0f03dcc82078b005d3592cdbd90;hp=b22cdf4c51881b5b06289e2decdfaa1f15e887dd;hb=d3219302b0e0c9dda470d73a7b9ee48e759756b5;hpb=c35f9726a22f1d93e14589688d830efccda196f3 diff --git a/src/common/sessiond-comm/relayd.h b/src/common/sessiond-comm/relayd.h index b22cdf4c5..fe7d2936d 100644 --- a/src/common/sessiond-comm/relayd.h +++ b/src/common/sessiond-comm/relayd.h @@ -1,19 +1,9 @@ /* - * Copyright (C) 2012 - David Goulet - * Julien Desfossez + * Copyright (C) 2012 David Goulet + * Copyright (C) 2012 Julien Desfossez * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License, version 2 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: GPL-2.0-only * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _RELAYD_COMM @@ -26,7 +16,7 @@ #include #include #include -#include +#include #include #define RELAYD_VERSION_COMM_MAJOR VERSION_MAJOR @@ -206,19 +196,29 @@ struct lttcomm_relayd_create_session_2_4 { struct lttcomm_relayd_create_session_2_11 { uint32_t session_name_len; uint32_t hostname_len; + /* Optional, set to 0 to indicate it is not user-specified. */ + uint32_t base_path_len; uint32_t live_timer; uint8_t snapshot; + uint8_t session_name_contains_creation_time; /* Sessiond instance UUID */ lttng_uuid sessiond_uuid; /* Sessiond session id */ - uint64_t session_id; + uint64_t session_id; /* Session creation time, in seconds since UNIX Epoch. */ uint64_t creation_time; LTTNG_OPTIONAL_COMM(uint64_t) LTTNG_PACKED current_chunk_id; - /* Contains the session_name and hostname */ + /* Contains the session_name, hostname, base_path. */ char names[]; } LTTNG_PACKED; +struct lttcomm_relayd_create_session_reply_2_11 { + struct lttcomm_relayd_status_session generic; + /* Includes the '\0' terminator. */ + uint32_t output_path_length; + char output_path[]; +} LTTNG_PACKED; + /* * Used to ask the relay to reset the metadata trace file (regeneration). * Send the new version of the metadata (starts at 0). @@ -267,6 +267,13 @@ struct lttcomm_relayd_close_trace_chunk { LTTNG_OPTIONAL_COMM(uint32_t) LTTNG_PACKED close_command; } LTTNG_PACKED; +struct lttcomm_relayd_close_trace_chunk_reply { + struct lttcomm_relayd_generic_reply generic; + /* Includes trailing NULL. */ + uint32_t path_length; + char path[]; +} LTTNG_PACKED; + struct lttcomm_relayd_trace_chunk_exists { uint64_t chunk_id; } LTTNG_PACKED; @@ -276,4 +283,25 @@ struct lttcomm_relayd_trace_chunk_exists_reply { uint8_t trace_chunk_exists; } LTTNG_PACKED; +enum lttcomm_relayd_configuration_flag { + /* The relay daemon (2.12) is configured to allow clear operations. */ + LTTCOMM_RELAYD_CONFIGURATION_FLAG_CLEAR_ALLOWED = (1 << 0), +}; + +struct lttcomm_relayd_get_configuration { + uint64_t query_flags; +} LTTNG_PACKED; + +/* + * Used to return a relay daemon's configuration in reply to the + * RELAYD_GET_CONFIGURATION command. + */ +struct lttcomm_relayd_get_configuration_reply { + struct lttcomm_relayd_generic_reply generic; + /* Set of lttcomm_relayd_configuration_flag. */ + uint64_t relayd_configuration_flags; + /* Optional variable-length payload. */ + char payload[]; +} LTTNG_PACKED; + #endif /* _RELAYD_COMM */