Refactor JUL to agent namespace
[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
DG
20
21#define _GNU_SOURCE
22#include <stdint.h>
23
24#include <lttng/lttng.h>
25
26/*
27 * Command value pass in the header.
28 */
022d91ba
DG
29enum lttcomm_agent_command {
30 AGENT_CMD_LIST = 1,
31 AGENT_CMD_ENABLE = 2,
32 AGENT_CMD_DISABLE = 3,
33 AGENT_CMD_REG_DONE = 4, /* End registration process. */
f20baf8e
DG
34};
35
36/*
37 * Return code from the Java agent.
38 */
022d91ba
DG
39enum lttcomm_agent_ret_code {
40 AGENT_RET_CODE_SUCCESS = 1,
41 AGENT_RET_CODE_INVALID = 2,
42 AGENT_RET_CODE_UNKNOWN_NAME = 3,
f20baf8e
DG
43};
44
45/*
022d91ba 46 * Agent application communication header.
f20baf8e 47 */
022d91ba 48struct lttcomm_agent_hdr {
f20baf8e 49 uint64_t data_size; /* data size following this header */
022d91ba 50 uint32_t cmd; /* Enum of agent command. */
f20baf8e
DG
51 uint32_t cmd_version; /* command version */
52} LTTNG_PACKED;
53
54/*
55 * Enable event command payload.
56 */
022d91ba 57struct lttcomm_agent_enable {
b2064f54
DG
58 uint32_t loglevel;
59 uint32_t loglevel_type;
f20baf8e
DG
60 char name[LTTNG_SYMBOL_NAME_LEN];
61} LTTNG_PACKED;
62
63/*
64 * Disable event command payload.
65 */
022d91ba 66struct lttcomm_agent_disable {
f20baf8e
DG
67 char name[LTTNG_SYMBOL_NAME_LEN];
68} LTTNG_PACKED;
69
70/*
71 * Generic reply coming from the Java Agent.
72 */
022d91ba 73struct lttcomm_agent_generic_reply {
f20baf8e
DG
74 uint32_t ret_code;
75} LTTNG_PACKED;
76
77/*
78 * List command reply header.
79 */
022d91ba 80struct lttcomm_agent_list_reply_hdr {
f20baf8e
DG
81 uint32_t ret_code;
82 uint32_t data_size;
83} LTTNG_PACKED;
84
85/*
86 * List command reply payload coming from the Java Agent.
87 */
022d91ba 88struct lttcomm_agent_list_reply {
f20baf8e
DG
89 uint32_t nb_event;
90 /* List of event name each of them ending by a NULL byte. */
91 char payload[];
92} LTTNG_PACKED;
93
022d91ba 94#endif /* AGENT_COMM */
This page took 0.028345 seconds and 4 git commands to generate.