summaryrefslogtreecommitdiffstats
path: root/nchan.h
diff options
context:
space:
mode:
Diffstat (limited to 'nchan.h')
-rw-r--r--nchan.h30
1 files changed, 19 insertions, 11 deletions
diff --git a/nchan.h b/nchan.h
index 0ceee1c71..ae2b70619 100644
--- a/nchan.h
+++ b/nchan.h
@@ -27,7 +27,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/* RCSID("$Id: nchan.h,v 1.4 2000/04/01 01:09:24 damien Exp $"); */
+/* RCSID("$Id: nchan.h,v 1.5 2000/04/04 04:39:02 damien Exp $"); */
#ifndef NCHAN_H
#define NCHAN_H
@@ -72,17 +72,25 @@
#define CHAN_OUTPUT_WAIT_IEOF 0x40
#define CHAN_OUTPUT_CLOSED 0x80
-/* EVENTS for the input state */
-void chan_rcvd_oclose(Channel * c);
-void chan_read_failed(Channel * c);
-void chan_ibuf_empty(Channel * c);
+#define CHAN_CLOSE_SENT 0x01
+#define CHAN_CLOSE_RCVD 0x02
-/* EVENTS for the output state */
-void chan_rcvd_ieof(Channel * c);
-void chan_write_failed(Channel * c);
-void chan_obuf_empty(Channel * c);
-void chan_init_iostates(Channel * c);
+/* Channel EVENTS */
+typedef void chan_event_fn(Channel * c);
+
+/* for the input state */
+extern chan_event_fn *chan_rcvd_oclose;
+extern chan_event_fn *chan_read_failed;
+extern chan_event_fn *chan_ibuf_empty;
+
+/* for the output state */
+extern chan_event_fn *chan_rcvd_ieof;
+extern chan_event_fn *chan_write_failed;
+extern chan_event_fn *chan_obuf_empty;
-void chan_delete_if_full_closed(Channel *c);
+extern chan_event_fn *chan_delete_if_full_closed;
+
+void chan_init_iostates(Channel * c);
+void chan_init(void);
#endif