struct tls *ctx;
};
+static int setsockint(int sockfd, int level, int optname, int optval)
+{
+ return setsockopt(sockfd, level, optname, (void *)&optval, sizeof(optval));
+}
static SOCKET create_listen_sock(const char *ip, const char *port)
{
struct addrinfo hints, *res;
exit(EXIT_FAILURE);
}
// Set socket options
- int opt = 1;
- if(setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void*)&opt, sizeof(opt)) == -1) {
+ if (setsockint(sock, SOL_SOCKET, SO_REUSEADDR, 1) == -1) {
net_perror("ERROR SOCKET");
freeaddrinfo(res);
exit(EXIT_FAILURE);
}
- if(res->ai_family == AF_INET6 && setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (void*)&opt, sizeof(opt)) == -1) {
+ if (res->ai_family == AF_INET6 && setsockint(sock, IPPROTO_IPV6, IPV6_V6ONLY, 1) == -1) {
net_perror("ERROR SOCKET IPV6");
freeaddrinfo(res);
exit(EXIT_FAILURE);
{
// enable keepalive
- int opt = 1;
- setsockopt(newSocket, SOL_SOCKET, SO_KEEPALIVE, (void*)&opt, sizeof(opt));
+ setsockint(newSocket, SOL_SOCKET, SO_KEEPALIVE, 1);
#ifdef TCP_KEEPIDLE
- opt = 30;
- setsockopt(newSocket, IPPROTO_TCP, TCP_KEEPIDLE, (void*)&opt, sizeof(opt));
+ setsockint(newSocket, IPPROTO_TCP, TCP_KEEPIDLE, 30);
#endif
#ifdef TCP_KEEPINTVL
- opt = 1;
- setsockopt(newSocket, IPPROTO_TCP, TCP_KEEPINTVL, (void*)&opt, sizeof(opt));
+ setsockint(newSocket, IPPROTO_TCP, TCP_KEEPINTVL, 1);
#endif
#ifdef TCP_KEEPCNT
- opt = 10;
- setsockopt(newSocket, IPPROTO_TCP, TCP_KEEPCNT, (void*)&opt, sizeof(opt));
+ setsockint(newSocket, IPPROTO_TCP, TCP_KEEPCNT, 10);
#endif
}