2 * Copyright (C) 2013 - David Goulet <dgoulet@efficios.com>
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License, version 2 only, as
6 * published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 * You should have received a copy of the GNU General Public License along with
14 * this program; if not, write to the Free Software Foundation, Inc., 51
15 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 #include <lttng/lttng.h>
26 * Command value passed in the header.
28 enum lttcomm_agent_command
{
31 AGENT_CMD_DISABLE
= 3,
32 AGENT_CMD_REG_DONE
= 4, /* End registration process. */
36 * Return codes from the agent.
38 enum lttcomm_agent_ret_code
{
39 /* Success, assumed to be the first entry */
40 AGENT_RET_CODE_SUCCESS
= 1,
42 AGENT_RET_CODE_INVALID
= 2,
43 /* Unknown logger name */
44 AGENT_RET_CODE_UNKNOWN_NAME
= 3,
49 * Agent application communication header.
51 struct lttcomm_agent_hdr
{
52 uint64_t data_size
; /* data size following this header */
53 uint32_t cmd
; /* Enum of agent command. */
54 uint32_t cmd_version
; /* command version */
58 * Enable event command payload. Will be immediately followed by the
59 * variable-length string representing the filter expression.
61 struct lttcomm_agent_enable
{
62 uint32_t loglevel_value
;
63 uint32_t loglevel_type
;
64 char name
[LTTNG_SYMBOL_NAME_LEN
];
65 uint32_t filter_expression_length
;
69 * Disable event command payload.
71 struct lttcomm_agent_disable
{
72 char name
[LTTNG_SYMBOL_NAME_LEN
];
76 * Generic reply coming from the agent.
78 struct lttcomm_agent_generic_reply
{
83 * List command reply header.
85 struct lttcomm_agent_list_reply_hdr
{
91 * List command reply payload coming from the agent.
93 struct lttcomm_agent_list_reply
{
95 /* List of event name each of them ending by a NULL byte. */
99 #endif /* AGENT_COMM */