X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sources%2FSockUtil.c;h=af3a3f7c59990b0ff43853efd16ece5dc3549ac0;hp=28b22defae96326ad406f723a85bea0484316bb2;hb=HEAD;hpb=ff8c324d1cdb252eebc1ad3c419bca5b7ac940f3 diff --git a/sources/SockUtil.c b/sources/SockUtil.c index 28b22de..af3a3f7 100644 --- a/sources/SockUtil.c +++ b/sources/SockUtil.c @@ -1,4 +1,4 @@ -/* Sockutils.c +/* SockUtil.c * * Copyright (C) 2004 Simone Piccardi * @@ -18,26 +18,22 @@ */ /*************************************************************** * - * File SockUtils.c + * File SockUtil.c * Routines for socket operations. * * Define routines for socket handling * * Author: S. Piccardi * - * $Id$ - * ***************************************************************/ -#include -#include /* standard I/O functions */ -#include -#include -#include -#include -#include -#include -#include -#include +#include /* primitive system data types */ +#include /* standard I/O library */ +#include /* unix standard library */ +#include /* C strings library */ +#include /* error definitions and routines */ +#include /* socket constants, types and functions */ +#include /* IP addresses conversion utilities */ +#include /* C resolver library */ #include "macros.h" /************************************************************************** @@ -50,8 +46,6 @@ * Author: Simone Piccardi * Dec. 2004 * - * $Id$ - * **************************************************************************/ char *ip_ntop(struct addrinfo *addr, char *dst, socklen_t cnt) { @@ -82,8 +76,6 @@ char *ip_ntop(struct addrinfo *addr, char *dst, socklen_t cnt) * Author: Simone Piccardi * Dec. 2004 * - * $Id$ - * ****************************************************************/ int sockconn(char *host, char *serv, int prot, int type) { @@ -140,8 +132,6 @@ int sockconn(char *host, char *serv, int prot, int type) * Author: Simone Piccardi * Dec. 2004 * - * $Id$ - * ****************************************************************/ int sockbind(char *host, char *serv, int prot, int type) { @@ -195,22 +185,19 @@ int sockbind(char *host, char *serv, int prot, int type) } /**************************************************************** * - * Routine sockbind2 + * Routine sockbindopt * Return a binded socket given hostname, service, and socket type - * Issue a SO_REUSEADDR on the socket before binding. + * Issue a SO_REUSEADDR on the socket before binding on reuse value. * * Author: Simone Piccardi * Mar. 2005 * - * $Id$ - * ****************************************************************/ -int sockbind2(char *host, char *serv, int prot, int type) +int sockbindopt(char *host, char *serv, int prot, int type, int reuse) { struct addrinfo hint, *addr, *save; int res; int sock; - int opt=1; char buf[INET6_ADDRSTRLEN]; /* initialize hint structure */ memset(&hint, 0, sizeof(struct addrinfo)); @@ -240,7 +227,8 @@ int sockbind2(char *host, char *serv, int prot, int type) } } /* connect the socket */ - if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) { + if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, + &reuse, sizeof(reuse))) { printf("error on socket options\n"); return -1; }