diff options
author | David Smith <dsmith@redhat.com> | 2009-02-17 08:32:43 -0600 |
---|---|---|
committer | David Smith <dsmith@redhat.com> | 2009-02-17 08:32:43 -0600 |
commit | a79ec729450bc24d0943c2c1ee67efa8acb58273 (patch) | |
tree | deae00cc69b4bf5da3a440bb47004c371cefc75f /runtime/transport/control.h | |
parent | ea1248d39b26b7f4288751cdf9eb019266bfd91b (diff) | |
download | systemtap-steved-a79ec729450bc24d0943c2c1ee67efa8acb58273.tar.gz systemtap-steved-a79ec729450bc24d0943c2c1ee67efa8acb58273.tar.xz systemtap-steved-a79ec729450bc24d0943c2c1ee67efa8acb58273.zip |
Reduced control channel code duplication.
2009-02-17 David Smith <dsmith@redhat.com>
* control.c: Contains generic control channel functions.
* procfs.c: Specific procfs control channel functions. All generic
control channel functions moved to control.c.
* debugfs.c: New file containing debugfs specific control channel
functions.
* control.h: New file.
* transport.c: Updated file inclusion.
Diffstat (limited to 'runtime/transport/control.h')
-rw-r--r-- | runtime/transport/control.h | 42 |
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_ */ |