Merge branch 'master' of ssh://gapil.gnulinux.it/srv/git/gapil
[gapil.git] / listati / sockbindopt.c
1 int sockbindopt(char *host, char *serv, int prot, int type, int reuse) 
2 {
3     struct addrinfo hint, *addr, *save;
4     int res;
5     int sock;
6     char buf[INET6_ADDRSTRLEN];
7     ...
8     while (addr != NULL) {                 /* loop on possible addresses */
9         /* get a socket */
10         sock = socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol);
11         ...
12         /* connect the socket */
13         if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, 
14                        &reuse, sizeof(reuse))) {
15             printf("error on socket options\n");
16             return -1;
17         }
18         ...
19
20     return sock;
21 }