summaryrefslogtreecommitdiff
path: root/src/udp.c
diff options
context:
space:
mode:
authororoborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-03-14 19:31:47 +0000
committeroroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-03-14 19:31:47 +0000
commit593ac1e25c2053f06cb1b7e29785a695d3c57ad3 (patch)
tree15f6bb50abedc884122d40b98349e35d702b7729 /src/udp.c
parenta4e34c257a4f5966ce699f48d30b3528bdaa45e4 (diff)
- podpora UDP
git-svn-id: http://opensvn.csie.org/tuxanci_ng@15 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/udp.c')
-rw-r--r--src/udp.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/udp.c b/src/udp.c
index 72a7448..0f86dc6 100644
--- a/src/udp.c
+++ b/src/udp.c
@@ -8,6 +8,7 @@
#include <string.h>
#include <stdio.h>
#include <netdb.h>
+#include <assert.h>
#define BUFSIZE 1000
@@ -29,6 +30,7 @@ sock_udp_t* newSockUdp()
void destroySockUdp(sock_udp_t *p)
{
+ assert( p != NULL );
free(p);
}
@@ -36,8 +38,12 @@ sock_udp_t* bindUdpSocket(int port)
{
sock_udp_t *new;
+ assert( port > 0 && port < 65535 );
+
new = newSockUdp();
+ assert( new != NULL );
+
if( ( new->sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) ) < 0 )
{
fprintf(stderr, "nemozem obsadit sokcet !\n");
@@ -65,8 +71,13 @@ sock_udp_t* connectUdpSocket(char *address, int port)
struct hostent *host;
sock_udp_t *new;
+ assert( address != NULL );
+ assert( port > 0 && port < 65536 );
+
new = newSockUdp();
+ assert( new != NULL );
+
if( ( new->sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) ) < 0 )
{
fprintf(stderr, "nemozem sa pripojit na sokcet !\n");
@@ -87,6 +98,10 @@ int readUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len)
int addrlen;
int size;
+ assert( src != NULL );
+ assert( dst != NULL );
+ assert( address != NULL );
+
addrlen = sizeof(src->sockAddr);
if( ( size = recvfrom(src->sock, address, len, 0,
@@ -106,7 +121,11 @@ int writeUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len)
addrlen = sizeof(src->sockAddr);
- if( ( size = sendto(src->sock, address, len, 0,
+ assert( src != NULL );
+ assert( dst != NULL );
+ assert( address != NULL );
+
+ if( ( size = sendto(src->sock, address, len, 0,
(struct sockaddr *)&dst->sockAddr, (socklen_t)addrlen) ) < 0 )
{
fprintf(stderr, "nemozem nacitat sokcet !\n");
@@ -118,11 +137,16 @@ int writeUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len)
void getSockUdpIp(sock_udp_t *p, char *str_ip)
{
+ assert( p != NULL );
+ assert( str_ip != NULL );
+
strcpy(str_ip, inet_ntoa(p->sockAddr.sin_addr));
}
void closeUdpSocket(sock_udp_t *p)
{
+ assert( p != NULL );
+
close(p->sock);
destroySockUdp(p);
}