X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;ds=sidebyside;f=lttng-events.h;h=e8c9afedffc3eb3ac94c1536e72d3943aaf330be;hb=d6589e5c528d559a08ff0726c47cd2080a873914;hp=6b39304f8d114e92387308cac22d74c72e0f5a98;hpb=a26a7e4f2376619bb63519d089caeaf59af4a6b2;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index 6b39304f..e8c9afed 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -167,6 +167,7 @@ struct lttng_ctx { struct lttng_ctx_field *fields; unsigned int nr_fields; unsigned int allocated_fields; + size_t largest_align; /* in bytes */ }; struct lttng_event_desc { @@ -236,6 +237,10 @@ struct lttng_channel_ops { const void *src, size_t len); void (*event_memset)(struct lib_ring_buffer_ctx *ctx, int c, size_t len); + void (*event_strcpy)(struct lib_ring_buffer_ctx *ctx, const char *src, + size_t len); + void (*event_strcpy_from_user)(struct lib_ring_buffer_ctx *ctx, + const char __user *src, size_t len); /* * packet_avail_size returns the available size in the current * packet. Note that the size returned is only a hint, since it @@ -307,6 +312,7 @@ struct lttng_metadata_stream { wait_queue_head_t read_wait; /* Reader buffer-level wait queue */ struct list_head list; /* Stream list */ struct lttng_transport *transport; + struct mutex lock; }; struct lttng_session { @@ -328,6 +334,7 @@ struct lttng_metadata_cache { unsigned int metadata_written; /* Number of bytes written in metadata cache */ struct kref refcount; /* Metadata cache usage */ struct list_head metadata_stream; /* Metadata stream list */ + uuid_le uuid; /* Trace session unique ID (copy) */ }; struct lttng_session *lttng_session_create(void); @@ -399,6 +406,7 @@ static inline int lttng_syscalls_unregister(struct lttng_channel *chan) #endif struct lttng_ctx_field *lttng_append_context(struct lttng_ctx **ctx); +void lttng_context_update(struct lttng_ctx *ctx); int lttng_find_context(struct lttng_ctx *ctx, const char *name); void lttng_remove_context_field(struct lttng_ctx **ctx, struct lttng_ctx_field *field);