34 #ifndef GRPC_INTERNAL_CORE_IOMGR_SOCKET_UTILS_POSIX_H
35 #define GRPC_INTERNAL_CORE_IOMGR_SOCKET_UTILS_POSIX_H
38 #include <sys/socket.h>
41 int grpc_accept4(
int sockfd,
struct sockaddr *addr, socklen_t *addrlen,
42 int nonblock,
int cloexec);
45 int grpc_set_socket_nonblocking(
int fd,
int non_blocking);
48 int grpc_set_socket_cloexec(
int fd,
int close_on_exec);
51 int grpc_set_socket_reuse_addr(
int fd,
int reuse);
54 int grpc_set_socket_low_latency(
int fd,
int low_latency);
64 int grpc_ipv6_loopback_available(
void);
69 int grpc_set_socket_no_sigpipe_if_possible(
int fd);
76 typedef enum grpc_dualstack_mode {
85 } grpc_dualstack_mode;
88 extern int grpc_forbid_dualstack_sockets_for_testing;
110 int grpc_create_dualstack_socket(
const struct sockaddr *addr,
int type,
111 int protocol, grpc_dualstack_mode *dsmode);