X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=af91087644cf3bd58d03d3d8614bcfd614724e8e;hb=21cf9b6b1843774306a76f4dccddddd706b64f79;hp=d1a2bd97de18574b82344a6cc52fa169c4ec3a14;hpb=fbc9f37df245d544a7705ba576297df791220b44;p=lttng-tools.git diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index d1a2bd97d..af9108764 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 @@ -48,11 +47,6 @@ #define LTTCOMM_MAX_SEND_FDS 16 #endif -/* - * Get the error code index from 0 since LTTCOMM_OK start at 1000 - */ -#define LTTCOMM_ERR_INDEX(code) (code - LTTCOMM_CONSUMERD_COMMAND_SOCK_READY) - enum lttcomm_sessiond_command { /* Tracer command */ LTTNG_ADD_CONTEXT = 0, @@ -107,8 +101,104 @@ enum lttcomm_sessiond_command { LTTNG_CREATE_SESSION_EXT = 49, LTTNG_CLEAR_SESSION = 50, LTTNG_LIST_TRIGGERS = 51, + LTTNG_EXECUTE_ERROR_QUERY = 52, }; +static inline +const char *lttcomm_sessiond_command_str(enum lttcomm_sessiond_command cmd) +{ + switch (cmd) { + case LTTNG_ADD_CONTEXT: + return "LTTNG_ADD_CONTEXT"; + case LTTNG_DISABLE_CHANNEL: + return "LTTNG_DISABLE_CHANNEL"; + case LTTNG_DISABLE_EVENT: + return "LTTNG_DISABLE_EVENT"; + case LTTNG_LIST_SYSCALLS: + return "LTTNG_LIST_SYSCALLS"; + case LTTNG_ENABLE_CHANNEL: + return "LTTNG_ENABLE_CHANNEL"; + case LTTNG_ENABLE_EVENT: + return "LTTNG_ENABLE_EVENT"; + case LTTNG_DESTROY_SESSION: + return "LTTNG_DESTROY_SESSION"; + case LTTNG_LIST_CHANNELS: + return "LTTNG_LIST_CHANNELS"; + case LTTNG_LIST_DOMAINS: + return "LTTNG_LIST_DOMAINS"; + case LTTNG_LIST_EVENTS: + return "LTTNG_LIST_EVENTS"; + case LTTNG_LIST_SESSIONS: + return "LTTNG_LIST_SESSIONS"; + case LTTNG_LIST_TRACEPOINTS: + return "LTTNG_LIST_TRACEPOINTS"; + case LTTNG_REGISTER_CONSUMER: + return "LTTNG_REGISTER_CONSUMER"; + case LTTNG_START_TRACE: + return "LTTNG_START_TRACE"; + case LTTNG_STOP_TRACE: + return "LTTNG_STOP_TRACE"; + case LTTNG_LIST_TRACEPOINT_FIELDS: + return "LTTNG_LIST_TRACEPOINT_FIELDS"; + case LTTNG_DISABLE_CONSUMER: + return "LTTNG_DISABLE_CONSUMER"; + case LTTNG_ENABLE_CONSUMER: + return "LTTNG_ENABLE_CONSUMER"; + case LTTNG_SET_CONSUMER_URI: + return "LTTNG_SET_CONSUMER_URI"; + case LTTNG_DATA_PENDING: + return "LTTNG_DATA_PENDING"; + case LTTNG_SNAPSHOT_ADD_OUTPUT: + return "LTTNG_SNAPSHOT_ADD_OUTPUT"; + case LTTNG_SNAPSHOT_DEL_OUTPUT: + return "LTTNG_SNAPSHOT_DEL_OUTPUT"; + case LTTNG_SNAPSHOT_LIST_OUTPUT: + return "LTTNG_SNAPSHOT_LIST_OUTPUT"; + case LTTNG_SNAPSHOT_RECORD: + return "LTTNG_SNAPSHOT_RECORD"; + case LTTNG_SAVE_SESSION: + return "LTTNG_SAVE_SESSION"; + case LTTNG_PROCESS_ATTR_TRACKER_ADD_INCLUDE_VALUE: + return "LTTNG_PROCESS_ATTR_TRACKER_ADD_INCLUDE_VALUE"; + case LTTNG_PROCESS_ATTR_TRACKER_REMOVE_INCLUDE_VALUE: + return "LTTNG_PROCESS_ATTR_TRACKER_REMOVE_INCLUDE_VALUE"; + case LTTNG_PROCESS_ATTR_TRACKER_GET_POLICY: + return "LTTNG_PROCESS_ATTR_TRACKER_GET_POLICY"; + case LTTNG_PROCESS_ATTR_TRACKER_SET_POLICY: + return "LTTNG_PROCESS_ATTR_TRACKER_SET_POLICY"; + case LTTNG_PROCESS_ATTR_TRACKER_GET_INCLUSION_SET: + return "LTTNG_PROCESS_ATTR_TRACKER_GET_INCLUSION_SET"; + case LTTNG_SET_SESSION_SHM_PATH: + return "LTTNG_SET_SESSION_SHM_PATH"; + case LTTNG_REGENERATE_METADATA: + return "LTTNG_REGENERATE_METADATA"; + case LTTNG_REGENERATE_STATEDUMP: + return "LTTNG_REGENERATE_STATEDUMP"; + case LTTNG_REGISTER_TRIGGER: + return "LTTNG_REGISTER_TRIGGER"; + case LTTNG_UNREGISTER_TRIGGER: + return "LTTNG_UNREGISTER_TRIGGER"; + case LTTNG_ROTATE_SESSION: + return "LTTNG_ROTATE_SESSION"; + case LTTNG_ROTATION_GET_INFO: + return "LTTNG_ROTATION_GET_INFO"; + case LTTNG_ROTATION_SET_SCHEDULE: + return "LTTNG_ROTATION_SET_SCHEDULE"; + case LTTNG_SESSION_LIST_ROTATION_SCHEDULES: + return "LTTNG_SESSION_LIST_ROTATION_SCHEDULES"; + case LTTNG_CREATE_SESSION_EXT: + return "LTTNG_CREATE_SESSION_EXT"; + case LTTNG_CLEAR_SESSION: + return "LTTNG_CLEAR_SESSION"; + case LTTNG_LIST_TRIGGERS: + return "LTTNG_LIST_TRIGGERS"; + case LTTNG_EXECUTE_ERROR_QUERY: + return "LTTNG_EXECUTE_ERROR_QUERY"; + default: + abort(); + } +} + enum lttcomm_relayd_command { RELAYD_ADD_STREAM = 1, RELAYD_CREATE_SESSION = 2, @@ -144,6 +234,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. */ @@ -179,7 +322,7 @@ enum lttcomm_return_code { LTTCOMM_CONSUMERD_ROTATION_FAIL, /* Rotation has failed. */ LTTCOMM_CONSUMERD_SNAPSHOT_FAILED, /* snapshot has failed. */ LTTCOMM_CONSUMERD_CREATE_TRACE_CHUNK_FAILED,/* Trace chunk creation failed. */ - LTTCOMM_CONSUMERD_CLOSE_TRACE_CHUNK_FAILED, /* Trace chunk creation failed. */ + LTTCOMM_CONSUMERD_CLOSE_TRACE_CHUNK_FAILED, /* Trace chunk close failed. */ LTTCOMM_CONSUMERD_INVALID_PARAMETERS, /* Invalid parameters. */ LTTCOMM_CONSUMERD_TRACE_CHUNK_EXISTS_LOCAL, /* Trace chunk exists on consumer daemon. */ LTTCOMM_CONSUMERD_TRACE_CHUNK_EXISTS_REMOTE,/* Trace chunk exists on relay daemon. */ @@ -390,7 +533,11 @@ struct lttcomm_session_msg { } LTTNG_PACKED process_attr_tracker_set_tracking_policy; struct { uint32_t length; + uint8_t is_trigger_anonymous; } LTTNG_PACKED trigger; + struct { + uint32_t length; + } LTTNG_PACKED error_query; struct { uint64_t rotation_id; } LTTNG_PACKED get_rotation_info; @@ -429,7 +576,7 @@ struct lttcomm_session_msg { * starts at reloc_table_offset. */ #define LTTNG_FILTER_PADDING 32 -struct lttng_filter_bytecode { +struct lttng_bytecode { uint32_t len; /* len of data */ uint32_t reloc_table_offset; uint64_t seqnum; @@ -767,11 +914,11 @@ struct lttcomm_ust_msg { uint32_t handle; uint32_t cmd; union { - struct lttng_ust_channel channel; - struct lttng_ust_stream stream; - struct lttng_ust_event event; - struct lttng_ust_context context; - struct lttng_ust_tracer_version version; + struct lttng_ust_abi_channel channel; + struct lttng_ust_abi_stream stream; + struct lttng_ust_abi_event event; + struct lttng_ust_abi_context context; + struct lttng_ust_abi_tracer_version version; } u; } LTTNG_PACKED; @@ -791,44 +938,44 @@ struct lttcomm_ust_reply { struct { uint64_t memory_map_size; } LTTNG_PACKED stream; - struct lttng_ust_tracer_version version; + struct lttng_ust_abi_tracer_version version; } u; } LTTNG_PACKED; #endif /* HAVE_LIBLTTNG_UST_CTL */ -LTTNG_HIDDEN const char *lttcomm_get_readable_code(enum lttcomm_return_code code); +const char *lttcomm_get_readable_code(enum lttcomm_return_code code); -LTTNG_HIDDEN int lttcomm_init_inet_sockaddr(struct lttcomm_sockaddr *sockaddr, +int lttcomm_init_inet_sockaddr(struct lttcomm_sockaddr *sockaddr, const char *ip, unsigned int port); -LTTNG_HIDDEN int lttcomm_init_inet6_sockaddr(struct lttcomm_sockaddr *sockaddr, +int lttcomm_init_inet6_sockaddr(struct lttcomm_sockaddr *sockaddr, const char *ip, unsigned int port); -LTTNG_HIDDEN struct lttcomm_sock *lttcomm_alloc_sock(enum lttcomm_sock_proto proto); -LTTNG_HIDDEN int lttcomm_create_sock(struct lttcomm_sock *sock); -LTTNG_HIDDEN struct lttcomm_sock *lttcomm_alloc_sock_from_uri(struct lttng_uri *uri); -LTTNG_HIDDEN void lttcomm_destroy_sock(struct lttcomm_sock *sock); -LTTNG_HIDDEN struct lttcomm_sock *lttcomm_alloc_copy_sock(struct lttcomm_sock *src); -LTTNG_HIDDEN void lttcomm_copy_sock(struct lttcomm_sock *dst, +struct lttcomm_sock *lttcomm_alloc_sock(enum lttcomm_sock_proto proto); +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); +struct lttcomm_sock *lttcomm_alloc_copy_sock(struct lttcomm_sock *src); +void lttcomm_copy_sock(struct lttcomm_sock *dst, struct lttcomm_sock *src); /* Relayd socket object. */ -LTTNG_HIDDEN struct lttcomm_relayd_sock *lttcomm_alloc_relayd_sock( +struct lttcomm_relayd_sock *lttcomm_alloc_relayd_sock( struct lttng_uri *uri, uint32_t major, uint32_t minor); -LTTNG_HIDDEN int lttcomm_setsockopt_rcv_timeout(int sock, unsigned int msec); -LTTNG_HIDDEN int lttcomm_setsockopt_snd_timeout(int sock, unsigned int msec); +int lttcomm_setsockopt_rcv_timeout(int sock, unsigned int msec); +int lttcomm_setsockopt_snd_timeout(int sock, unsigned int msec); -LTTNG_HIDDEN int lttcomm_sock_get_port(const struct lttcomm_sock *sock, +int lttcomm_sock_get_port(const struct lttcomm_sock *sock, uint16_t *port); /* * Set a port to an lttcomm_sock. This will have no effect is the socket is * already bound. */ -LTTNG_HIDDEN int lttcomm_sock_set_port(struct lttcomm_sock *sock, uint16_t port); +int lttcomm_sock_set_port(struct lttcomm_sock *sock, uint16_t port); -LTTNG_HIDDEN void lttcomm_init(void); +void lttcomm_init(void); /* Get network timeout, in milliseconds */ -LTTNG_HIDDEN unsigned long lttcomm_get_network_timeout(void); +unsigned long lttcomm_get_network_timeout(void); #endif /* _LTTNG_SESSIOND_COMM_H */