/*
* lttng-events.h
*
- * Copyright 2010-2011 (c) - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
* Holds LTTng per-session event registry.
*
- * Dual LGPL v2.1/GPL v2 license.
+ * Copyright (C) 2010-2012 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.
+ *
+ * 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
*/
+#include <linux/version.h>
#include <linux/list.h>
#include <linux/kprobes.h>
#include "wrapper/uuid.h"
#include "lttng-abi.h"
+#include "lttng-abi-old.h"
-#undef is_signed_type
-#define is_signed_type(type) (((type)(-1)) < 0)
+#define lttng_is_signed_type(type) (((type)(-1)) < 0)
struct lttng_channel;
struct lttng_session;
{ \
.size = sizeof(_type) * CHAR_BIT, \
.alignment = lttng_alignof(_type) * CHAR_BIT, \
- .signedness = is_signed_type(_type), \
+ .signedness = lttng_is_signed_type(_type), \
.reverse_byte_order = _byte_order != __BYTE_ORDER, \
.base = _base, \
.encoding = lttng_encode_##_encoding, \
struct lttng_kernel_event *event_param,
void *filter,
const struct lttng_event_desc *internal_desc);
+struct lttng_event *lttng_event_compat_old_create(struct lttng_channel *chan,
+ struct lttng_kernel_old_event *old_event_param,
+ void *filter,
+ const struct lttng_event_desc *internal_desc);
int lttng_channel_enable(struct lttng_channel *channel);
int lttng_channel_disable(struct lttng_channel *channel);
void synchronize_trace(void);
int lttng_abi_init(void);
+int lttng_abi_compat_old_init(void);
void lttng_abi_exit(void);
+void lttng_abi_compat_old_exit(void);
int lttng_probe_register(struct lttng_probe_desc *desc);
void lttng_probe_unregister(struct lttng_probe_desc *desc);
int lttng_probes_init(void);
void lttng_probes_exit(void);
-#ifdef CONFIG_HAVE_SYSCALL_TRACEPOINTS
+#if defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS)
int lttng_syscalls_register(struct lttng_channel *chan, void *filter);
int lttng_syscalls_unregister(struct lttng_channel *chan);
#else
int lttng_add_vtid_to_ctx(struct lttng_ctx **ctx);
int lttng_add_ppid_to_ctx(struct lttng_ctx **ctx);
int lttng_add_vppid_to_ctx(struct lttng_ctx **ctx);
+int lttng_add_hostname_to_ctx(struct lttng_ctx **ctx);
#if defined(CONFIG_PERF_EVENTS) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
int lttng_add_perf_counter_to_ctx(uint32_t type,
uint64_t config,
}
#endif
+extern int lttng_statedump_start(struct lttng_session *session);
+
#ifdef CONFIG_KPROBES
int lttng_kprobes_register(const char *name,
const char *symbol_name,