- OpenBSD CVS update:
   - [packet.h packet.c]
     ssh2 packet format
   - [packet.h packet.c nchan2.ms nchan.h compat.h compat.c]
     [channels.h channels.c]
     channel layer support for ssh2
   - [kex.h kex.c hmac.h hmac.c dsa.c dsa.h]
     DSA, keyexchange, algorithm agreement for ssh2
diff --git a/nchan.h b/nchan.h
index 0ceee1c..ae2b706 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);
+
+/* 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;
+
+extern chan_event_fn	*chan_delete_if_full_closed;
 
 void    chan_init_iostates(Channel * c);
-
-void	chan_delete_if_full_closed(Channel *c);
+void	chan_init(void);
 #endif