/* * addr_server.h -- definitions and prototypes for addr_server.c * 8-92 : Dwayne Fontenot : original coding. */ #ifndef ADDR_SERVER_H #define ADDR_SERVER_H #include "network_incl.h" #define DFAULT_PROTO 0 /* use the appropriate protocol */ #define MAX_CONNS 4 /* max number of connections */ #define SNAME_LEN 64 /* length of symbolic name string */ #define MAX_EVENTS_IN_QUEUE 100 #define MAX_EVENTS_TO_PROCESS 100 #define IN_BUF_SIZE 100 enum conn_states { CONN_CLOSED, CONN_OPEN }; enum ev_type { NEW_CONN, CONN }; enum msgtypes { NAMEBYIP = 0, IPBYNAME, DATALEN }; typedef struct conn *conn_ptr; typedef struct conn { int fd; /* file descriptor */ int state; /* connection state */ struct sockaddr_in addr; /* address struct for connected */ char sname[SNAME_LEN]; /* symbolic name of connected host */ int leftover; /* unprocessed bytes in data queue */ char buf[IN_BUF_SIZE]; } connection; typedef struct queue_elem *queue_element_ptr; typedef struct queue_elem { short event_type; /* event type */ int fd; /* file descriptor on which data is pending */ queue_element_ptr next; } queue_element; #endif /* _ADDR_SERVER_H_ */