#ifndef LTTNG_EVENT_H
#define LTTNG_EVENT_H
+#include <lttng/handle.h>
+#include <lttng/lttng-export.h>
+#include <lttng/userspace-probe.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <lttng/handle.h>
-#include <lttng/userspace-probe.h>
-
/*
* Instrumentation type of tracing event.
*/
* Return the size (number of entries) of the "lttng_event" array. Caller must
* free events. On error a negative LTTng error code is returned.
*/
-extern int lttng_list_events(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_list_events(struct lttng_handle *handle,
const char *channel_name, struct lttng_event **events);
/*
*
* Returns a zeroed lttng_event on success, NULL on error.
*/
-extern struct lttng_event *lttng_event_create(void);
+LTTNG_EXPORT extern struct lttng_event *lttng_event_create(void);
/*
* Destroy an lttng_event.
* This destruction function, introduced in LTTng 2.11, should only
* be used with events created by lttng_event_create().
*/
-extern void lttng_event_destroy(struct lttng_event *event);
+LTTNG_EXPORT extern void lttng_event_destroy(struct lttng_event *event);
/*
* Get the filter expression of a specific LTTng event.
*
* Returns 0 on success, or a negative LTTng error code on error.
*/
-extern int lttng_event_get_filter_expression(struct lttng_event *event,
+LTTNG_EXPORT extern int lttng_event_get_filter_expression(struct lttng_event *event,
const char **filter_string);
/*
* Returns the number of exclusion names on success, or a negative
* LTTng error code on error.
*/
-extern int lttng_event_get_exclusion_name_count(struct lttng_event *event);
+LTTNG_EXPORT extern int lttng_event_get_exclusion_name_count(struct lttng_event *event);
/*
* Get an LTTng event's exclusion name at a given index.
*
* Returns 0 on success, or a negative LTTng error code on error.
*/
-extern int lttng_event_get_exclusion_name(struct lttng_event *event,
+LTTNG_EXPORT extern int lttng_event_get_exclusion_name(struct lttng_event *event,
size_t index, const char **exclusion_name);
/*
* If the event has no probe location a NULL pointer is returned. The caller
* does not own the returned probe location.
*/
-extern const struct lttng_userspace_probe_location *
+LTTNG_EXPORT extern const struct lttng_userspace_probe_location *
lttng_event_get_userspace_probe_location(const struct lttng_event *event);
/*
*
* Returns 0 on success, or a negative LTTng error code on error.
*/
-extern int lttng_event_set_userspace_probe_location(struct lttng_event *event,
+LTTNG_EXPORT extern int lttng_event_set_userspace_probe_location(struct lttng_event *event,
struct lttng_userspace_probe_location *probe_location);
/*
* Return the size (number of entries) of the "lttng_event" array. Caller must
* free events. On error a negative LTTng error code is returned.
*/
-extern int lttng_list_tracepoints(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_list_tracepoints(struct lttng_handle *handle,
struct lttng_event **events);
/*
* Caller must free fields. On error a negative LTTng error code is
* returned.
*/
-extern int lttng_list_tracepoint_fields(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_list_tracepoint_fields(struct lttng_handle *handle,
struct lttng_event_field **fields);
/*
* All events in will be of type syscall. Caller must free events. On error a
* negative LTTng error code is returned.
*/
-extern int lttng_list_syscalls(struct lttng_event **events);
+LTTNG_EXPORT extern int lttng_list_syscalls(struct lttng_event **events);
/*
* Add context to event(s) for a specific channel (or for all).
*
* Return 0 on success else a negative LTTng error code.
*/
-extern int lttng_add_context(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_add_context(struct lttng_handle *handle,
struct lttng_event_context *ctx, const char *event_name,
const char *channel_name);
*
* Return 0 on success else a negative LTTng error code.
*/
-extern int lttng_enable_event(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_enable_event(struct lttng_handle *handle,
struct lttng_event *ev, const char *channel_name);
/*
*
* Return 0 on success else a negative LTTng error code.
*/
-extern int lttng_enable_event_with_filter(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_enable_event_with_filter(struct lttng_handle *handle,
struct lttng_event *event, const char *channel_name,
const char *filter_expression);
*
* Return 0 on success else a negative LTTng error code.
*/
-extern int lttng_enable_event_with_exclusions(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_enable_event_with_exclusions(struct lttng_handle *handle,
struct lttng_event *event, const char *channel_name,
const char *filter_expression,
int exclusion_count, char **exclusion_names);
*
* Return 0 on success else a negative LTTng error code.
*/
-extern int lttng_disable_event(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_disable_event(struct lttng_handle *handle,
const char *name, const char *channel_name);
/*
*
* Return 0 on success else a negative LTTng error code.
*/
-int lttng_disable_event_ext(struct lttng_handle *handle,
+LTTNG_EXPORT extern int lttng_disable_event_ext(struct lttng_handle *handle,
struct lttng_event *ev, const char *channel_name,
const char *filter_expression);