/** * uplink.h: Data structures related to our uplink. Modules usually don't need this. * * Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team * Rights to this code are as documented in COPYING. * * * Portions of this file were derived from sources bearing the following license: * Copyright © 2005 William Pitcock, et al. * Rights to this code are as documented in doc/pod/license.pod. * * $Id: uplink.h,v 1.5 2007/09/22 14:27:26 pippijn Exp $ */ #ifndef _UPLINK_H #define _UPLINK_H #include struct uplink_t : zero_initialised { unsigned index; typedef indexing_vector list_type; char *name; char *host; char *pass; char *vhost; unsigned int port; connection_t *conn; unsigned int flags; }; #define UPF_ILLEGAL 0x80000000 /* not in conf anymore, delete when disconnected */ /* uplink.c */ E uplink_t::list_type uplinks; E uplink_t *curr_uplink; E void init_uplinks (void); E uplink_t *uplink_add (char *name, char *host, char *password, char *vhost, int port); E void uplink_delete (uplink_t *u); E uplink_t *uplink_find (char *name); E void uplink_connect (void); E void uplink_cleanup (); /* packet.c */ /* bursting timer */ #if HAVE_GETTIMEOFDAY E struct timeval burstime; #endif E void init_ircpacket (void); /* parse.c */ E void (*parse) (char *line); E void irc_parse (char *line); E void p10_parse (char *line); /* send.c */ E int sts (char const * const fmt, ...); E void reconn (void *arg); E void io_loop (void); #endif