diff options
| author | xHire <xhire@tuxportal.cz> | 2009-04-25 20:30:36 +0200 |
|---|---|---|
| committer | xHire <xhire@tuxportal.cz> | 2009-05-26 01:08:49 +0200 |
| commit | 9bc2fc0ad817b29831c2d9d4e4ce3cf2a38c5f19 (patch) | |
| tree | f332f99bee399532475a7bcdbdc57228023e1f74 /src | |
| parent | 9ab82c4ad5eeedd66b768db9f27bfd097d3284e8 (diff) | |
Rewritten messages/comments in net code
Rectified the coding style in net code
Diffstat (limited to 'src')
| -rw-r--r-- | src/net/dns.c | 13 | ||||
| -rw-r--r-- | src/net/dns.h | 6 | ||||
| -rw-r--r-- | src/net/tcp.c | 112 | ||||
| -rw-r--r-- | src/net/tcp.h | 55 | ||||
| -rw-r--r-- | src/net/udp.c | 166 | ||||
| -rw-r--r-- | src/net/udp.h | 47 |
6 files changed, 144 insertions, 255 deletions
diff --git a/src/net/dns.c b/src/net/dns.c index 156aeb4..f716047 100644 --- a/src/net/dns.c +++ b/src/net/dns.c @@ -1,15 +1,14 @@ #ifndef __WIN32__ -# include <sys/socket.h> -# include <netinet/in.h> -# include <arpa/inet.h> -# include <netdb.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <netdb.h> #else -# include <windows.h> -# include <wininet.h> +#include <windows.h> +#include <wininet.h> #endif #include <string.h> - #include "main.h" char *gns_resolv(char *domain) diff --git a/src/net/dns.h b/src/net/dns.h index 38e6a9f..9166094 100644 --- a/src/net/dns.h +++ b/src/net/dns.h @@ -1,8 +1,6 @@ - #ifndef DNS_H - -# define DNS_H +#define DNS_H extern char *gns_resolv(char *domain); -#endif +#endif /* DNS_H */ diff --git a/src/net/tcp.c b/src/net/tcp.c index 4370cf9..3ef941b 100644 --- a/src/net/tcp.c +++ b/src/net/tcp.c @@ -1,4 +1,3 @@ - #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -15,10 +14,11 @@ #include <netinet/in.h> #include <netinet/tcp.h> #include <fcntl.h> -#else +#else /* __WIN32__ */ #include <windows.h> #include <wininet.h> -#endif // __WIN32__ +#endif /* __WIN32__ */ + #include <unistd.h> #include <assert.h> @@ -34,7 +34,7 @@ sock_tcp_t *sock_tcp_new(void) return new; } -void sock_tcp_destroy(sock_tcp_t * p) +void sock_tcp_destroy(sock_tcp_t *p) { assert(p != NULL); free(p); @@ -42,10 +42,12 @@ void sock_tcp_destroy(sock_tcp_t * p) static int getProto(char *str) { - if( strstr(str, ".") != NULL )return PROTO_TCPv4; - if( strstr(str, ":") != NULL )return PROTO_TCPv6; + if (strstr(str, ".") != NULL) + return PROTO_TCPv4; + if (strstr(str, ":") != NULL) + return PROTO_TCPv6; - assert( ! "Protocol not detected !" ); + assert(!_("[Error] Network protocol not detected")); return -1; } @@ -60,14 +62,13 @@ sock_tcp_t *sock_tcp_bind(char *address, int port) new = sock_tcp_new(); new->proto = getProto(address); - ret = -1; // no Warnings + ret = -1; /* no warnings */ assert(new != NULL); if (new->proto == PROTO_TCPv4) { new->sock = socket(AF_INET, SOCK_STREAM, 0); } - #ifdef SUPPORT_IPv6 if (new->proto == PROTO_TCPv6) { new->sock = socket(AF_INET6, SOCK_STREAM, 0); @@ -75,7 +76,7 @@ sock_tcp_t *sock_tcp_bind(char *address, int port) #endif if (new->sock < 0) { - fprintf(stderr, _("Unable to create socket when connecting!\n")); + fprintf(stderr, _("[Error] Unable to create TCP socket\n")); sock_tcp_destroy(new); #ifdef __WIN32__ WSACleanup(); @@ -83,8 +84,7 @@ sock_tcp_t *sock_tcp_bind(char *address, int port) return NULL; } - setsockopt(new->sock, SOL_SOCKET, SO_REUSEADDR, (char *) ¶m_setsock, - sizeof(param_setsock)); + setsockopt(new->sock, SOL_SOCKET, SO_REUSEADDR, (char *) ¶m_setsock, sizeof(param_setsock)); if (new->proto == PROTO_TCPv4) { new->sockAddr.sin_family = AF_INET; @@ -101,21 +101,21 @@ sock_tcp_t *sock_tcp_bind(char *address, int port) #ifdef SUPPORT_IPv6 if (new->proto == PROTO_TCPv6) { new->sockAddr6.sin6_family = AF_INET6; - //new->sockAddr.sin_addr.s_addr = htonl(INADDR_ANY); + /*new->sockAddr.sin_addr.s_addr = htonl(INADDR_ANY);*/ #ifndef __WIN32__ inet_pton(AF_INET6, address, &(new->sockAddr6.sin6_addr)); -#else +#else /* __WIN32__ */ new->sockAddr6.sin6_addr.s_addr = inet_addr(address); -#endif +#endif /* __WIN32__ */ new->sockAddr6.sin6_port = htons(port); len = sizeof(new->sockAddr6); ret = bind(new->sock, (struct sockaddr *) &new->sockAddr6, len); } -#endif +#endif /* SUPPORT_IPv6 */ if (ret < 0) { - fprintf(stderr, _("Unable to bint to port: %d\n"), port); + fprintf(stderr, _("[Error] Unable to bind to TCP port [%d]\n"), port); sock_tcp_destroy(new); #ifdef __WIN32__ WSACleanup(); @@ -128,7 +128,7 @@ sock_tcp_t *sock_tcp_bind(char *address, int port) return new; } -sock_tcp_t *sock_tcp_accept(sock_tcp_t * p) +sock_tcp_t *sock_tcp_accept(sock_tcp_t *p) { sock_tcp_t *new; int client_len; @@ -142,24 +142,23 @@ sock_tcp_t *sock_tcp_accept(sock_tcp_t * p) if (new->proto == PROTO_TCPv4) { client_len = sizeof(new->sockAddr); #ifndef __WIN32__ - new->sock = accept(p->sock, (struct sockaddr *) &new->sockAddr, (socklen_t *) & client_len); + new->sock = accept(p->sock, (struct sockaddr *) &new->sockAddr, (socklen_t *) &client_len); #else - new->sock = accept(p->sock, (struct sockaddr *) &new->sockAddr, (long *) & client_len); + new->sock = accept(p->sock, (struct sockaddr *) &new->sockAddr, (long *) &client_len); #endif } #ifdef SUPPORT_IPv6 if (new->proto == PROTO_TCPv6) { client_len = sizeof(new->sockAddr6); #ifndef __WIN32__ - new->sock = accept(p->sock, (struct sockaddr *) &new->sockAddr6, (socklen_t *) & client_len); -#else - new->sock = accept(p->sock, (struct sockaddr *) &new->sockAddr6, (long *) & client_len); -#endif + new->sock = accept(p->sock, (struct sockaddr *) &new->sockAddr6, (socklen_t *) &client_len); +#else /* __WIN32__ */ + new->sock = accept(p->sock, (struct sockaddr *) &new->sockAddr6, (long *) &client_len); +#endif /* __WIN32__ */ } -#endif +#endif /* SUPPORT_IPv6 */ if (new->sock < 0) { - //printf("XXX\n"); sock_tcp_destroy(new); #ifdef __WIN32__ WSACleanup(); @@ -170,33 +169,31 @@ sock_tcp_t *sock_tcp_accept(sock_tcp_t * p) return new; } -void sock_tcp_get_ip(sock_tcp_t * p, char *str_ip, int len) +void sock_tcp_get_ip(sock_tcp_t *p, char *str_ip, int len) { assert(p != NULL); assert(str_ip != NULL); - if (p->proto == PROTO_TCPv4) { #ifndef __WIN32__ inet_ntop(AF_INET, &(p->sockAddr.sin_addr), str_ip, len); #else strcpy(str_ip, inet_ntoa(p->sockAddr.sin_addr)); #endif - //printf("strcpy(str_ip, inet_ntoa(p->sockAddr.sin_addr));\n"); } #ifdef SUPPORT_IPv6 if (p->proto == PROTO_TCPv6) { #ifndef __WIN32__ inet_ntop(AF_INET6, &(p->sockAddr6.sin6_addr), str_ip, len); -#else - // not tested +#else /* __WIN32__ */ + /* NOT TESTED */ strcpy(str_ip, inet_ntoa(p->sockAddr6.sin6_addr)); -#endif // __WIN32__ +#endif /* __WIN32__ */ } -#endif // SUPPORT_IPv6 +#endif /* SUPPORT_IPv6 */ } -int sock_tcp_get_port(sock_tcp_t * p) +int sock_tcp_get_port(sock_tcp_t *p) { assert(p != NULL); @@ -209,7 +206,7 @@ int sock_tcp_get_port(sock_tcp_t * p) } #endif - assert(!_("Bad IP proto!")); + assert(!_("[Error] Bad IP protocol")); return -1; } @@ -225,12 +222,11 @@ sock_tcp_t *sock_tcp_connect(char *ip, int port) new = sock_tcp_new(); new->proto = getProto(ip); - ret = -1; // no Warnnings + ret = -1; /* no warnings */ if (new->proto == PROTO_TCPv4) { new->sock = socket(AF_INET, SOCK_STREAM, 0); } - #ifdef SUPPORT_IPv6 if (new->proto == PROTO_TCPv6) { new->sock = socket(AF_INET6, SOCK_STREAM, 0); @@ -238,7 +234,7 @@ sock_tcp_t *sock_tcp_connect(char *ip, int port) #endif if (new->sock < 0) { - fprintf(stderr, _("Unable to create TCP socket!\n")); + fprintf(stderr, _("[Error] Unable to create TCP socket for connecting\n")); sock_tcp_destroy(new); #ifdef __WIN32__ WSACleanup(); @@ -254,7 +250,6 @@ sock_tcp_t *sock_tcp_connect(char *ip, int port) len = sizeof(new->sockAddr); ret = connect(new->sock, (struct sockaddr *) &new->sockAddr, len); } - #ifdef SUPPORT_IPv6 if (new->proto == PROTO_TCPv6) { new->sockAddr6.sin6_family = AF_INET6; @@ -267,8 +262,7 @@ sock_tcp_t *sock_tcp_connect(char *ip, int port) #endif if (ret < 0) { - fprintf(stderr, "Unable to connect on: \"%s\" port: \"%d\"\n", ip, - port); + fprintf(stderr, "[Error] Unable to connect to [%s]:%d\n", ip, port); sock_tcp_destroy(new); #ifdef __WIN32__ WSACleanup(); @@ -276,49 +270,37 @@ sock_tcp_t *sock_tcp_connect(char *ip, int port) return NULL; } - return new; } -int sock_tcp_diable_nagle(sock_tcp_t * p) +int sock_tcp_diable_nagle(sock_tcp_t *p) { int flag = 1; - int result; - result = setsockopt(p->sock, /* socket affected */ - IPPROTO_TCP, /* set option at TCP level */ - TCP_NODELAY, /* name of option */ - (char *) &flag, /* the cast is historical cruft */ - sizeof(int)); /* length of option value */ - -#if 0 - if (result < 0) { - printf("disabled nagle error\n"); - } else { - printf("disabled nagle OK\n"); - } -#endif + result = setsockopt(p->sock, /* affected socket */ + IPPROTO_TCP, /* set option at TCP level */ + TCP_NODELAY, /* name of the option */ + (char *) &flag, /* the cast is a historical cruft */ + sizeof(int)); /* length of the option value */ return result; } -int sock_tcp_set_non_block(sock_tcp_t * p) +int sock_tcp_set_non_block(sock_tcp_t *p) { - /* Set to nonblocking socket mode */ + /* set to nonblocking socket mode */ #ifndef __WIN32__ int oldFlag; oldFlag = fcntl(p->sock, F_GETFL, 0); if (fcntl(p->sock, F_SETFL, oldFlag | O_NONBLOCK) == -1) { - //printf("error sock_tcp_set_non_block\n"); return -1; } - //printf("sock_tcp_set_non_block OK\n"); #else unsigned long arg = 1; - // Operation is FIONBIO. Parameter is pointer on non-zero number. + /* operation is FIONBIO; parameter is a pointer on non-zero number */ if (ioctlsocket(p->sock, FIONBIO, &arg) == SOCKET_ERROR) { WSACleanup(); return -1; @@ -327,7 +309,7 @@ int sock_tcp_set_non_block(sock_tcp_t * p) return 0; } -int sock_tcp_read(sock_tcp_t * p, void *address, int len) +int sock_tcp_read(sock_tcp_t *p, void *address, int len) { assert(p != NULL); assert(address != NULL); @@ -335,7 +317,7 @@ int sock_tcp_read(sock_tcp_t * p, void *address, int len) return read(p->sock, address, len); } -int sock_tcp_write(sock_tcp_t * p, void *address, int len) +int sock_tcp_write(sock_tcp_t *p, void *address, int len) { assert(p != NULL); assert(address != NULL); @@ -343,7 +325,7 @@ int sock_tcp_write(sock_tcp_t * p, void *address, int len) return write(p->sock, address, len); } -void sock_tcp_close(sock_tcp_t * p) +void sock_tcp_close(sock_tcp_t *p) { assert(p != NULL); diff --git a/src/net/tcp.h b/src/net/tcp.h index cdeb2e6..57e9c5e 100644 --- a/src/net/tcp.h +++ b/src/net/tcp.h @@ -1,46 +1,45 @@ - #ifndef MY_TCP_H +#define MY_TCP_H -# define MY_TCP_H -# include "main.h" +#include "main.h" -# ifndef __WIN32__ -# include <sys/socket.h> -# include <netinet/in.h> -# include <netinet/tcp.h> -# else -# include <windows.h> -# include <wininet.h> -# endif +#ifndef __WIN32__ +#include <sys/socket.h> +#include <netinet/in.h> +#include <netinet/tcp.h> +#else +#include <windows.h> +#include <wininet.h> +#endif -# define PROTO_TCPv4 0 -# define PROTO_TCPv6 1 +#define PROTO_TCPv4 0 +#define PROTO_TCPv6 1 typedef struct struct_sock_tcp_t { -# ifndef __WIN32_ +#ifndef __WIN32_ int sock; -# else +#else SOCKET sock; -# endif +#endif int proto; struct sockaddr_in sockAddr; -# ifdef SUPPORT_IPv6 +# ifdef SUPPORT_IPv6 struct sockaddr_in6 sockAddr6; -# endif +# endif } sock_tcp_t; extern sock_tcp_t *sock_tcp_new(void); -extern void sock_tcp_destroy(sock_tcp_t * p); +extern void sock_tcp_destroy(sock_tcp_t *p); extern sock_tcp_t *sock_tcp_bind(char *addresss, int port); -extern sock_tcp_t *sock_tcp_accept(sock_tcp_t * p); -extern void sock_tcp_get_ip(sock_tcp_t * p, char *str_ip, int len); -extern int sock_tcp_get_port(sock_tcp_t * p); +extern sock_tcp_t *sock_tcp_accept(sock_tcp_t *p); +extern void sock_tcp_get_ip(sock_tcp_t *p, char *str_ip, int len); +extern int sock_tcp_get_port(sock_tcp_t *p); extern sock_tcp_t *sock_tcp_connect(char *ip, int port); -extern int sock_tcp_diable_nagle(sock_tcp_t * p); -extern int sock_tcp_set_non_block(sock_tcp_t * p); -extern int sock_tcp_read(sock_tcp_t * p, void *address, int len); -extern int sock_tcp_write(sock_tcp_t * p, void *address, int len); -extern void sock_tcp_close(sock_tcp_t * p); +extern int sock_tcp_diable_nagle(sock_tcp_t *p); +extern int sock_tcp_set_non_block(sock_tcp_t *p); +extern int sock_tcp_read(sock_tcp_t *p, void *address, int len); +extern int sock_tcp_write(sock_tcp_t *p, void *address, int len); +extern void sock_tcp_close(sock_tcp_t *p); -#endif +#endif /* MY_TCP_H */ diff --git a/src/net/udp.c b/src/net/udp.c index b13fa1f..2cf8626 100644 --- a/src/net/udp.c +++ b/src/net/udp.c @@ -1,38 +1,38 @@ - +#include <stdio.h> +#include <stdlib.h> +#include <string.h> #ifndef __WIN32__ -# include <sys/socket.h> -# include <sys/types.h> -# include <netinet/in.h> -# include <arpa/inet.h> -# include <netdb.h> +#include <sys/socket.h> +#include <sys/types.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <netdb.h> #else -# include <windows.h> -# include <wininet.h> +#include <windows.h> +#include <wininet.h> #endif #include <unistd.h> -#include <stdlib.h> -#include <stdio.h> -#include <string.h> #include <assert.h> #include <fcntl.h> - -#define BUFSIZE 1000 - #include "main.h" #include "net_multiplayer.h" #include "udp.h" #include "dns.h" +#define BUFSIZE 1000 + static int getProto(char *str) { - if( strstr(str, ".") != NULL )return PROTO_UDPv4; - if( strstr(str, ":") != NULL )return PROTO_UDPv6; + if (strstr(str, ".") != NULL) + return PROTO_UDPv4; + if (strstr(str, ":") != NULL) + return PROTO_UDPv6; - assert( ! "Protocol not detected !" ); + assert(!_("[Error] Network protocol not detected")); return -1; } @@ -55,7 +55,7 @@ void sock_udp_destroy(sock_udp_t *p) sock_udp_t *sock_udp_bind(char *address, int port) { sock_udp_t *new; - int res = -1; // no warninng + ret = -1; /* no warnings */ assert(port > 0 && port < 65535); @@ -67,7 +67,6 @@ sock_udp_t *sock_udp_bind(char *address, int port) if (new->proto == PROTO_UDPv4) { new->sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); } - #ifdef SUPPORT_IPv6 if (new->proto == PROTO_UDPv6) { new->sock = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); @@ -75,7 +74,7 @@ sock_udp_t *sock_udp_bind(char *address, int port) #endif if (new->sock < 0) { - fprintf(stderr, _("Unable to create socket when binding!\n")); + fprintf(stderr, _("[Error] Unable to create UDP socket\n")); sock_udp_destroy(new); #ifdef __WIN32__ WSACleanup(); @@ -103,7 +102,7 @@ sock_udp_t *sock_udp_bind(char *address, int port) #endif if (res < 0) { - fprintf(stderr, _("Unable to set socket %s %d!\n"), address, port); + fprintf(stderr, _("[Error] Unable to bind UDP socket to [%s]:%d\n"), address, port); sock_udp_destroy(new); #ifdef __WIN32__ WSACleanup(); @@ -129,7 +128,6 @@ sock_udp_t *sock_udp_connect(char *address, int port) if (new->proto == PROTO_UDPv4) { new->sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); } - #ifdef SUPPORT_IPv6 if (new->proto == PROTO_UDPv6) { new->sock = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); @@ -137,7 +135,7 @@ sock_udp_t *sock_udp_connect(char *address, int port) #endif if (new->sock < 0) { - fprintf(stderr, _("Unable to create socket when connecting!\n")); + fprintf(stderr, _("[Error] Unable to create UDP socket for connecting\n")); sock_udp_destroy(new); #ifdef __WIN32__ WSACleanup(); @@ -145,10 +143,11 @@ sock_udp_t *sock_udp_connect(char *address, int port) return NULL; } - char *domain = gns_resolv (address); + char *domain = gns_resolv(address); - if (domain) + if (domain) { address = domain; + } memset(&(new->sockAddr), 0, sizeof(new->sockAddr)); @@ -164,15 +163,16 @@ sock_udp_t *sock_udp_connect(char *address, int port) inet_pton(AF_INET6, address, &(new->sockAddr6.sin6_addr)); } #endif - if (domain) - free (domain); + if (domain) { + free(domain); + } return new; } int sock_udp_set_non_block(sock_udp_t *p) { - /* Set to nonblocking socket mode */ + /* set to nonblocking socket mode */ #ifndef __WIN32__ int oldFlag; @@ -183,7 +183,7 @@ int sock_udp_set_non_block(sock_udp_t *p) } #else unsigned long arg = 1; - // Operation is FIONBIO. Parameter is pointer on non-zero number. + /* operation is FIONBIO; parameter is a pointer on non-zero number */ if (ioctlsocket(p->sock, FIONBIO, &arg) == SOCKET_ERROR) { WSACleanup(); return -1; @@ -195,7 +195,7 @@ int sock_udp_set_non_block(sock_udp_t *p) int sock_udp_read(sock_udp_t *src, sock_udp_t *dst, void *address, int len) { int addrlen; - int size = -1; // no warninng + int size = -1; /* no warnings */ assert(src != NULL); assert(dst != NULL); @@ -205,23 +205,16 @@ int sock_udp_read(sock_udp_t *src, sock_udp_t *dst, void *address, int len) addrlen = sizeof(src->sockAddr); #ifndef __WIN32 - size = recvfrom(src->sock, address, len, 0, - (struct sockaddr *) &dst->sockAddr, - (socklen_t *) & addrlen); + size = recvfrom(src->sock, address, len, 0, (struct sockaddr *) &dst->sockAddr, (socklen_t *) &addrlen); #else - size = - recvfrom(src->sock, address, len, 0, - (struct sockaddr *) &dst->sockAddr, (int *) &addrlen); + size = recvfrom(src->sock, address, len, 0, (struct sockaddr *) &dst->sockAddr, (int *) &addrlen); #endif } - #ifdef SUPPORT_IPv6 if (src->proto == PROTO_UDPv6) { addrlen = sizeof(src->sockAddr6); - size = recvfrom(src->sock, address, len, 0, - (struct sockaddr *) &dst->sockAddr6, - (socklen_t *) & addrlen); + size = recvfrom(src->sock, address, len, 0, (struct sockaddr *) &dst->sockAddr6, (socklen_t *) &addrlen); } #endif @@ -233,8 +226,7 @@ int sock_udp_read(sock_udp_t *src, sock_udp_t *dst, void *address, int len) sock_udp_get_ip(dst, str_ip, STR_IP_SIZE); - fprintf(stderr, _("Unable to read form socket %d %s %d!\n"), size, - str_ip, sock_udp_get_port(dst)); + fprintf(stderr, _("[Error] Unable to read from UDP socket [%s]:%d (read %d bytes)\n"), str_ip, sock_udp_get_port(dst), size); #ifdef __WIN32__ WSACleanup(); @@ -248,7 +240,7 @@ int sock_udp_read(sock_udp_t *src, sock_udp_t *dst, void *address, int len) int sock_udp_write(sock_udp_t *src, sock_udp_t *dst, void *address, int len) { int addrlen; - int size = -1; // no warninng + int size = -1; /* no warnings */ assert(src != NULL); assert(dst != NULL); @@ -257,15 +249,13 @@ int sock_udp_write(sock_udp_t *src, sock_udp_t *dst, void *address, int len) if (src->proto == PROTO_UDPv4) { addrlen = sizeof(src->sockAddr); - size = sendto(src->sock, address, len, 0, - (struct sockaddr *) &dst->sockAddr, addrlen); + size = sendto(src->sock, address, len, 0, (struct sockaddr *) &dst->sockAddr, addrlen); } #ifdef SUPPORT_IPv6 if (src->proto == PROTO_UDPv6) { addrlen = sizeof(src->sockAddr6); - size = sendto(src->sock, address, len, 0, - (struct sockaddr *) &dst->sockAddr6, addrlen); + size = sendto(src->sock, address, len, 0, (struct sockaddr *) &dst->sockAddr6, addrlen); } #endif @@ -274,10 +264,8 @@ int sock_udp_write(sock_udp_t *src, sock_udp_t *dst, void *address, int len) sock_udp_get_ip(dst, str_ip, STR_IP_SIZE); - fprintf(stderr, _("Unable to write on socket %d %s %d %d!\n"), size, - str_ip, sock_udp_get_port(dst), dst->proto); + fprintf(stderr, _("[Error] Unable to write to socket [%s]:%d with protocol %d (written %d bytes)\n"), str_ip, sock_udp_get_port(dst), dst->proto, size); - //assert(0); #ifdef __WIN32__ WSACleanup(); #endif @@ -298,7 +286,6 @@ void sock_udp_get_ip(sock_udp_t *p, char *str_ip, int len) inet_ntop(AF_INET, &(p->sockAddr.sin_addr), str_ip, len); #else strcpy(str_ip, inet_ntoa(p->sockAddr.sin_addr)); - //printf("strcpy(str_ip, inet_ntoa(p->sockAddr.sin_addr));\n"); #endif } #ifdef SUPPORT_IPv6 @@ -321,12 +308,11 @@ int sock_udp_get_port(sock_udp_t *p) } #endif - assert(!_("Bad IP proto!")); + assert(!_("[Error] Bad IP protocol")); return -1; } - void sock_udp_close(sock_udp_t *p) { assert(p != NULL); @@ -335,79 +321,7 @@ void sock_udp_close(sock_udp_t *p) close(p->sock); #else closesocket(p->sock); - //WSACleanup(); //kdyz ukoncime socket dobre neni treba cleanup + /*WSACleanup(); -- when the socket is closed correctly, it is not needed to do a cleanup */ #endif sock_udp_destroy(p); } - -#if 0 - -static int myWait(sock_udp_t *p) -{ - fd_set readfds; - fd_set errorfds; - struct timeval tv; - int max_fd; - - tv.tv_sec = 1; - tv.tv_usec = 0; - - FD_ZERO(&readfds); - FD_ZERO(&errorfds); - max_fd = p->sock; - - FD_SET(p->sock, &readfds); - FD_SET(p->sock, &errorfds); - - select(max_fd + 1, &readfds, (fd_set *) 0, &errorfds, &tv); - - if (FD_ISSET(p->sock, &readfds)) { - FD_CLR(p->sock, &readfds); - return 1; - } - - return 0; -} - -int main(int argc, char *argv[]) -{ - sock_udp_t *sock; - char buf[BUFSIZE]; - int ret; - - if (strcmp(argv[1], "s") == 0) { - sock_udp_t *cli; - - //sock = sock_udp_bind("::1", atoi(argv[2]), PROTO_UDPv6 ); - sock = sock_udp_bind("127.0.0.1", atoi(argv[2]), PROTO_UDPv4); - - //cli = sock_udp_new(PROTO_UDPv6); - cli = sock_udp_new(PROTO_UDPv4); - - while (1) { - while (myWait(sock) == 0); - - memset(buf, 0, BUFSIZE); - ret = sock_udp_read(sock, cli, buf, BUFSIZE); - sock_udp_write(sock, cli, buf, ret); - } - } - - if (strcmp(argv[1], "c") == 0) { - //sock = sock_udp_connect("::1", atoi(argv[2]), PROTO_UDPv6); - sock = sock_udp_connect("127.0.0.1", atoi(argv[2]), PROTO_UDPv4); - - strcpy(buf, "Hello world !\n"); - sock_udp_write(sock, sock, buf, strlen(buf)); - - memset(buf, 0, BUFSIZE); - sock_udp_read(sock, sock, buf, BUFSIZE); - - printf("buf = %s", buf); - //while(1)sleep(1); - sock_udp_close(sock); - } - - return 0; -} -#endif diff --git a/src/net/udp.h b/src/net/udp.h index 7a5337a..c26db69 100644 --- a/src/net/udp.h +++ b/src/net/udp.h @@ -1,39 +1,36 @@ +#ifndef MY_UDP_H +#define MY_UDP_H -#ifndef MY_UDP - -# ifndef __WIN32__ -# include <netinet/in.h> -# else -# include <windows.h> -# include <wininet.h> -# endif - -# define MY_UDP +#ifndef __WIN32__ +#include <netinet/in.h> +#else +#include <windows.h> +#include <wininet.h> +#endif typedef struct struct_sock_udp_t { -# ifndef __WIN32__ +#ifndef __WIN32__ int sock; -# else +#else SOCKET sock; -# endif +#endif int proto; -# ifdef SUPPORT_IPv6 +#ifdef SUPPORT_IPv6 struct sockaddr_in6 sockAddr6; -# endif +#endif struct sockaddr_in sockAddr; } sock_udp_t; extern sock_udp_t *sock_udp_new(void); -extern void sock_udp_destroy(sock_udp_t * p); +extern void sock_udp_destroy(sock_udp_t *p); extern sock_udp_t *sock_udp_bind(char *address, int port); extern sock_udp_t *sock_udp_connect(char *address, int port); -extern int sock_udp_set_non_block(sock_udp_t * p); -extern int sock_udp_read(sock_udp_t * src, sock_udp_t * dst, void *address, - int len); -extern int sock_udp_write(sock_udp_t * src, sock_udp_t * dst, void *address, - int len); -extern void sock_udp_get_ip(sock_udp_t * p, char *str_ip, int len); -extern int sock_udp_get_port(sock_udp_t * p); -extern void sock_udp_close(sock_udp_t * p); -#endif +extern int sock_udp_set_non_block(sock_udp_t *p); +extern int sock_udp_read(sock_udp_t *src, sock_udp_t *dst, void *address, int len); +extern int sock_udp_write(sock_udp_t *src, sock_udp_t *dst, void *address, int len); +extern void sock_udp_get_ip(sock_udp_t *p, char *str_ip, int len); +extern int sock_udp_get_port(sock_udp_t *p); +extern void sock_udp_close(sock_udp_t *p); + +#endif /* MY_UDP_H */ |