- memset(&lsm, 0, sizeof(lsm));
- memset(&llm, 0, sizeof(llm));
+ int ret;
+
+ memcpy(&lsm.u.channel.chan, chan, sizeof(struct lttng_channel));
+
+ switch (domain->type) {
+ case LTTNG_DOMAIN_KERNEL:
+ ret = ask_sessiond(LTTNG_KERNEL_ENABLE_CHANNEL, NULL);
+ break;
+ case LTTNG_DOMAIN_UST:
+ ret = LTTCOMM_NOT_IMPLEMENTED;
+ break;
+ default:
+ ret = LTTCOMM_UNKNOWN_DOMAIN;
+ break;
+ };
+
+ return ret;
+}
+
+/*
+ * Disable recording for the channel for the kernel tracer.
+ */
+int lttng_disable_channel(struct lttng_domain *domain, const char *name)
+{
+ int ret;
+
+ strncpy(lsm.u.disable.channel_name, name, NAME_MAX);
+
+ switch (domain->type) {
+ case LTTNG_DOMAIN_KERNEL:
+ ret = ask_sessiond(LTTNG_KERNEL_DISABLE_CHANNEL, NULL);
+ break;
+ case LTTNG_DOMAIN_UST:
+ ret = LTTCOMM_NOT_IMPLEMENTED;
+ break;
+ default:
+ ret = LTTCOMM_UNKNOWN_DOMAIN;
+ break;
+ };
+
+ return ret;