/*------------------------------------------------------------------------- * * ip.h * Definitions for IPv6-aware network access. * * These definitions are used by both frontend and backend code. * * Copyright (c) 2003-2021, PostgreSQL Global Development Group * * src/include/common/ip.h * *------------------------------------------------------------------------- */ #ifndef IP_H #define IP_H #include "getaddrinfo.h" /* pgrminclude ignore */ #include "libpq/pqcomm.h" /* pgrminclude ignore */ #ifdef HAVE_UNIX_SOCKETS #define IS_AF_UNIX(fam) ((fam) == AF_UNIX) #else #define IS_AF_UNIX(fam) (0) #endif extern int pg_getaddrinfo_all(const char *hostname, const char *servname, const struct addrinfo *hintp, struct addrinfo **result); extern void pg_freeaddrinfo_all(int hint_ai_family, struct addrinfo *ai); extern int pg_getnameinfo_all(const struct sockaddr_storage *addr, int salen, char *node, int nodelen, char *service, int servicelen, int flags); #endif /* IP_H */