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.
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)
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 */
};
struct stream_interface;
+struct si_applet;
/* operations available on a stream-interface */
struct si_ops {
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 {