X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=adb179675cad881f239a30fff00ed0627c993a70;hb=4222116f0098672bbbc0fea2b994e50007929d58;hp=d81e0b8cf7bc12aa156d5159873b209c904f4737;hpb=b66cbf1731486ab4dc7e0b2e1c3fa05cc5360c19;p=lttng-tools.git diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index d81e0b8cf..adb179675 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -1,6 +1,5 @@ /* - * Copyright (C) 2011 David Goulet - * Copyright (C) 2011 Julien Desfossez + * Copyright (C) 2011 EfficiOS Inc. * Copyright (C) 2011 Mathieu Desnoyers * * SPDX-License-Identifier: GPL-2.0-only @@ -31,6 +30,7 @@ #include #include +#include #include #include "inet.h" @@ -235,6 +235,59 @@ enum lttcomm_relayd_command { /* Feature branch specific commands start at 10000. */ }; +static inline +const char *lttcomm_relayd_command_str(lttcomm_relayd_command cmd) +{ + switch (cmd) { + case RELAYD_ADD_STREAM: + return "RELAYD_ADD_STREAM"; + case RELAYD_CREATE_SESSION: + return "RELAYD_CREATE_SESSION"; + case RELAYD_START_DATA: + return "RELAYD_START_DATA"; + case RELAYD_UPDATE_SYNC_INFO: + return "RELAYD_UPDATE_SYNC_INFO"; + case RELAYD_VERSION: + return "RELAYD_VERSION"; + case RELAYD_SEND_METADATA: + return "RELAYD_SEND_METADATA"; + case RELAYD_CLOSE_STREAM: + return "RELAYD_CLOSE_STREAM"; + case RELAYD_DATA_PENDING: + return "RELAYD_DATA_PENDING"; + case RELAYD_QUIESCENT_CONTROL: + return "RELAYD_QUIESCENT_CONTROL"; + case RELAYD_BEGIN_DATA_PENDING: + return "RELAYD_BEGIN_DATA_PENDING"; + case RELAYD_END_DATA_PENDING: + return "RELAYD_END_DATA_PENDING"; + case RELAYD_ADD_INDEX: + return "RELAYD_ADD_INDEX"; + case RELAYD_SEND_INDEX: + return "RELAYD_SEND_INDEX"; + case RELAYD_CLOSE_INDEX: + return "RELAYD_CLOSE_INDEX"; + case RELAYD_LIST_SESSIONS: + return "RELAYD_LIST_SESSIONS"; + case RELAYD_STREAMS_SENT: + return "RELAYD_STREAMS_SENT"; + case RELAYD_RESET_METADATA: + return "RELAYD_RESET_METADATA"; + case RELAYD_ROTATE_STREAMS: + return "RELAYD_ROTATE_STREAMS"; + case RELAYD_CREATE_TRACE_CHUNK: + return "RELAYD_CREATE_TRACE_CHUNK"; + case RELAYD_CLOSE_TRACE_CHUNK: + return "RELAYD_CLOSE_TRACE_CHUNK"; + case RELAYD_TRACE_CHUNK_EXISTS: + return "RELAYD_TRACE_CHUNK_EXISTS"; + case RELAYD_GET_CONFIGURATION: + return "RELAYD_GET_CONFIGURATION"; + default: + abort(); + } +} + /* * lttcomm error code. */ @@ -321,14 +374,14 @@ struct lttcomm_sockaddr { struct sockaddr_in sin; struct sockaddr_in6 sin6; } addr; -} LTTNG_PACKED; +}; struct lttcomm_sock { int32_t fd; enum lttcomm_sock_proto proto; struct lttcomm_sockaddr sockaddr; const struct lttcomm_proto_ops *ops; -} LTTNG_PACKED; +}; /* * Relayd sock. Adds the protocol version to use for the communications with @@ -338,7 +391,7 @@ struct lttcomm_relayd_sock { struct lttcomm_sock sock; uint32_t major; uint32_t minor; -} LTTNG_PACKED; +}; struct lttcomm_net_family { int family; @@ -653,8 +706,9 @@ struct lttcomm_consumer_msg { struct { uint64_t net_index; enum lttng_stream_type type; - /* Open socket to the relayd */ - struct lttcomm_relayd_sock sock; + uint32_t major; + uint32_t minor; + uint8_t relayd_socket_protocol; /* Tracing session id associated to the relayd. */ uint64_t session_id; /* Relayd session id, only used with control socket. */ @@ -900,6 +954,9 @@ int lttcomm_init_inet6_sockaddr(struct lttcomm_sockaddr *sockaddr, const char *ip, unsigned int port); struct lttcomm_sock *lttcomm_alloc_sock(enum lttcomm_sock_proto proto); +int lttcomm_populate_sock_from_open_socket(struct lttcomm_sock *sock, + int fd, + enum lttcomm_sock_proto protocol); int lttcomm_create_sock(struct lttcomm_sock *sock); struct lttcomm_sock *lttcomm_alloc_sock_from_uri(struct lttng_uri *uri); void lttcomm_destroy_sock(struct lttcomm_sock *sock);