summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorgeniusdex 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
committergeniusdex 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
commitdcfcd9302fe67bfe1aeb67db4203867d173d3073 (patch)
tree8220b8762f7eeedad32da4325be023a1fafd9c54 /include
parent8c95c8f4904d3c1fd5e173f1d52356c921faf83d (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.h2
-rw-r--r--include/services.h23
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 */
};