From 48099c7a073692deb2f01cab4f47b85c4eb4dcd8 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 24 Oct 2013 20:03:27 +0200 Subject: [PATCH] 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. --- include/proto/stream_interface.h | 2 ++ include/types/stream_interface.h | 2 ++ 2 files changed, 4 insertions(+) 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 { -- 2.47.3