#include <common/config.h>
#include <common/ticks.h>
#include <common/time.h>
+#include <types/applet.h>
#include <types/global.h>
#include <types/proxy.h>
#include <types/listener.h>
void init_new_proxy(struct proxy *p);
int get_backend_server(const char *bk_name, const char *sv_name,
struct proxy **bk, struct server **sv);
+struct proxy *cli_find_frontend(struct appctx *appctx, const char *arg);
/*
* This function returns a string containing the type of the proxy in a format
#include <ebistree.h>
#include <types/capture.h>
+#include <types/cli.h>
#include <types/global.h>
#include <types/obj_type.h>
#include <types/peers.h>
{ 0, NULL, NULL },
}};
+/* Expects to find a frontend named <arg> and returns it, otherwise displays various
+ * adequate error messages and returns NULL. This function is designed to be used by
+ * functions requiring a frontend on the CLI.
+ */
+struct proxy *cli_find_frontend(struct appctx *appctx, const char *arg)
+{
+ struct proxy *px;
+
+ if (!*arg) {
+ appctx->ctx.cli.msg = "A frontend name is expected.\n";
+ appctx->st0 = STAT_CLI_PRINT;
+ return NULL;
+ }
+
+ px = proxy_fe_by_name(arg);
+ if (!px) {
+ appctx->ctx.cli.msg = "No such frontend.\n";
+ appctx->st0 = STAT_CLI_PRINT;
+ return NULL;
+ }
+ return px;
+}
+
__attribute__((constructor))
static void __proxy_module_init(void)
{