diff options
author | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-03-14 18:01:08 +0000 |
---|---|---|
committer | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-03-14 18:01:08 +0000 |
commit | dcfcd9302fe67bfe1aeb67db4203867d173d3073 (patch) | |
tree | 8220b8762f7eeedad32da4325be023a1fafd9c54 /include | |
parent | 8c95c8f4904d3c1fd5e173f1d52356c921faf83d (diff) |
BUILD : 1.7.8 (619) BUGS : NOTES : Fixed the recording of server sync state more reliable, which fixes a bug where servers which did not report bursts would always remain in burst-mode internally
git-svn-id: svn://svn.anope.org/anope/trunk@619 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@467 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'include')
-rw-r--r-- | include/extern.h | 2 | ||||
-rw-r--r-- | include/services.h | 23 |
2 files changed, 17 insertions, 8 deletions
diff --git a/include/extern.h b/include/extern.h index 1ddf6ecf6..1f2928c88 100644 --- a/include/extern.h +++ b/include/extern.h @@ -808,12 +808,14 @@ E void notice_help(char *source, User *dest, int message, ...); E Server *servlist; E Server *me_server; +E Server *serv_uplink; E uint32 uplink_capab; E Server *first_server(int flags); E Server *next_server(int flags); E int is_ulined(char *server); +E int is_sync(Server *server); E Server *new_server(Server * uplink, const char *name, const char *desc, uint16 flags, char *suid); diff --git a/include/services.h b/include/services.h index 51b9d3075..09a2682ca 100644 --- a/include/services.h +++ b/include/services.h @@ -335,6 +335,7 @@ struct ircdvars_ { int supporthelper; /* +h helper umodes */ int p10; /* ircd is P10 */ char *nickchars; /* character set */ + int sync; /* reports sync state */ }; struct ircdcapab_ { @@ -750,17 +751,23 @@ struct csmodeutil_ { /* Server data */ +typedef enum { + SSYNC_UNKNOWN = 0, /* We can't get the sync state */ + SSYNC_IN_PROGRESS = 1, /* Sync is currently in progress */ + SSYNC_DONE = 2 /* We're in sync */ +} SyncState; + struct server_ { Server *next, *prev; - char *name; /* Server name */ - uint16 hops; /* Hops between services and server */ - char *desc; /* Server description */ - uint16 flags; /* Some info flags, as defined below */ - char *suid; /* Server Univeral ID */ - int sync; /* Whether is synced or not */ - - Server *links; /* Linked list head for linked servers */ + char *name; /* Server name */ + uint16 hops; /* Hops between services and server */ + char *desc; /* Server description */ + uint16 flags; /* Some info flags, as defined below */ + char *suid; /* Server Univeral ID */ + SyncState sync; /* Server sync state (see above) */ + + Server *links; /* Linked list head for linked servers */ Server *uplink; /* Server which pretends to be the uplink */ }; |