+/* --- @a_init@ --- *
+ *
+ * Arguments: ---
+ *
+ * Returns: ---
+ *
+ * Use: Creates the admin listening socket.
+ */
+
+void a_init(void)
+{
+#ifdef HAVE_LIBADNS
+ int err;
+#endif
+
+ /* --- Create services table --- */
+
+ sym_create(&a_svcs);
+
+ /* --- Prepare the background name resolver --- */
+
+#ifdef HAVE_LIBADNS
+ if ((err = adns_init(&ads,
+ (adns_if_permit_ipv4 | adns_if_permit_ipv6 |
+ adns_if_noserverwarn | adns_if_nosigpipe |
+ adns_if_noautosys),
+ 0)) != 0) {
+ a_warn("ADMIN", "adns-init-failed", "?ERRNO", A_END);
+ exit(EXIT_FAILURE);
+ }
+ sel_addhook(&sel, &hook, before_select, after_select, 0);
+#else
+ bres_init(&sel);
+#endif
+}
+