#define LTTCOMM_ERR_INDEX(code) (code - LTTCOMM_CONSUMERD_COMMAND_SOCK_READY)
enum lttcomm_sessiond_command {
+ LTTCOMM_SESSIOND_COMMAND_MIN = -1,
/* Tracer command */
LTTNG_ADD_CONTEXT = 0,
/* LTTNG_CALIBRATE used to be here */
LTTNG_CLEAR_SESSION = 50,
LTTNG_LIST_TRIGGERS = 51,
LTTNG_EXECUTE_ERROR_QUERY = 52,
+ LTTCOMM_SESSIOND_COMMAND_MAX,
};
+static inline
+bool lttcomm_sessiond_command_is_valid(enum lttcomm_sessiond_command cmd)
+{
+ return cmd > LTTCOMM_SESSIOND_COMMAND_MIN && cmd < LTTCOMM_SESSIOND_COMMAND_MAX;
+}
+
static inline
const char *lttcomm_sessiond_command_str(enum lttcomm_sessiond_command cmd)
{
/* Event data */
struct {
char channel_name[LTTNG_SYMBOL_NAME_LEN];
- struct lttng_event event;
- /* Length of following filter expression. */
- uint32_t expression_len;
- /* Length of following bytecode for filter. */
- uint32_t bytecode_len;
- /* Exclusion count (fixed-size strings). */
- uint32_t exclusion_count;
- /* Userspace probe location size. */
- uint32_t userspace_probe_location_len;
- /*
- * After this structure, the following variable-length
- * items are transmitted:
- * - char exclusion_names[LTTNG_SYMBOL_NAME_LEN][exclusion_count]
- * - char filter_expression[expression_len]
- * - unsigned char filter_bytecode[bytecode_len]
- */
+ uint32_t length;
} LTTNG_PACKED enable;
struct {
char channel_name[LTTNG_SYMBOL_NAME_LEN];
- struct lttng_event event;
- /* Length of following filter expression. */
- uint32_t expression_len;
- /* Length of following bytecode for filter. */
- uint32_t bytecode_len;
- /*
- * After this structure, the following variable-length
- * items are transmitted:
- * - unsigned char filter_expression[expression_len]
- * - unsigned char filter_bytecode[bytecode_len]
- */
+ uint32_t length;
} LTTNG_PACKED disable;
/* Create channel */
struct {
/* Context */
struct {
char channel_name[LTTNG_SYMBOL_NAME_LEN];
- struct lttng_event_context ctx;
- uint32_t provider_name_len;
- uint32_t context_name_len;
+ uint32_t length;
} LTTNG_PACKED context;
/* Use by register_consumer */
struct {
#define LTTNG_EVENT_EXCLUSION_NAME_AT(_exclusion, _i) \
(&(_exclusion)->names[_i][0])
-/*
- * Event command header.
- */
-struct lttcomm_event_command_header {
- /* Number of events */
- uint32_t nb_events;
-} LTTNG_PACKED;
-
/*
* Listing command header.
*/