[MINOR] stream_interface: add iohandler callback

When stream interfaces will embedded applets running as part as their
holding task, we'll need a new callback to process them from the
session processor.
diff --git a/include/types/stream_interface.h b/include/types/stream_interface.h
index 7e99722..70b8cd5 100644
--- a/include/types/stream_interface.h
+++ b/include/types/stream_interface.h
@@ -83,13 +83,14 @@
 	int fd;                 /* file descriptor for a stream driver when known */
 	unsigned int flags;
 	unsigned int exp;       /* wake up time for connect, queue, turn-around, ... */
-	void (*update)(struct stream_interface *); /* update function */
+	void (*update)(struct stream_interface *); /* I/O update function */
 	void (*shutr)(struct stream_interface *);  /* shutr function */
 	void (*shutw)(struct stream_interface *);  /* shutw function */
 	void (*chk_rcv)(struct stream_interface *);/* chk_rcv function */
 	void (*chk_snd)(struct stream_interface *);/* chk_snd function */
 	int (*connect)(struct stream_interface *, struct proxy *, struct server *,
 		       struct sockaddr *, struct sockaddr *); /* connect function if any */
+	void (*iohandler)(struct stream_interface *);  /* internal I/O handler when embedded */
 	struct buffer *ib, *ob; /* input and output buffers */
 	unsigned int err_type;  /* first error detected, one of SI_ET_* */
 	void *err_loc;          /* commonly the server, NULL when SI_ET_NONE */
diff --git a/src/client.c b/src/client.c
index 76c91c9..88c1131 100644
--- a/src/client.c
+++ b/src/client.c
@@ -197,6 +197,7 @@
 		s->si[0].chk_rcv = stream_sock_chk_rcv;
 		s->si[0].chk_snd = stream_sock_chk_snd;
 		s->si[0].connect = NULL;
+		s->si[0].iohandler = NULL;
 		s->si[0].fd = cfd;
 		s->si[0].flags = SI_FL_NONE | SI_FL_CAP_SPLTCP; /* TCP splicing capable */
 		s->si[0].exp = TICK_ETERNITY;
@@ -211,6 +212,7 @@
 		s->si[1].chk_rcv = stream_sock_chk_rcv;
 		s->si[1].chk_snd = stream_sock_chk_snd;
 		s->si[1].connect = tcpv4_connect_server;
+		s->si[1].iohandler = NULL;
 		s->si[1].exp = TICK_ETERNITY;
 		s->si[1].fd = -1; /* just to help with debugging */
 		s->si[1].flags = SI_FL_NONE;
diff --git a/src/proto_uxst.c b/src/proto_uxst.c
index 60efb6d..686d854 100644
--- a/src/proto_uxst.c
+++ b/src/proto_uxst.c
@@ -451,6 +451,7 @@
 		s->si[0].chk_rcv = stream_sock_chk_rcv;
 		s->si[0].chk_snd = stream_sock_chk_snd;
 		s->si[0].connect = NULL;
+		s->si[0].iohandler = NULL;
 		s->si[0].fd = cfd;
 		s->si[0].flags = SI_FL_NONE;
 		s->si[0].exp = TICK_ETERNITY;
@@ -465,6 +466,7 @@
 		s->si[1].chk_rcv = stream_sock_chk_rcv;
 		s->si[1].chk_snd = stream_sock_chk_snd;
 		s->si[1].connect = NULL;
+		s->si[1].iohandler = NULL;
 		s->si[1].exp = TICK_ETERNITY;
 		s->si[1].fd = -1; /* just to help with debugging */
 		s->si[1].flags = SI_FL_NONE;