PostgreSQL Source Code  git master
win32gai_strerror.c
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * win32gai_strerror.c
4  * Thread-safe gai_strerror() for Windows.
5  *
6  * Portions Copyright (c) 2024, PostgreSQL Global Development Group
7  *
8  * IDENTIFICATION
9  * src/port/win32gai_strerror.c
10  *
11  *-------------------------------------------------------------------------
12  */
13 
14 #include <sys/socket.h>
15 
16 /*
17  * Windows has gai_strerrorA(), but it is not thread-safe so we avoid it.
18  *
19  * https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-gai_strerrora
20  */
21 const char *
23 {
24  switch (errcode)
25  {
26  case EAI_AGAIN:
27  return "Temporary failure in name resolution";
28  case EAI_BADFLAGS:
29  return "Bad value for ai_flags";
30  case EAI_FAIL:
31  return "Non-recoverable failure in name resolution";
32  case EAI_FAMILY:
33  return "ai_family not supported";
34  case EAI_MEMORY:
35  return "Memory allocation failure";
36  case EAI_NONAME:
37  return "Name or service not known";
38  case EAI_SERVICE:
39  return "Servname not supported for ai_socktype";
40  case EAI_SOCKTYPE:
41  return "ai_socktype not supported";
42  default:
43  return "Unknown server error";
44  }
45 }
int errcode(int sqlerrcode)
Definition: elog.c:859
const char * gai_strerror(int errcode)