Version 2.6.6
[lttng-modules.git] / lttng-events.h
index e0337993cc8c5d830e4a63c6c7097a08d324b43f..c2eba8f60e2df984611b04752c875361a2c25b13 100644 (file)
@@ -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 {
@@ -296,9 +297,12 @@ struct lttng_channel {
        struct lttng_transport *transport;
        struct lttng_event **sc_table;  /* for syscall tracing */
        struct lttng_event **compat_sc_table;
+       struct lttng_event **sc_exit_table;     /* for syscall exit tracing */
+       struct lttng_event **compat_sc_exit_table;
        struct lttng_event *sc_unknown; /* for unknown syscalls */
        struct lttng_event *sc_compat_unknown;
-       struct lttng_event *sc_exit;    /* for syscall exit */
+       struct lttng_event *sc_exit_unknown;
+       struct lttng_event *compat_sc_exit_unknown;
        struct lttng_syscall_filter *sc_filter;
        int header_type;                /* 0: unset, 1: compact, 2: large */
        enum channel_type channel_type;
@@ -317,7 +321,6 @@ 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 {
@@ -340,6 +343,7 @@ struct lttng_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 mutex lock;
 };
 
 struct lttng_session *lttng_session_create(void);
@@ -402,6 +406,9 @@ int lttng_syscall_filter_enable(struct lttng_channel *chan,
                const char *name);
 int lttng_syscall_filter_disable(struct lttng_channel *chan,
                const char *name);
+long lttng_channel_syscall_mask(struct lttng_channel *channel,
+               struct lttng_kernel_syscall_mask __user *usyscall_mask);
+int lttng_abi_syscall_list(void);
 #else
 static inline int lttng_syscalls_register(struct lttng_channel *chan, void *filter)
 {
@@ -413,20 +420,36 @@ static inline int lttng_syscalls_unregister(struct lttng_channel *chan)
        return 0;
 }
 
+static inline
 int lttng_syscall_filter_enable(struct lttng_channel *chan,
                const char *name)
 {
        return -ENOSYS;
 }
 
+static inline
 int lttng_syscall_filter_disable(struct lttng_channel *chan,
                const char *name)
 {
        return -ENOSYS;
 }
+
+static inline
+long lttng_channel_syscall_mask(struct lttng_channel *channel,
+               struct lttng_kernel_syscall_mask __user *usyscall_mask)
+{
+       return -ENOSYS;
+}
+
+static inline
+int lttng_abi_syscall_list(void)
+{
+       return -ENOSYS;
+}
 #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);
@@ -553,6 +576,7 @@ void lttng_ftrace_destroy_private(struct lttng_event *event)
 int lttng_calibrate(struct lttng_kernel_calibrate *calibrate);
 
 extern const struct file_operations lttng_tracepoint_list_fops;
+extern const struct file_operations lttng_syscall_list_fops;
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
 #define TRACEPOINT_HAS_DATA_ARG
This page took 0.023824 seconds and 4 git commands to generate.