OpenAFS
OpenAFS distributed network file system
/cygdrive/c/src/openafs/openafs.git/repo/src/WINNT/afsd/cm_config.h
00001 /*
00002  * Copyright 2000, International Business Machines Corporation and others.
00003  * All Rights Reserved.
00004  *
00005  * This software has been released under the terms of the IBM Public
00006  * License.  For details, see the LICENSE file in the top-level source
00007  * directory or online at http://www.openafs.org/dl/license10.html
00008  */
00009 
00010 #ifndef OPENAFS_WINNT_AFSD_CONFIG_H
00011 #define OPENAFS_WINNT_AFSD_CONFIG_H 1
00012 
00013 #define CM_CONFIGDEFAULT_CACHESIZE      98304
00014 #define CM_CONFIGDEFAULT_BLOCKSIZE      4096
00015 #define CM_CONFIGDEFAULT_ASYNCSTORESIZE 131072  /* 128K */
00016 #define CM_CONFIGDEFAULT_CELLS          1024
00017 #define CM_CONFIGDEFAULT_STATS          10000
00018 #define CM_CONFIGDEFAULT_CHUNKSIZE      18      /* 256KB */
00019 #define CM_CONFIGDEFAULT_DAEMONS        16
00020 #define CM_CONFIGDEFAULT_SVTHREADS      25
00021 #define CM_CONFIGDEFAULT_TRACEBUFSIZE   10000
00022 
00023 #ifndef __CM_CONFIG_INTERFACES_ONLY__
00024 
00025 #include <stdio.h>
00026 
00027 typedef FILE cm_configFile_t;
00028 
00029 typedef long (cm_configProc_t)(void *rockp, struct sockaddr_in *addrp, char *namep, unsigned short);
00030 
00031 typedef long (cm_enumCellProc_t)(void *rockp, char *cellNamep);
00032 
00033 extern long cm_GetRootCellName(char *namep);
00034 
00035 extern long cm_SearchCellFile(char *cellNamep, char *newCellNamep,
00036                               cm_configProc_t *procp, void *rockp);
00037 
00038 extern long cm_SearchCellFileEx(char *cellNamep, char *newCellNamep,
00039                                 char *linkedNamep,
00040                                 cm_configProc_t *procp, void *rockp);
00041 
00042 extern long cm_EnumerateCellFile(afs_uint32 client,
00043                                  cm_enumCellProc_t *procp,
00044                                  void *rockp);
00045 
00046 extern long cm_SearchCellRegistry(afs_uint32 client,
00047                                   char *cellNamep, char *newCellNamep,
00048                                   char *linkedNamep,
00049                                   cm_configProc_t *procp, void *rockp);
00050 
00051 extern long cm_EnumerateCellRegistry(afs_uint32 client,
00052                                      cm_enumCellProc_t *procp,
00053                                      void *rockp);
00054 
00055 extern long cm_SearchCellByDNS(char *cellNamep, char *newCellNamep, int *ttl,
00056                                cm_configProc_t *procp, void *rockp);
00057 
00058 extern long cm_WriteConfigString(char *labelp, char *valuep);
00059 
00060 extern long cm_WriteConfigInt(char *labelp, long value);
00061 
00062 extern cm_configFile_t *cm_OpenCellFile(void);
00063 
00064 extern long cm_AppendPrunedCellList(cm_configFile_t *filep, char *cellNamep);
00065 
00066 extern long cm_AppendNewCell(cm_configFile_t *filep, char *cellNamep);
00067 
00068 extern long cm_AppendNewCellLine(cm_configFile_t *filep, char *linep);
00069 
00070 extern long cm_CloseCellFile(cm_configFile_t *filep);
00071 
00072 extern long cm_AddCellToRegistry( char * cellname,
00073                                   char * linked_cellname,
00074                                   unsigned short vlport,
00075                                   afs_uint32 host_count,
00076                                   char *hostname[],
00077                                   afs_uint32 flags);
00078 
00079 extern long cm_GetCellServDB(char *cellNamep, afs_uint32 len);
00080 
00081 extern void cm_GetConfigDir(char *dir, afs_uint32 len);
00082 
00083 /* TODO: these should be pulled in from dirpath.h */
00084 #define AFS_THISCELL "ThisCell"
00085 #define AFS_CELLSERVDB_UNIX "CellServDB"
00086 #define AFS_CELLSERVDB AFS_CELLSERVDB_UNIX
00087 
00088 #endif /* __CM_CONFIG_INTERFACES_ONLY__ */
00089 
00090 #endif /* OPENAFS_WINNT_AFSD_CONFIG_H */
 All Data Structures Files Functions Variables