MINOR: config: add minimum support for emitting warnings only once

This is useful to explain to users what to do during a migration.
diff --git a/include/types/global.h b/include/types/global.h
index 0d9903d..21433e8 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -170,6 +170,19 @@
 extern char localpeer[MAX_HOSTNAME_LEN];
 extern struct list global_listener_queue; /* list of the temporarily limited listeners */
 extern struct task *global_listener_queue_task;
+extern unsigned int warned;     /* bitfield of a few warnings to emit just once */
+
+/* bit values to go with "warned" above */
+/* #define WARN_* */
+
+/* to be used with warned and WARN_* */
+static inline int already_warned(unsigned int warning)
+{
+	if (warned & warning)
+		return 1;
+	warned |= warning;
+	return 0;
+}
 
 #endif /* _TYPES_GLOBAL_H */
 
diff --git a/src/haproxy.c b/src/haproxy.c
index 9e0f33f..81eaeba 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -205,6 +205,9 @@
 struct task *global_listener_queue_task;
 static struct task *manage_global_listener_queue(struct task *t);
 
+/* bitfield of a few warnings to emit just once (WARN_*) */
+unsigned int warned = 0;
+
 /*********************************************************************/
 /*  general purpose functions  ***************************************/
 /*********************************************************************/