void da_register_cfgkeywords(void);
int init_deviceatlas(void);
void deinit_deviceatlas(void);
-int da_haproxy(const struct arg *, struct sample *, void *);
#endif
#endif
#include <stdio.h>
#include <common/cfgparse.h>
+#include <proto/arg.h>
#include <proto/log.h>
+#include <proto/sample.h>
#include <import/da.h>
static int da_json_file(char **args, int section_type, struct proxy *curpx,
da_fini();
}
-int da_haproxy(const struct arg *args, struct sample *smp, void *private)
+static int da_haproxy(const struct arg *args, struct sample *smp, void *private)
{
struct chunk *tmp;
da_deviceinfo_t devinfo;
return 1;
}
+/* Note: must not be declared <const> as its list will be overwritten */
+static struct sample_conv_kw_list conv_kws = {ILH, {
+ { "da-csv", da_haproxy, ARG5(1,STR,STR,STR,STR,STR), NULL, SMP_T_STR, SMP_T_STR },
+ { NULL, NULL, 0, 0, 0 },
+}};
+
+__attribute__((constructor))
+static void __da_init(void)
+{
+ /* register sample fetch and format conversion keywords */
+ sample_register_convs(&conv_kws);
+}
#endif
#include <proto/sample.h>
#include <proto/stick_table.h>
-#ifdef USE_DEVICEATLAS
-#include <import/da.h>
-#endif
-
/* sample type names */
const char *smp_to_type[SMP_TYPES] = {
[SMP_T_BOOL] = "bool",
{ "div", sample_conv_arith_div, ARG1(1,UINT), NULL, SMP_T_UINT, SMP_T_UINT },
{ "mod", sample_conv_arith_mod, ARG1(1,UINT), NULL, SMP_T_UINT, SMP_T_UINT },
{ "neg", sample_conv_arith_neg, 0, NULL, SMP_T_UINT, SMP_T_UINT },
-#ifdef USE_DEVICEATLAS
- { "da-csv", da_haproxy, ARG5(1,STR,STR,STR,STR,STR), NULL, SMP_T_STR, SMP_T_STR },
-#endif
{ NULL, NULL, 0, 0, 0 },
}};