Port: Remove _GNU_SOURCE, defined in config.h
[lttng-tools.git] / src / common / sessiond-comm / agent.h
CommitLineData
f20baf8e
DG
1/*
2 * Copyright (C) 2013 - David Goulet <dgoulet@efficios.com>
3 *
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.
7 *
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
11 * more details.
12 *
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.
16 */
17
022d91ba
DG
18#ifndef AGENT_COMM
19#define AGENT_COMM
f20baf8e 20
f20baf8e
DG
21#include <stdint.h>
22
23#include <lttng/lttng.h>
24
25/*
2f2540d7 26 * Command value passed in the header.
f20baf8e 27 */
022d91ba
DG
28enum lttcomm_agent_command {
29 AGENT_CMD_LIST = 1,
30 AGENT_CMD_ENABLE = 2,
31 AGENT_CMD_DISABLE = 3,
32 AGENT_CMD_REG_DONE = 4, /* End registration process. */
f20baf8e
DG
33};
34
35/*
56cc432e 36 * Return codes from the agent.
f20baf8e 37 */
022d91ba 38enum lttcomm_agent_ret_code {
aa277e3e 39 /* Success, assumed to be the first entry */
022d91ba 40 AGENT_RET_CODE_SUCCESS = 1,
aa277e3e 41 /* Invalid command */
022d91ba 42 AGENT_RET_CODE_INVALID = 2,
aa277e3e 43 /* Unknown logger name */
022d91ba 44 AGENT_RET_CODE_UNKNOWN_NAME = 3,
23c2bd47 45 AGENT_RET_CODE_NR,
f20baf8e
DG
46};
47
48/*
022d91ba 49 * Agent application communication header.
f20baf8e 50 */
022d91ba 51struct lttcomm_agent_hdr {
f20baf8e 52 uint64_t data_size; /* data size following this header */
022d91ba 53 uint32_t cmd; /* Enum of agent command. */
f20baf8e
DG
54 uint32_t cmd_version; /* command version */
55} LTTNG_PACKED;
56
57/*
58 * Enable event command payload.
59 */
022d91ba 60struct lttcomm_agent_enable {
2106efa0 61 uint32_t loglevel_value;
b2064f54 62 uint32_t loglevel_type;
f20baf8e
DG
63 char name[LTTNG_SYMBOL_NAME_LEN];
64} LTTNG_PACKED;
65
66/*
67 * Disable event command payload.
68 */
022d91ba 69struct lttcomm_agent_disable {
f20baf8e
DG
70 char name[LTTNG_SYMBOL_NAME_LEN];
71} LTTNG_PACKED;
72
73/*
56cc432e 74 * Generic reply coming from the agent.
f20baf8e 75 */
022d91ba 76struct lttcomm_agent_generic_reply {
f20baf8e
DG
77 uint32_t ret_code;
78} LTTNG_PACKED;
79
80/*
81 * List command reply header.
82 */
022d91ba 83struct lttcomm_agent_list_reply_hdr {
f20baf8e
DG
84 uint32_t ret_code;
85 uint32_t data_size;
86} LTTNG_PACKED;
87
88/*
56cc432e 89 * List command reply payload coming from the agent.
f20baf8e 90 */
022d91ba 91struct lttcomm_agent_list_reply {
f20baf8e
DG
92 uint32_t nb_event;
93 /* List of event name each of them ending by a NULL byte. */
94 char payload[];
95} LTTNG_PACKED;
96
022d91ba 97#endif /* AGENT_COMM */
This page took 0.032489 seconds and 4 git commands to generate.