summaryrefslogtreecommitdiffstats
path: root/channels.h
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2008-06-13 04:55:46 +1000
committerDarren Tucker <dtucker@zip.com.au>2008-06-13 04:55:46 +1000
commit84c56f536ca664f79172d595e088fce6aa84be21 (patch)
treeed9f037d4935c1bb0a59c8a0dd3e815883a07fa2 /channels.h
parent4b3b9773ec9d5e0de31a1a8e113488497c7113dc (diff)
- djm@cvs.openbsd.org 2008/06/12 15:19:17
[clientloop.h channels.h clientloop.c channels.c mux.c] The multiplexing escape char handler commit last night introduced a small memory leak per session; plug it.
Diffstat (limited to 'channels.h')
-rw-r--r--channels.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/channels.h b/channels.h
index 450321d4..ec8ea1c4 100644
--- a/channels.h
+++ b/channels.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.h,v 1.94 2008/06/12 03:40:52 djm Exp $ */
+/* $OpenBSD: channels.h,v 1.95 2008/06/12 15:19:17 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -62,6 +62,7 @@ typedef struct Channel Channel;
typedef void channel_callback_fn(int, void *);
typedef int channel_infilter_fn(struct Channel *, char *, int);
+typedef void channel_filter_cleanup_fn(int, void *);
typedef u_char *channel_outfilter_fn(struct Channel *, u_char **, u_int *);
/* Channel success/failure callbacks */
@@ -132,6 +133,7 @@ struct Channel {
channel_infilter_fn *input_filter;
channel_outfilter_fn *output_filter;
void *filter_ctx;
+ channel_filter_cleanup_fn *filter_cleanup;
/* keep boundaries */
int datagram;
@@ -196,7 +198,7 @@ void channel_request_start(int, char *, int);
void channel_register_cleanup(int, channel_callback_fn *, int);
void channel_register_open_confirm(int, channel_callback_fn *, void *);
void channel_register_filter(int, channel_infilter_fn *,
- channel_outfilter_fn *, void *);
+ channel_outfilter_fn *, channel_filter_cleanup_fn *, void *);
void channel_register_status_confirm(int, channel_confirm_cb *,
channel_confirm_abandon_cb *, void *);
void channel_cancel_cleanup(int);