From: Willy Tarreau Date: Thu, 24 Oct 2013 18:03:27 +0000 (+0200) Subject: MEDIUM: stream-interface: set the pointer to the applet into the applet context X-Git-Tag: v1.5-dev20~116 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=48099c7a073692deb2f01cab4f47b85c4eb4dcd8;p=thirdparty%2Fhaproxy.git MEDIUM: stream-interface: set the pointer to the applet into the applet context In preparation for a later move of all the applet context outside of the stream interface, we'll need to have access to the applet itself from the context. Let's have a pointer to it inside the context. --- diff --git a/include/proto/stream_interface.h b/include/proto/stream_interface.h index 6dffcaf841..26e9bfa534 100644 --- a/include/proto/stream_interface.h +++ b/include/proto/stream_interface.h @@ -57,6 +57,7 @@ static inline void si_prepare_none(struct stream_interface *si) si->end = NULL; conn_prepare(si->conn, NULL, NULL, NULL, si); si->conn->target = NULL; + si->appctx.applet = NULL; } static inline void si_prepare_conn(struct stream_interface *si, const struct protocol *ctrl, const struct xprt_ops *xprt) @@ -79,6 +80,7 @@ static inline void si_prepare_applet(struct stream_interface *si, struct si_appl si->end = NULL; conn_prepare(si->conn, NULL, NULL, NULL, si); si->conn->target = &applet->obj_type; + si->appctx.applet = applet; } /* Sends a shutr to the connection using the data layer */ diff --git a/include/types/stream_interface.h b/include/types/stream_interface.h index fc09aa6137..588f4c48b4 100644 --- a/include/types/stream_interface.h +++ b/include/types/stream_interface.h @@ -79,6 +79,7 @@ enum { }; struct stream_interface; +struct si_applet; /* operations available on a stream-interface */ struct si_ops { @@ -95,6 +96,7 @@ struct appctx { unsigned int st0; /* CLI state for stats, session state for peers */ unsigned int st1; /* prompt for stats, session error for peers */ unsigned int st2; /* output state for stats, unused by peers */ + struct si_applet *applet; /* applet this context refers to */ union { struct {