Add jul-app ABI/API and handle registration
[lttng-tools.git] / src / common / sessiond-comm / jul.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
18#ifndef _JUL_COMM
19#define _JUL_COMM
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 */
29enum lttcomm_jul_command {
30 JUL_CMD_LIST = 1,
31 JUL_CMD_ENABLE = 2,
32 JUL_CMD_DISABLE = 3,
33};
34
35/*
36 * Return code from the Java agent.
37 */
38enum lttcomm_jul_ret_code {
39 JUL_RET_CODE_SUCCESS = 1,
40 JUL_RET_CODE_INVALID = 2,
41 JUL_RET_CODE_UNKNOWN_NAME = 3,
42};
43
44/*
45 * JUL application communication header.
46 */
47struct lttcomm_jul_hdr {
48 uint64_t data_size; /* data size following this header */
49 uint32_t cmd; /* Enum of JUL command. */
50 uint32_t cmd_version; /* command version */
51} LTTNG_PACKED;
52
53/*
54 * Enable event command payload.
55 */
56struct lttcomm_jul_enable {
57 char name[LTTNG_SYMBOL_NAME_LEN];
58} LTTNG_PACKED;
59
60/*
61 * Disable event command payload.
62 */
63struct lttcomm_jul_disable {
64 char name[LTTNG_SYMBOL_NAME_LEN];
65} LTTNG_PACKED;
66
67/*
68 * Generic reply coming from the Java Agent.
69 */
70struct lttcomm_jul_generic_reply {
71 uint32_t ret_code;
72} LTTNG_PACKED;
73
74/*
75 * List command reply header.
76 */
77struct lttcomm_jul_list_reply_hdr {
78 uint32_t ret_code;
79 uint32_t data_size;
80} LTTNG_PACKED;
81
82/*
83 * List command reply payload coming from the Java Agent.
84 */
85struct lttcomm_jul_list_reply {
86 uint32_t nb_event;
87 /* List of event name each of them ending by a NULL byte. */
88 char payload[];
89} LTTNG_PACKED;
90
91#endif /* _JUL_COMM */
This page took 0.025702 seconds and 4 git commands to generate.