2 * Copyright (C) 2013 David Goulet <dgoulet@efficios.com>
4 * SPDX-License-Identifier: LGPL-2.1-only
8 #ifndef LTTNG_CTL_HELPER_H
9 #define LTTNG_CTL_HELPER_H
13 #include <common/sessiond-comm/sessiond-comm.h>
14 #include <lttng/lttng.h>
17 * NOTE: Every symbol in this helper header MUST be set to hidden so not to
18 * polute the library name space. Use LTTNG_HIDDEN macro before declaring the
19 * function in the C file.
22 /* Copy helper functions. */
23 void lttng_ctl_copy_string(char *dst
, const char *src
, size_t len
);
24 void lttng_ctl_copy_lttng_domain(struct lttng_domain
*dst
,
25 struct lttng_domain
*src
);
28 * Sends the lttcomm message to the session daemon and fills buf if the
29 * returned data is not NULL.
31 * Return the size of the received data on success or else a negative lttng
32 * error code. If buf is NULL, 0 is returned on success.
34 int lttng_ctl_ask_sessiond_fds_varlen(struct lttcomm_session_msg
*lsm
,
35 const int *fds
, size_t nb_fd
,
36 const void *vardata
, size_t vardata_len
,
37 void **user_payload_buf
, void **user_cmd_header_buf
,
38 size_t *user_cmd_header_len
);
41 * Sends the lttcomm message to the session daemon and fills the reply payload.
43 * Return the size of the received data on success or else a negative lttng
47 int lttng_ctl_ask_sessiond_payload(struct lttng_payload_view
*message
,
48 struct lttng_payload
*reply
);
51 * Calls lttng_ctl_ask_sessiond_fds_varlen() with no expected command header.
53 static inline int lttng_ctl_ask_sessiond_varlen_no_cmd_header(
54 struct lttcomm_session_msg
*lsm
,
57 void **user_payload_buf
)
59 return lttng_ctl_ask_sessiond_fds_varlen(lsm
, NULL
, 0, vardata
,
60 vardata_len
, user_payload_buf
, NULL
, NULL
);
64 * Calls lttng_ctl_ask_sessiond_fds_varlen() with fds and no expected command header.
67 int lttng_ctl_ask_sessiond_fds_no_cmd_header(struct lttcomm_session_msg
*lsm
,
68 const int *fds
, size_t nb_fd
, void **buf
)
70 return lttng_ctl_ask_sessiond_fds_varlen(lsm
, fds
, nb_fd
, NULL
,
74 * Use this if no variable length data needs to be sent.
77 int lttng_ctl_ask_sessiond(struct lttcomm_session_msg
*lsm
, void **buf
)
79 return lttng_ctl_ask_sessiond_varlen_no_cmd_header(lsm
, NULL
, 0, buf
);
82 int lttng_check_tracing_group(void);
84 int connect_sessiond(void);
86 #endif /* LTTNG_CTL_HELPER_H */
This page took 0.049135 seconds and 5 git commands to generate.