-#ifndef _LTTNG_UST_COMM_H
-#define _LTTNG_UST_COMM_H
-
/*
- * Copyright (C) 2011 - David Goulet <david.goulet@polymtl.ca>
- * Julien Desfossez <julien.desfossez@polymtl.ca>
- * Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; only
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
+ * SPDX-License-Identifier: LGPL-2.1-only
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
+ * Copyright (C) 2011 Julien Desfossez <julien.desfossez@polymtl.ca>
+ * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
/*
* These declarations should NOT be considered stable API.
*/
+#ifndef _LTTNG_UST_COMM_H
+#define _LTTNG_UST_COMM_H
+
#include <stdint.h>
#include <limits.h>
#include <unistd.h>
#include <lttng/ust-error.h>
#include <lttng/ust-compiler.h>
#include <lttng/ust-ctl.h>
+#include "helper.h"
#ifndef LTTNG_PACKED
#error "LTTNG_PACKED should be defined"
uint32_t cmd;
char padding[USTCOMM_MSG_PADDING1];
union {
- struct lttng_ust_event_notifier event_notifier;
struct lttng_ust_channel channel;
struct lttng_ust_stream stream;
struct lttng_ust_event event;
uint32_t reloc_offset;
uint64_t seqnum;
} LTTNG_PACKED capture;
+ struct lttng_ust_counter counter;
+ struct lttng_ust_counter_global counter_global;
+ struct lttng_ust_counter_cpu counter_cpu;
+ /*
+ * For LTTNG_UST_EVENT_NOTIFIER_CREATE, a struct
+ * lttng_ust_event_notifier implicitly follows struct
+ * ustcomm_ust_msg.
+ */
+ struct {
+ /* Length of struct lttng_ust_event_notifier */
+ uint32_t len;
+ } event_notifier;
char padding[USTCOMM_MSG_PADDING2];
} u;
} LTTNG_PACKED;
int ustcomm_recv_stream_from_sessiond(int sock,
uint64_t *memory_map_size,
int *shm_fd, int *wakeup_fd);
+LTTNG_HIDDEN
ssize_t ustcomm_recv_event_notifier_notif_fd_from_sessiond(int sock,
int *event_notifier_notif_fd);
+LTTNG_HIDDEN
+ssize_t ustcomm_recv_counter_from_sessiond(int sock,
+ void **counter_data, uint64_t len);
+LTTNG_HIDDEN
+int ustcomm_recv_counter_shm_from_sessiond(int sock,
+ int *shm_fd);
+
/*
* Returns 0 on success, negative error value on error.
* Returns -EPIPE or -ECONNRESET if other end has hung up.