summaryrefslogtreecommitdiffstats
path: root/runtime/transport/control.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/transport/control.h')
-rw-r--r--runtime/transport/control.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/runtime/transport/control.h b/runtime/transport/control.h
new file mode 100644
index 00000000..5e7204ee
--- /dev/null
+++ b/runtime/transport/control.h
@@ -0,0 +1,42 @@
+/* -*- linux-c -*-
+ *
+ * control channel header
+ * Copyright (C) 2009 Red Hat Inc.
+ *
+ * This file is part of systemtap, and is free software. You can
+ * redistribute it and/or modify it under the terms of the GNU General
+ * Public License (GPL); either version 2, or (at your option) any
+ * later version.
+ */
+
+#ifndef _CONTROL_H_
+#define _CONTROL_H_
+
+#include <linux/spinlock.h>
+#include <linux/list.h>
+
+static _stp_mempool_t *_stp_pool_q;
+static struct list_head _stp_ctl_ready_q;
+static spinlock_t _stp_ctl_ready_lock;
+static wait_queue_head_t _stp_ctl_wq;
+
+struct _stp_buffer {
+ struct list_head list;
+ int len;
+ int type;
+ char buf[STP_CTL_BUFFER_SIZE];
+};
+
+static struct file_operations _stp_ctl_fops_cmd;
+
+static int _stp_ctl_send(int type, void *data, int len);
+
+static int _stp_ctl_write_fs(int type, void *data, unsigned len);
+
+static int _stp_register_ctl_channel(void);
+static void _stp_unregister_ctl_channel(void);
+
+static int _stp_register_ctl_channel_fs(void);
+static void _stp_unregister_ctl_channel_fs(void);
+
+#endif /* _CONTROL_H_ */