X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Fnotification%2Fchannel-internal.h;h=befdca083fc5386dcd39eb88c70fb39e02b41134;hp=0779d73371bbd9158768bcaebfc0f664e0c1a4cc;hb=882093eef6fdd658833928a62be5d42fc0cdcb00;hpb=4149ace8fa7c7a8da39272f03923df46039c5ff6 diff --git a/include/lttng/notification/channel-internal.h b/include/lttng/notification/channel-internal.h index 0779d7337..befdca083 100644 --- a/include/lttng/notification/channel-internal.h +++ b/include/lttng/notification/channel-internal.h @@ -1,18 +1,8 @@ /* - * Copyright (C) 2017 - Jérémie Galarneau + * Copyright (C) 2017 Jérémie Galarneau * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License, version 2.1 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: LGPL-2.1-only * - * This library 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 Lesser General Public License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef LTTNG_NOTIFICATION_CHANNEL_INTERNAL_H @@ -20,14 +10,24 @@ #include #include -#include +#include #include #include #include #include +/* + * Protocol version change log: + * - v1.0 + * - Initial implementation of the notification channel protocol, + * - Supported conditions are LOW/HIGH buffer usage conditions, + * - v1.1 + * - New condition type "LTTNG_CONDITION_TYPE_SESSION_CONSUMED_SIZE" added, + * - New condition type "LTTNG_CONDITION_TYPE_SESSION_ROTATION_ONGOING" added, + * - New condition type "LTTNG_CONDITION_TYPE_SESSION_ROTATION_COMPLETED" added, + */ #define LTTNG_NOTIFICATION_CHANNEL_VERSION_MAJOR 1 -#define LTTNG_NOTIFICATION_CHANNEL_VERSION_MINOR 0 +#define LTTNG_NOTIFICATION_CHANNEL_VERSION_MINOR 1 enum lttng_notification_channel_message_type { LTTNG_NOTIFICATION_CHANNEL_MESSAGE_TYPE_UNKNOWN = -1, @@ -44,6 +44,8 @@ struct lttng_notification_channel_message { int8_t type; /* Size of the payload following this field. */ uint32_t size; + /* Number of FDs sent. */ + uint32_t fds; char payload[]; } LTTNG_PACKED; @@ -64,7 +66,7 @@ struct pending_notification { }; /* - * The notification channel protocol is bidirectional and accomodates + * The notification channel protocol is bidirectional and accommodates * synchronous and asynchronous communication modes: * * - Synchronous: commands emitted by the client to which a reply is expected @@ -88,7 +90,7 @@ struct lttng_notification_channel { /* List of struct pending_notification. */ struct cds_list_head list; } pending_notifications; - struct lttng_dynamic_buffer reception_buffer; + struct lttng_payload reception_payload; /* Sessiond notification protocol version. */ struct { bool set;