Major code cleanup
[lttng-tools.git] / ltt-sessiond / context.c
index dc771227051d4ae5cc880ab2324325542d79fb3d..35cb50b7b0c8cde13b8ee1c56bdec2341033e41e 100644 (file)
@@ -1,19 +1,18 @@
 /*
  * Copyright (C)  2011 - David Goulet <david.goulet@polymtl.ca>
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; only version 2
- * of the License.
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; only version 2 of the License.
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
 #define _GNU_SOURCE
 #include <unistd.h>
 #include <urcu/list.h>
 
-#include "lttngerr.h"
+#include <lttng-sessiond-comm.h>
+#include <lttngerr.h>
+
 #include "context.h"
+#include "kernel-ctl.h"
 
 /*
  * Add kernel context to an event of a specific channel.
@@ -37,7 +39,7 @@ static int add_kctx_to_event(struct lttng_kernel_context *kctx,
 
        DBG("Add kernel context to event %s", event_name);
 
-       kevent = get_kernel_event_by_name(event_name, kchan);
+       kevent = trace_kernel_get_event_by_name(event_name, kchan);
        if (kevent != NULL) {
                ret = kernel_add_event_context(kevent, kctx);
                if (ret < 0) {
@@ -149,27 +151,36 @@ error:
 /*
  * Add kernel context to tracer.
  */
-int add_kernel_context(struct ltt_kernel_session *ksession,
-               struct lttng_kernel_context *kctx, char *event_name,
+int context_kernel_add(struct ltt_kernel_session *ksession,
+               struct lttng_event_context *ctx, char *event_name,
                char *channel_name)
 {
        int ret;
        struct ltt_kernel_channel *kchan;
+       struct lttng_kernel_context kctx;
+
+       /* Setup kernel context structure */
+       kctx.ctx = ctx->ctx;
+       kctx.u.perf_counter.type = ctx->u.perf_counter.type;
+       kctx.u.perf_counter.config = ctx->u.perf_counter.config;
+       strncpy(kctx.u.perf_counter.name, ctx->u.perf_counter.name,
+                       LTTNG_SYMBOL_NAME_LEN);
+       kctx.u.perf_counter.name[LTTNG_SYMBOL_NAME_LEN - 1] = '\0';
 
        if (strlen(channel_name) == 0) {
-               ret = add_kctx_all_channels(ksession, kctx, event_name);
+               ret = add_kctx_all_channels(ksession, &kctx, event_name);
                if (ret != LTTCOMM_OK) {
                        goto error;
                }
        } else {
                /* Get kernel channel */
-               kchan = get_kernel_channel_by_name(channel_name, ksession);
+               kchan = trace_kernel_get_channel_by_name(channel_name, ksession);
                if (kchan == NULL) {
                        ret = LTTCOMM_KERN_CHAN_NOT_FOUND;
                        goto error;
                }
 
-               ret = add_kctx_to_channel(kctx, kchan, event_name);
+               ret = add_kctx_to_channel(&kctx, kchan, event_name);
                if (ret != LTTCOMM_OK) {
                        goto error;
                }
This page took 0.024243 seconds and 4 git commands to generate.