#include <lttng/ust-endian.h>
#include <float.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define LTTNG_UST_UUID_LEN 16
/*
void (*destroy)(struct lttng_ctx_field *field);
};
-#define LTTNG_UST_CTX_PADDING 24
+#define LTTNG_UST_CTX_PADDING 20
struct lttng_ctx {
struct lttng_ctx_field *fields;
unsigned int nr_fields;
unsigned int allocated_fields;
+ unsigned int largest_align;
char padding[LTTNG_UST_CTX_PADDING];
};
unsigned char *uuid,
uint32_t chan_id);
void (*channel_destroy)(struct lttng_channel *chan);
- void *_deprecated1;
+ union {
+ void *_deprecated1;
+ unsigned long has_strcpy:1; /* ABI has strcpy */
+ } u;
void *_deprecated2;
int (*event_reserve)(struct lttng_ust_lib_ring_buffer_ctx *ctx,
uint32_t event_id);
int (*is_finalized)(struct channel *chan);
int (*is_disabled)(struct channel *chan);
int (*flush_buffer)(struct channel *chan, struct lttng_ust_shm_handle *handle);
+ void (*event_strcpy)(struct lttng_ust_lib_ring_buffer_ctx *ctx,
+ const char *src, size_t len);
};
/*
int lttng_find_context(struct lttng_ctx *ctx, const char *name);
int lttng_get_context_index(struct lttng_ctx *ctx, const char *name);
struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx_p);
+void lttng_context_update(struct lttng_ctx *ctx);
void lttng_remove_context_field(struct lttng_ctx **ctx_p,
struct lttng_ctx_field *field);
void lttng_destroy_context(struct lttng_ctx *ctx);
int lttng_session_active(void);
typedef int (*t_statedump_func_ptr)(struct lttng_session *session);
-int lttng_handle_pending_statedump(void *owner);
+void lttng_handle_pending_statedump(void *owner);
struct cds_list_head *_lttng_get_sessions(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _LTTNG_UST_EVENTS_H */