ekg/srv.c File Reference

#include "ekg2-config.h"
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <unistd.h>
#include "dynstuff.h"
#include "xmalloc.h"
#include "srv.h"

Data Structures

union  unaligned_32
union  unaligned_16
struct  _gim_host

Defines

#define __USE_BSD
#define _GNU_SOURCE
#define T_SRV   33
#define cli_readint16(buff)   (((const union unaligned_16 *)(buff))->una_u16)
#define cli_readint32(buff)   (((const union unaligned_32 *)(buff))->una_u32)
#define MAXDNAME   NS_MAXDNAME

Functions

int gim_host_cmp (gim_host *data1, gim_host *data2)
char * ekg_inet_ntostr (int family, void *buf)
int srv_resolver (gim_host **hostlist, const char *hostname, const int proto_port, const int port, const int proto)
static int basic_resolver_item (gim_host *srv)
int resolve_missing_entries (gim_host **hostlist)
int basic_resolver (gim_host **hostlist, const char *hostname, int port)
void write_out_and_destroy_list (int fd, gim_host *hostlist)

Variables

unaligned_32 packed
unaligned_16 packed
const int DNS_NS_MAXDNAME = MAXDNAME

Define Documentation

#define __USE_BSD

#define _GNU_SOURCE

#define cli_readint16 ( buff   )     (((const union unaligned_16 *)(buff))->una_u16)

#define cli_readint32 ( buff   )     (((const union unaligned_32 *)(buff))->una_u32)

#define MAXDNAME   NS_MAXDNAME

#define T_SRV   33


Function Documentation

int basic_resolver ( gim_host **  hostlist,
const char *  hostname,
int  port 
)

this is exactly irc_resolver2, but instead of array it appends entries to hostlist

static int basic_resolver_item ( gim_host srv  )  [static]

this is mostly copy of basic_resolver below it's for internal use only, for resolving missing items on the list

char* ekg_inet_ntostr ( int  family,
void *  buf 
)

ekg_inet_ntostr - convert sockaddr_in to string representing ip address

since srv_resolver uses this function and we can't place srv_resolver in net.c (due to conflict in resolv.h) for a while this function must sit here.

int gim_host_cmp ( gim_host data1,
gim_host data2 
)

int resolve_missing_entries ( gim_host **  hostlist  ) 

int srv_resolver ( gim_host **  hostlist,
const char *  hostname,
const int  proto_port,
const int  port,
const int  proto 
)

void write_out_and_destroy_list ( int  fd,
gim_host hostlist 
)


Variable Documentation

const int DNS_NS_MAXDNAME = MAXDNAME

union unaligned_16 packed

union unaligned_32 packed


Generated on Sat Nov 22 22:30:44 2008 for ekg2 by  doxygen 1.5.1