-void elog(int pri, int errno_value, const char *fmt, va_list ap);
+/** @brief Possible error number spaces */
+enum error_class {
+ /** @brief Invalid number space */
+ ec_none,
+
+ /** @brief @c errno number space */
+ ec_errno,
+
+ /** @brief Windows GetLastError/WSAGetLastError return value */
+ ec_windows,
+
+ /** @brief getaddrinfo() return value */
+ ec_getaddrinfo,
+};
+
+#if _WIN32
+# define ec_native ec_windows
+# define ec_socket ec_windows
+#else
+# define ec_native ec_errno
+# define ec_socket ec_errno
+#endif