/*------------------------------------------------------------------------- * * win32gai_strerror.c * Thread-safe gai_strerror() for Windows. * * Portions Copyright (c) 2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/port/win32gai_strerror.c * *------------------------------------------------------------------------- */ #include /* * Windows has gai_strerrorA(), but it is not thread-safe so we avoid it. * * https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-gai_strerrora */ const char * gai_strerror(int errcode) { switch (errcode) { case EAI_AGAIN: return "Temporary failure in name resolution"; case EAI_BADFLAGS: return "Bad value for ai_flags"; case EAI_FAIL: return "Non-recoverable failure in name resolution"; case EAI_FAMILY: return "ai_family not supported"; case EAI_MEMORY: return "Memory allocation failure"; case EAI_NONAME: return "Name or service not known"; case EAI_SERVICE: return "Servname not supported for ai_socktype"; case EAI_SOCKTYPE: return "ai_socktype not supported"; default: return "Unknown server error"; } }