+/** Set *AF according to IPV4ONLY and IPV6ONLY:
+ - If both are set, the function fails.
+ - If exactly one is set, *AF is set accordingly.
+ - If none is set, *AF is not affected.
+ Return 0 on success and !0 on failure.
+ In the case of an error, *AF is not affected. */
+int config_hostaf(const char *desc, int ipv4only, int ipv6only, int *af) {
+ assert(af != NULL);
+ if (ipv4only && ipv6only) {
+ debug(DBG_ERR, "error in block %s, at most one of IPv4Only and "
+ "IPv6Only can be enabled", desc);
+ return -1;
+ }
+ if (ipv4only)
+ *af = AF_INET;
+ if (ipv6only)
+ *af = AF_INET6;
+ return 0;
+}
+