summaryrefslogtreecommitdiff
path: root/server/zserver.h
diff options
context:
space:
mode:
authorGravatar Derrick Brashear <shadow@dementix.org>2003-03-28 02:02:37 -0500
committerGravatar Jeffrey Hutzelman <jhutz@cmu.edu>2013-02-17 22:34:39 -0500
commit15597e86aff0e11dc3256a61f9a05961f794857f (patch)
tree99b465a693a7afbec5f86543ad98b25822326cb2 /server/zserver.h
parent1076f98863a6a5c740dc9f6554c11fc9c75b0899 (diff)
Underpinnings for realm.list enhancements
Replace the per-realm array of servers with a per-realm array of struct _ZRealm_server, so that we can have additional information associated with each server. Additionally, introduce the concept that not every server in a realm's list is necessarily a suitable place to send notices. This means that when selecting a server, we may need to skip ineligible entries.
Diffstat (limited to 'server/zserver.h')
-rw-r--r--server/zserver.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/server/zserver.h b/server/zserver.h
index cb36749..90304db 100644
--- a/server/zserver.h
+++ b/server/zserver.h
@@ -90,6 +90,7 @@ typedef struct _Destlist Destlist;
typedef struct _ZRealm ZRealm;
typedef struct _ZRealmname ZRealmname;
typedef enum _ZRealm_state ZRealm_state;
+typedef struct _ZRealm_server ZRealm_server;
typedef struct _Client Client;
typedef struct _Triplet Triplet;
typedef enum _Server_state Server_state;
@@ -110,10 +111,14 @@ struct _Destlist {
struct _Destlist *next, **prev_p;
};
+struct _ZRealm_server {
+ struct sockaddr_in addr; /* server's address */
+};
+
struct _ZRealm {
char name[REALM_SZ];
int count;
- struct sockaddr_in *addrs;
+ ZRealm_server *srvrs;
int idx; /* which server we are connected to */
Destlist *subs; /* what their clients sub to */
Destlist *remsubs; /* our subs on their end */