#define CM_CONFIGDEFAULT_CACHESIZE 98304
#define CM_CONFIGDEFAULT_BLOCKSIZE 4096
+#define CM_CONFIGDEFAULT_ASYNCSTORESIZE 131072 /* 128K */
+#define CM_CONFIGDEFAULT_CELLS 1024
#define CM_CONFIGDEFAULT_STATS 10000
#define CM_CONFIGDEFAULT_CHUNKSIZE 18 /* 256KB */
-#define CM_CONFIGDEFAULT_DAEMONS 2
+#define CM_CONFIGDEFAULT_DAEMONS 4
#define CM_CONFIGDEFAULT_SVTHREADS 25
-#define CM_CONFIGDEFAULT_TRACEBUFSIZE 5000
+#define CM_CONFIGDEFAULT_TRACEBUFSIZE 10000
#ifndef __CM_CONFIG_INTERFACES_ONLY__
typedef FILE cm_configFile_t;
-typedef long (cm_configProc_t)(void *rockp, struct sockaddr_in *addrp, char *namep);
+typedef long (cm_configProc_t)(void *rockp, struct sockaddr_in *addrp, char *namep, unsigned short);
+
+typedef long (cm_enumCellProc_t)(void *rockp, char *cellNamep);
extern long cm_GetRootCellName(char *namep);
extern long cm_SearchCellFile(char *cellNamep, char *newCellNamep,
- cm_configProc_t *procp, void *rockp);
+ cm_configProc_t *procp, void *rockp);
+
+extern long cm_SearchCellFileEx(char *cellNamep, char *newCellNamep,
+ char *linkedNamep,
+ cm_configProc_t *procp, void *rockp);
+
+extern long cm_EnumerateCellFile(afs_uint32 client,
+ cm_enumCellProc_t *procp,
+ void *rockp);
+
+extern long cm_SearchCellRegistry(afs_uint32 client,
+ char *cellNamep, char *newCellNamep,
+ char *linkedNamep,
+ cm_configProc_t *procp, void *rockp);
+
+extern long cm_EnumerateCellRegistry(afs_uint32 client,
+ cm_enumCellProc_t *procp,
+ void *rockp);
extern long cm_SearchCellByDNS(char *cellNamep, char *newCellNamep, int *ttl,
- cm_configProc_t *procp, void *rockp);
+ cm_configProc_t *procp, void *rockp);
extern long cm_WriteConfigString(char *labelp, char *valuep);
extern long cm_CloseCellFile(cm_configFile_t *filep);
-extern long cm_GetCellServDB(char *cellNamep);
+extern long cm_AddCellToRegistry( char * cellname,
+ char * linked_cellname,
+ unsigned short vlport,
+ afs_uint32 host_count,
+ char *hostname[],
+ afs_uint32 flags);
+
+extern long cm_GetCellServDB(char *cellNamep, afs_uint32 len);
+
+extern void cm_GetConfigDir(char *dir, afs_uint32 len);
-extern void cm_GetConfigDir(char *dir);
+/* TODO: these should be pulled in from dirpath.h */
+#define AFS_THISCELL "ThisCell"
+#define AFS_CELLSERVDB_UNIX "CellServDB"
+#define AFS_CELLSERVDB AFS_CELLSERVDB_UNIX
#endif /* __CM_CONFIG_INTERFACES_ONLY__ */