#ifndef GRPC_SRC_CORE_LIB_IOMGR_PORT_H
#define GRPC_SRC_CORE_LIB_IOMGR_PORT_H
#include <grpc/support/port_platform.h>
#ifdef GPR_WINDOWS
#define GRPC_ARES_RESOLVE_LOCALHOST_MANUALLY …
#endif
#if defined(GPR_WINDOWS)
#define GRPC_WINSOCK_SOCKET …
#define GRPC_WINDOWS_SOCKETUTILS …
#define GRPC_WINDOWS_SOCKET_ARES_EV_DRIVER …
#elif defined(GPR_ANDROID)
#define GRPC_HAVE_IPV6_RECVPKTINFO …
#define GRPC_HAVE_IP_PKTINFO …
#define GRPC_HAVE_MSG_NOSIGNAL …
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_LINUX_EVENTFD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_WAKEUP_FD …
#elif defined(GPR_LINUX)
#define GRPC_HAVE_ARPA_NAMESER …
#define GRPC_HAVE_IFADDRS …
#define GRPC_HAVE_IPV6_RECVPKTINFO …
#define GRPC_HAVE_IP_PKTINFO …
#define GRPC_HAVE_MSG_NOSIGNAL …
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_HAVE_TCP_INQ …
#ifdef LINUX_VERSION_CODE
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
#define GRPC_LINUX_ERRQUEUE …
#endif
#endif
#define GRPC_LINUX_MULTIPOLL_WITH_EPOLL …
#define GRPC_POSIX_FORK …
#define GRPC_POSIX_HOST_NAME_MAX …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_WAKEUP_FD …
#ifdef __GLIBC_PREREQ
#if __GLIBC_PREREQ(2, 4)
#define GRPC_LINUX_EPOLL …
#endif
#if __GLIBC_PREREQ(2, 9)
#define GRPC_LINUX_EPOLL_CREATE1 …
#define GRPC_LINUX_EVENTFD …
#endif
#if __GLIBC_PREREQ(2, 10)
#define GRPC_LINUX_SOCKETUTILS …
#endif
#if !(__GLIBC_PREREQ(2, 18))
#define GRPC_LINUX_TCP_H …
#endif
#endif
#ifndef __GLIBC__
#define GRPC_LINUX_EPOLL …
#define GRPC_LINUX_EPOLL_CREATE1 …
#define GRPC_LINUX_EVENTFD …
#define GRPC_MSG_IOVLEN_TYPE …
#endif
#ifndef GRPC_LINUX_EVENTFD
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#endif
#ifndef GRPC_LINUX_SOCKETUTILS
#define GRPC_POSIX_SOCKETUTILS
#endif
#elif defined(GPR_APPLE)
#define GRPC_HAVE_ARPA_NAMESER …
#define GRPC_HAVE_IFADDRS …
#define GRPC_HAVE_SO_NOSIGPIPE …
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_MSG_IOVLEN_TYPE …
#define GRPC_POSIX_FORK …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#ifdef GRPC_CFSTREAM
#define GRPC_CFSTREAM_IOMGR …
#define GRPC_CFSTREAM_CLIENT …
#define GRPC_CFSTREAM_ENDPOINT …
#define GRPC_APPLE_EV …
#define GRPC_POSIX_SOCKET_ARES_EV_DRIVER …
#define GRPC_POSIX_SOCKET_EV …
#define GRPC_POSIX_SOCKET_EV_EPOLL1 …
#define GRPC_POSIX_SOCKET_EV_POLL …
#define GRPC_POSIX_SOCKET_IF_NAMETOINDEX …
#define GRPC_POSIX_SOCKET_RESOLVE_ADDRESS …
#define GRPC_POSIX_SOCKET_SOCKADDR …
#define GRPC_POSIX_SOCKET_SOCKET_FACTORY …
#define GRPC_POSIX_SOCKET_TCP …
#define GRPC_POSIX_SOCKET_TCP_CLIENT …
#define GRPC_POSIX_SOCKET_TCP_SERVER …
#define GRPC_POSIX_SOCKET_TCP_SERVER_UTILS_COMMON …
#define GRPC_POSIX_SOCKET_UDP_SERVER …
#define GRPC_POSIX_SOCKET_UTILS_COMMON …
#else
#define GRPC_POSIX_SOCKET …
#endif
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_SYSCONF …
#define GRPC_POSIX_WAKEUP_FD …
#elif defined(GPR_FREEBSD)
#define GRPC_HAVE_ARPA_NAMESER …
#define GRPC_HAVE_IFADDRS …
#define GRPC_HAVE_IPV6_RECVPKTINFO …
#define GRPC_HAVE_SO_NOSIGPIPE …
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_POSIX_FORK …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_WAKEUP_FD …
#elif defined(GPR_OPENBSD)
#define GRPC_HAVE_IFADDRS …
#define GRPC_HAVE_IPV6_RECVPKTINFO …
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_WAKEUP_FD …
#elif defined(GPR_SOLARIS)
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_WAKEUP_FD …
#elif defined(GPR_AIX)
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_WAKEUP_FD …
#elif defined(GPR_NETBSD)
#define GRPC_HAVE_ARPA_NAMESER …
#define GRPC_HAVE_IFADDRS …
#define GRPC_HAVE_IPV6_RECVPKTINFO …
#define GRPC_HAVE_SO_NOSIGPIPE …
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_POSIX_FORK …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_WAKEUP_FD …
#elif defined(GPR_NACL)
#define GRPC_HAVE_ARPA_NAMESER …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_WAKEUP_FD …
#elif defined(GPR_FUCHSIA)
#define GRPC_HAVE_IFADDRS …
#define GRPC_HAVE_IPV6_RECVPKTINFO …
#define GRPC_HAVE_IP_PKTINFO …
#undef GRPC_HAVE_MSG_NOSIGNAL
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_POSIX_WAKEUP_FD …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETADDR …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_TIMER_USE_GENERIC …
#elif defined(GPR_HAIKU)
#define GRPC_HAVE_ARPA_NAMESER …
#define GRPC_HAVE_IFADDRS …
#define GRPC_HAVE_IPV6_RECVPKTINFO …
#define GRPC_HAVE_UNIX_SOCKET …
#define GRPC_POSIX_FORK …
#define GRPC_POSIX_NO_SPECIAL_WAKEUP_FD …
#define GRPC_POSIX_SOCKET …
#define GRPC_POSIX_SOCKETUTILS …
#define GRPC_POSIX_WAKEUP_FD …
#elif !defined(GPR_NO_AUTODETECT_PLATFORM)
#error "Platform not recognized"
#endif
#if defined(GRPC_POSIX_SOCKET) + defined(GRPC_WINSOCK_SOCKET) + \
defined(GRPC_CFSTREAM) != \
1
#error \
"Must define exactly one of GRPC_POSIX_SOCKET, GRPC_WINSOCK_SOCKET, GRPC_CFSTREAM"
#endif
#ifdef GRPC_POSIX_SOCKET
#define GRPC_POSIX_SOCKET_ARES_EV_DRIVER …
#define GRPC_POSIX_SOCKET_EV …
#define GRPC_POSIX_SOCKET_EV_POLL …
#define GRPC_POSIX_SOCKET_EV_EPOLL1 …
#define GRPC_POSIX_SOCKET_IF_NAMETOINDEX …
#define GRPC_POSIX_SOCKET_IOMGR …
#define GRPC_POSIX_SOCKET_RESOLVE_ADDRESS …
#define GRPC_POSIX_SOCKET_SOCKADDR …
#define GRPC_POSIX_SOCKET_SOCKET_FACTORY …
#define GRPC_POSIX_SOCKET_TCP …
#define GRPC_POSIX_SOCKET_TCP_CLIENT …
#define GRPC_POSIX_SOCKET_TCP_SERVER …
#define GRPC_POSIX_SOCKET_TCP_SERVER_UTILS_COMMON …
#define GRPC_POSIX_SOCKET_UDP_SERVER …
#define GRPC_POSIX_SOCKET_UTILS_COMMON …
#endif
#if defined(GRPC_POSIX_HOST_NAME_MAX) && defined(GRPC_POSIX_SYSCONF)
#error "Cannot define both GRPC_POSIX_HOST_NAME_MAX and GRPC_POSIX_SYSCONF"
#endif
#if !defined(GRPC_POSIX_HOST_NAME_MAX) && !defined(GRPC_POSIX_SYSCONF)
#define GRPC_GETHOSTNAME_FALLBACK …
#endif
#endif