summaryrefslogtreecommitdiff
path: root/include/services.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/services.h')
-rw-r--r--include/services.h23
1 files changed, 15 insertions, 8 deletions
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 */
};