windows-addr-change-mods-20060509
[openafs.git] / src / WINNT / afsd / cm_server.h
index e6b0952..9182a2a 100644 (file)
@@ -24,12 +24,14 @@ typedef struct cm_server {
     struct cm_server *allNextp;                /* locked by cm_serverLock */
     struct sockaddr_in addr;           /* by mx */
     int type;                          /* by mx */
-    struct cm_conn *connsp;                    /* locked by cm_connLock */
-    long flags;                                /* by mx */
-    struct cm_cell *cellp;                     /* cell containing this server */
-    unsigned long refCount;                            /* locked by cm_serverLock */
+    struct cm_conn *connsp;            /* locked by cm_connLock */
+    afs_int32 flags;                   /* by mx */
+    afs_int32 waitCount;               /* by mx */
+    afs_int32 capabilities;            /* by mx */
+    struct cm_cell *cellp;             /* cell containing this server */
+    unsigned long refCount;            /* locked by cm_serverLock */
     osi_mutex_t mx;
-    unsigned short ipRank;                     /* server priority */
+    unsigned short ipRank;             /* server priority */
 } cm_server_t;
 
 enum repstate {not_busy, busy, offline};
@@ -38,7 +40,7 @@ typedef struct cm_serverRef {
     struct cm_serverRef *next;      /* locked by cm_serverLock */
     struct cm_server *server;       /* locked by cm_serverLock */
     enum repstate status;           /* locked by cm_serverLock */
-    unsigned long refCount;                   /* locked by cm_serverLock */
+    unsigned long refCount;         /* locked by cm_serverLock */
 } cm_serverRef_t;
 
 /* types */
@@ -47,6 +49,8 @@ typedef struct cm_serverRef {
 
 /* flags */
 #define CM_SERVERFLAG_DOWN     1       /* server is down */
+#define CM_SERVERFLAG_PREF_SET 2       /* server preference set by user */
+#define CM_SERVERFLAG_PINGING  4       /* a ping against this server in progress */
 
 /* flags for procedures */
 #define CM_FLAG_CHECKUPSERVERS         1       /* check working servers */
@@ -99,4 +103,6 @@ extern void cm_FreeServer(cm_server_t* server);
 
 extern void cm_FreeServerList(cm_serverRef_t** list);
 
+extern void cm_ForceNewConnectionsAllServers(void);
+
 #endif /*  __CM_SERVER_H_ENV__ */