#include "common/macros.h"
#include "common/ust-context-provider.h"
+/*
+ * The context procname length is part of the LTTng-UST ABI.
+ * TODO: At the next breaking protocol bump, all users of this macro
+ * should instead use LTTNG_UST_ABI_PROCNAME_LEN.
+ */
+#define LTTNG_UST_CONTEXT_PROCNAME_LEN 17
+
struct lttng_ust_abi_obj;
struct lttng_event_notifier_group;
void *owner;
int notification_fd;
struct cds_list_head node; /* Event notifier group handle list */
- struct cds_list_head enablers_head;
+
+ /* List of non-synchronized enablers */
+ struct cds_list_head unsync_enablers_head;
+ /* List of synchronized enablers */
+ struct cds_list_head sync_enablers_head;
+
struct cds_list_head event_notifiers_head; /* list of event_notifiers */
struct lttng_ust_event_notifier_ht event_notifiers_ht; /* hashtable of event_notifiers */
struct lttng_ust_ctx *ctx; /* contexts for filters. */
int link_failed;
int (*interpreter_func)(struct lttng_ust_bytecode_runtime *bytecode_runtime,
const char *interpreter_stack_data,
+ struct lttng_ust_probe_ctx *probe_ctx,
void *ctx);
struct cds_list_head node; /* list of bytecode runtime in event */
/*
struct cds_list_head events_head; /* list of events */
struct cds_list_head node; /* Session list */
- /* List of enablers */
- struct cds_list_head enablers_head;
+ /* List of non-synchronized enablers */
+ struct cds_list_head unsync_enablers_head;
+ /* List of synchronized enablers */
+ struct cds_list_head sync_enablers_head;
+
struct lttng_ust_event_ht events_ht; /* ht of events */
void *owner; /* object owner */
- int tstate:1; /* Transient enable state */
+ unsigned int tstate:1; /* Transient enable state */
- int statedump_pending:1;
+ unsigned int statedump_pending:1;
struct lttng_ust_enum_ht enums_ht; /* ht of enumerations */
struct cds_list_head enums_head;
struct lttng_ust_channel_common *pub; /* Public channel interface */
int objd; /* Object associated with channel. */
- int tstate:1; /* Transient enable state */
+ unsigned int tstate:1; /* Transient enable state */
};
struct lttng_ust_channel_buffer_private {
void *unused3;
void *unused4;
int unused5;
+ unsigned int _deprecated1;
+ unsigned int _deprecated2;
struct cds_list_head unused6;
void *unused7;
int unused8;
void *unused9;
+ unsigned int _deprecated3:1;
/* Channel ID */
unsigned int id;
struct lttng_ust_ctx_field {
const struct lttng_ust_event_field *event_field;
- size_t (*get_size)(void *priv, size_t offset);
- void (*record)(void *priv, struct lttng_ust_ring_buffer_ctx *ctx,
- struct lttng_ust_channel_buffer *chan);
- void (*get_value)(void *priv, struct lttng_ust_ctx_value *value);
+ size_t (*get_size)(void *priv, struct lttng_ust_probe_ctx *probe_ctx,
+ size_t offset);
+ void (*record)(void *priv, struct lttng_ust_probe_ctx *probe_ctx,
+ struct lttng_ust_ring_buffer_ctx *ctx,
+ struct lttng_ust_channel_buffer *chan);
+ void (*get_value)(void *priv, struct lttng_ust_probe_ctx *probe_ctx,
+ struct lttng_ust_ctx_value *value);
void (*destroy)(void *priv);
void *priv;
};
-/* This is ABI between liblttng-ust and liblttng-ust-ctl */
-struct lttng_transport *lttng_ust_transport_find(const char *name);
-
/* This is ABI between liblttng-ust and liblttng-ust-dl */
void lttng_ust_dl_update(void *ip);