int main(void)
{
	int sfd, bytes, ret;
	char src_host[128], src_service[7], buf[16];

	src_host[127] = 0;
	src_service[6] = 0;

	sfd = create_inet_server_socket("0.0.0.0","1234",UDP,IPv4,0);

	if ( -1 == sfd )
	{
		perror("couldn't create server\n");
		exit(1);
	}

	printf("Socket up and running\n");

	while ( 1 )
	{
		memset(buf,0,16);
		ret = bytes = recvfrom_inet_dgram_socket(sfd,buf,15,src_host,127,src_service,6,0,NUMERIC);

		if ( ret < 0 )
		{
			perror(0);
			exit(1);
		}

		ret = sendto_inet_dgram_socket(sfd,buf,bytes,src_host,src_service,0);

		if ( ret < 0 )
		{
			perror(0);
			exit(1);
		}

		printf("Connection from %s port %s: %s (%i)\n",src_host,src_service,buf,bytes);
		printf("Connection processed\n");
	}

	ret = destroy_inet_socket(sfd);

	if ( ret < 0 )
	{
		perror(0);
		exit(1);
	}

	return 0;
}
int main(void)
{
    int cfd, sfd, ret;
    char* buf = calloc(16,1);

    ret = sfd = create_inet_server_socket("::","55555",LIBSOCKET_TCP,LIBSOCKET_IPv6,0);

    if ( ret < 0 )
    {
	perror(0);
	exit(1);
    }

    ret = cfd = accept_inet_stream_socket(sfd,0,0,0,0,0,0);

    if ( ret < 0 )
    {
	perror(0);
	exit(1);
    }

    ret = read(cfd,buf,15);

    if ( ret < 0 )
    {
	perror(0);
	exit(1);
    }

    printf("%s\n",buf);

    ret = destroy_inet_socket(sfd);

    if ( ret < 0 )
    {
	perror(0);
	exit(1);
    }

    return 0;
}
int main(void)
{
	int sfd, ret;
	char buf[16];

	memset(buf,0,16);

	ret = sfd = create_inet_dgram_socket(IPv4,0);

	if ( ret < 0 )
	{
		perror(0);
		exit(1);
	}

	ret = connect_inet_dgram_socket(sfd,"localhost","1234");

	if ( ret < 0 )
	{
		perror(0);
		exit(1);
	}

	ret = write(sfd,"abcde",5);

	if ( ret < 0 )
	{
		perror(0);
		exit(1);
	}

	sleep(2);

	//read(sfd,buf,5);
	// We may use the recvfrom/sendto routines also on connected sockets
	ret = recvfrom_inet_dgram_socket(sfd,buf,16,0,0,0,0,0,0);

	if ( ret < 0 )
	{
		perror(0);
		exit(1);
	}

	ret = write(1,buf,5);

	if ( ret < 0 )
	{
		perror(0);
		exit(1);
	}

	ret = destroy_inet_socket(sfd);

	if ( ret < 0 )
	{
		perror(0);
		exit(1);
	}

	return 0;
}