2003-01-26 20:15:03 +00:00
|
|
|
/*
|
|
|
|
|
|
|
|
$Log$
|
2003-01-26 23:53:03 +00:00
|
|
|
Revision 1.2 2003/01/26 23:52:59 brain
|
|
|
|
Modified documentation for base classes
|
|
|
|
Added base classes
|
|
|
|
|
2003-01-26 20:15:03 +00:00
|
|
|
Revision 1.1 2003/01/26 20:15:00 brain
|
|
|
|
Added server classes for linking
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "inspircd_config.h"
|
2003-01-26 23:53:03 +00:00
|
|
|
#include "connection.h"
|
2003-01-26 20:15:03 +00:00
|
|
|
#include <string>
|
2003-01-26 23:53:03 +00:00
|
|
|
#include <map.h>
|
2003-01-26 20:15:03 +00:00
|
|
|
|
|
|
|
#ifndef __SERVERS_H__
|
|
|
|
#define __SERVERS_H__
|
|
|
|
|
|
|
|
#define LINK_ACTIVE 1
|
|
|
|
#define LINK_INACTIVE 0
|
|
|
|
|
2003-01-26 23:53:03 +00:00
|
|
|
class serverrec : public connection
|
2003-01-26 20:15:03 +00:00
|
|
|
{
|
|
|
|
private:
|
2003-01-26 23:53:03 +00:00
|
|
|
map<string, serverrec*> leaf; // list of child servers (leaves)
|
2003-01-26 20:15:03 +00:00
|
|
|
public:
|
|
|
|
char name[MAXBUF]; // server name
|
|
|
|
int pingtime; // last ping response (ms)
|
|
|
|
int linktype; // link type, LINK_ACTIVE or LINK_INACTIVE
|
|
|
|
time_t lastping; // time the link was last pinged
|
|
|
|
long usercount_i; // invisible users on server
|
|
|
|
long usercount; // non-invisible users on server
|
|
|
|
long opercount; // opers on server
|
|
|
|
time_t connected_at; // time server was connected into the network
|
|
|
|
time_t hops_away; // number of hops away (for quick access)
|
|
|
|
long version; // ircd version
|
|
|
|
bool jupiter; // is a JUPE server (faked to enforce a server ban)
|
|
|
|
|
|
|
|
serverrec();
|
|
|
|
serverrec(char* n, int link_t, long ver, bool jupe);
|
2003-01-26 23:53:03 +00:00
|
|
|
~serverrec();
|
2003-01-26 20:15:03 +00:00
|
|
|
void AddLeaf(serverrec *child);
|
2003-01-26 23:53:03 +00:00
|
|
|
void DelLeaf(string n);
|
2003-01-26 20:15:03 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2003-01-26 23:53:03 +00:00
|
|
|
|
|
|
|
typedef map<string, serverrec*> server_list;
|
|
|
|
|
2003-01-26 20:15:03 +00:00
|
|
|
#endif
|
|
|
|
|