2 * Copyright (C) 2013 - David Goulet <dgoulet@efficios.com>
3 * Copyright (C) 2016 - Jérémie Galarneau <jeremie.galarneau@efficios.com>
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License, version 2 only, as
7 * published by the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc., 51
16 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 #include <common/macros.h>
25 #include <lttng/lttng.h>
28 * Command value passed in the header.
30 enum lttcomm_agent_command
{
33 AGENT_CMD_DISABLE
= 3,
34 AGENT_CMD_REG_DONE
= 4, /* End registration process. */
35 AGENT_CMD_APP_CTX_ENABLE
= 5,
36 AGENT_CMD_APP_CTX_DISABLE
= 6,
40 * Return codes from the agent.
42 enum lttcomm_agent_ret_code
{
43 /* Success, assumed to be the first entry */
44 AGENT_RET_CODE_SUCCESS
= 1,
46 AGENT_RET_CODE_INVALID
= 2,
47 /* Unknown logger name */
48 AGENT_RET_CODE_UNKNOWN_NAME
= 3,
53 * Agent application communication header.
55 struct lttcomm_agent_hdr
{
56 uint64_t data_size
; /* data size following this header */
57 uint32_t cmd
; /* Enum of agent command. */
58 uint32_t cmd_version
; /* command version */
62 * Enable event command payload. Will be immediately followed by the
63 * variable-length string representing the filter expression.
65 struct lttcomm_agent_enable_event
{
66 uint32_t loglevel_value
;
67 uint32_t loglevel_type
;
68 char name
[LTTNG_SYMBOL_NAME_LEN
];
69 uint32_t filter_expression_length
;
73 * Disable event command payload.
75 struct lttcomm_agent_disable_event
{
76 char name
[LTTNG_SYMBOL_NAME_LEN
];
80 * Generic reply coming from the agent.
82 struct lttcomm_agent_generic_reply
{
87 * List command reply header.
89 struct lttcomm_agent_list_reply_hdr
{
95 * List command reply payload coming from the agent.
97 struct lttcomm_agent_list_reply
{
99 /* List of event name each of them ending by a NULL byte. */
103 #endif /* AGENT_COMM */