move unused dirs to attic
[ltt-control.git] / trunk / attic / lttng-xenomai / ltt-control-0.24-xenoltt / liblttctl / lttctl.h
diff --git a/trunk/attic/lttng-xenomai/ltt-control-0.24-xenoltt/liblttctl/lttctl.h b/trunk/attic/lttng-xenomai/ltt-control-0.24-xenoltt/liblttctl/lttctl.h
new file mode 100644 (file)
index 0000000..8dae012
--- /dev/null
@@ -0,0 +1,100 @@
+/* libltt header file
+ *
+ * Copyright 2005-
+ *              Mathieu Desnoyers <mathieu.desnoyers@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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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.
+ *
+ *
+ * Inspired from iptables, by James Morris <jmorris@intercode.com.au>.
+ * 
+ */
+
+#ifndef _LIBLTT_H
+#define _LIBLTT_H
+
+#include <linux/limits.h>
+#include <asm/types.h>
+#include <sys/socket.h>
+#include <linux/netlink.h>
+
+#ifndef NETLINK_LTT
+#define NETLINK_LTT 31
+#endif
+
+
+enum trace_op {
+       OP_CREATE,
+       OP_DESTROY,
+       OP_START,
+       OP_STOP,
+       OP_NONE
+};
+
+enum trace_mode {
+       LTT_TRACE_NORMAL,
+       LTT_TRACE_FLIGHT,
+       LTT_TRACE_HYBRID
+};
+
+typedef struct lttctl_peer_msg {
+       char trace_name[NAME_MAX];
+       char trace_type[NAME_MAX];
+       enum trace_op op;
+       union {
+               struct {
+                       enum trace_mode mode;
+                       unsigned subbuf_size_low;
+                       unsigned n_subbufs_low;
+                       unsigned subbuf_size_med;
+                       unsigned n_subbufs_med;
+                       unsigned subbuf_size_high;
+                       unsigned n_subbufs_high;
+               } new_trace;
+       } args;
+} lttctl_peer_msg_t;
+
+
+struct lttctl_handle
+{
+       int fd;
+       //u_int8_t blocking;
+       struct sockaddr_nl local;
+       struct sockaddr_nl peer;
+};
+
+typedef struct lttctl_resp_msg {
+       int err;
+} lttctl_resp_msg_t;
+
+struct lttctl_handle *lttctl_create_handle(void);
+
+int lttctl_destroy_handle(struct lttctl_handle *h);
+
+
+int lttctl_create_trace(const struct lttctl_handle *h,
+               char *name, enum trace_mode mode, char *trace_type,
+               unsigned subbuf_size_low, unsigned n_subbufs_low,
+               unsigned subbuf_size_med, unsigned n_subbufs_med,
+               unsigned subbuf_size_high, unsigned n_subbufs_high);
+
+int lttctl_destroy_trace(const struct lttctl_handle *handle, char *name);
+
+int lttctl_start(const struct lttctl_handle *handle, char *name);
+
+int lttctl_stop(const struct lttctl_handle *handle, char *name);
+
+#define LTTCTLM_BASE   0x10
+#define LTTCTLM_CONTROL        (LTTCTLM_BASE + 1)      /* LTT control message */
+
+
+#endif //_LIBLTT_H
This page took 0.025245 seconds and 4 git commands to generate.