windows-linked-cells-20081103
[openafs.git] / src / WINNT / afsd / cm_cell.h
index 2471ea2..56fcfdc 100644 (file)
@@ -21,15 +21,17 @@ typedef struct cm_cell {
     struct cm_cell *allNextp;          /* locked by cm_cellLock */
     struct cm_cell *nameNextp;         /* locked by cm_cellLock */
     struct cm_cell *idNextp;           /* locked by cm_cellLock */
+    struct cm_cell *freeNextp;
     char name[CELL_MAXNAMELEN];         /* cell name; never changes */
     cm_serverRef_t *vlServersp;         /* locked by cm_serverLock */
     osi_mutex_t mx;                    /* mutex locking fields (flags) */
     long flags;                                /* locked by mx */
-    time_t timeout;                     /* if dns, time at which the server addrs expire */
+    time_t timeout;                     /* if dns, time at which the server addrs expire (mx) */
+    char linkedName[CELL_MAXNAMELEN];   /* linked cell name; cm_cellLock */
 } cm_cell_t;
 
 /* These are bit flag values */
-#define CM_CELLFLAG_SUID              1        /* setuid flag; not yet used */
+#define CM_CELLFLAG_SUID              1  /* setuid flag; not yet used */
 #define CM_CELLFLAG_DNS                2  /* cell servers are from DNS */
 #define CM_CELLFLAG_VLSERVER_INVALID   4  /* cell servers are invalid */
 #define CM_CELLFLAG_FREELANCE          8  /* local freelance fake cell */
@@ -72,4 +74,6 @@ extern void cm_AddCellToIDHashTable(cm_cell_t * cellp);
 
 extern long cm_AddCellProc(void *rockp, struct sockaddr_in *addrp, char *namep);
 
+extern cm_cell_t *cm_UpdateCell(cm_cell_t * cp, afs_uint32 flags);
+
 #endif /* __CELL_H_ENV_ */