X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-events.h;h=e8c9afedffc3eb3ac94c1536e72d3943aaf330be;hb=refs%2Fheads%2Fstable-2.4;hp=f0628c4cd7a9582e7f2a271c8ddd0b092edd7a54;hpb=2348ca17d04c122d21f9329faa6941d0b147b378;p=lttng-modules.git diff --git a/lttng-events.h b/lttng-events.h index f0628c4c..e8c9afed 100644 --- a/lttng-events.h +++ b/lttng-events.h @@ -167,10 +167,12 @@ 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 { - const char *name; + const char *name; /* lttng-modules name */ + const char *kname; /* Linux kernel name (tracepoints) */ void *probe_callback; const struct lttng_event_ctx *ctx; /* context */ const struct lttng_event_field *fields; /* event payload */ @@ -235,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 @@ -306,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 { @@ -327,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); @@ -398,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);