Change the meaning of the -fakestat switch to only enable fakestat
[openafs.git] / src / afs / afs_prototypes.h
index 5eab8c8..79ff4a1 100644 (file)
@@ -28,12 +28,12 @@ extern void afs_FreeAllAxs(struct axscache **headp);
 
 /* afs_buffer.c */
 extern void DInit (int abuffers);
-extern char *DRead(register ino_t *fid, register int page);
+extern char *DRead(register afs_inode_t *fid, register int page);
 extern void DRelease (register struct buffer *bp, int flag);
 extern int DVOffset (register void *ap);
-extern void DZap (ino_t *fid);
+extern void DZap (afs_inode_t *fid);
 extern void DFlush (void);
-extern char *DNew (register ino_t *fid, register int page);
+extern char *DNew (register afs_inode_t *fid, register int page);
 extern void shutdown_bufferpackage(void);
 
 /* afs_call.c */
@@ -152,28 +152,33 @@ extern void afs_InitCBQueue(int doLockInit);
 extern void afs_DequeueCallback(struct vcache *avc);
 
 /* afs_cell.c */
-extern struct afs_q CellLRU;
 extern afs_rwlock_t afs_xcell;
-extern afs_int32 afs_cellindex;
-extern afs_uint32 afs_nextCellNum;
-extern int afs_strcasecmp(register char *s1, register char *s2);
-extern afs_int32 afs_NewCell(char *acellName, register afs_int32 *acellHosts, int aflags, 
-        char *linkedcname, u_short fsport, u_short vlport, int timeout, char *aliasFor);
-extern struct cell *afs_GetCell(register afs_int32 acell, afs_int32 locktype);
-extern struct cell *afs_GetCellByIndex(register afs_int32 cellindex, 
-        afs_int32 locktype, afs_int32 refresh);
-extern struct cell *afs_FindCellByName(register char *acellName, afs_int32 locktype);
-extern struct cell *afs_GetCellByName_Dns(register char *acellName, afs_int32 locktype);
-extern struct cell *afs_GetCellByName(register char *acellName, afs_int32 locktype);
-extern struct cell *afs_GetCellNoLock(register afs_int32 acell, afs_int32 locktype);
-extern void afs_StopAfsdb(void);
-extern int afs_AfsdbHandler(char *acellName, int acellNameLen, afs_int32 *kernelMsg);
-extern int afs_GetCellHostsFromDns(char *acellName, afs_int32 *acellHosts, 
-        int *timeout, char **realName);
-extern void afs_RefreshCell(register struct cell *ac);
+extern void afs_CellInit(void);
+extern void shutdown_cell(void);
+extern int afs_cellname_init(ino_t inode, int lookupcode);
+extern int afs_cellname_write();
+extern afs_int32 afs_NewCell(char *acellName, afs_int32 *acellHosts,
+       int aflags, char *linkedcname, u_short fsport, u_short vlport,
+       int timeout);
+extern afs_int32 afs_SetPrimaryCell(char *acellName);
+extern struct cell *afs_GetCell(afs_int32 acell, afs_int32 locktype);
+extern struct cell *afs_GetCellStale(afs_int32 acell, afs_int32 locktype);
+extern struct cell *afs_GetCellByIndex(afs_int32 cellidx, afs_int32 locktype);
+extern struct cell *afs_GetCellByName(char *acellName, afs_int32 locktype);
+extern struct cell *afs_GetPrimaryCell(afs_int32 locktype);
+extern int afs_IsPrimaryCellNum(afs_int32 cellnum);
+extern int afs_IsPrimaryCell(struct cell *cell);
+extern void *afs_TraverseCells(void *(*cb)(struct cell *, void *), void *arg);
+extern int afs_CellOrAliasExists(char *aname);
+extern int afs_CellNumValid(afs_int32 cellnum);
+extern afs_int32 afs_NewCellAlias(char *alias, char *cell);
+extern struct cell_alias *afs_GetCellAlias(int index);
+extern int afs_AFSDBHandler(char *acellName, int acellNameLen,
+       afs_int32 *kernelMsg);
+extern void afs_LookupAFSDB(char *acellName);
+extern void afs_StopAFSDB(void);
 extern void afs_RemoveCellEntry(struct server *srvp);
 
-
 /* afs_chunk.c */
 extern afs_int32 afs_FirstCSize;
 extern afs_int32 afs_OtherCSize;
@@ -216,7 +221,7 @@ extern void afs_Daemon(void);
 extern struct brequest *afs_BQueue(register short aopcode, register struct vcache *avc, 
         afs_int32 dontwait, afs_int32 ause, struct AFS_UCRED *acred, 
         afs_size_t asparm0, afs_size_t asparm1, void *apparm0);
-extern int afs_CheckServerDaemon(void);
+extern void afs_CheckServerDaemon(void);
 extern int afs_CheckRootVolume (void);
 extern void afs_BRelease(register struct brequest *ab);
 extern int afs_BBusy(void);
@@ -273,15 +278,18 @@ extern int afs_InitCacheFile(char *afile, ino_t ainode);
 extern int afs_IsDynrootFid(struct VenusFid *fid);
 extern void afs_GetDynrootFid(struct VenusFid *fid);
 extern int afs_IsDynroot(struct vcache *avc);
-extern void afs_RefreshDynroot(void);
-extern void afs_GetDynroot(char **dynrootDir, int *dynrootLen, struct AFSFetchStatus *status);
+extern void afs_DynrootInvalidate(void);
+extern void afs_GetDynroot(char **dynrootDir, int *dynrootLen,
+       struct AFSFetchStatus *status);
 extern void afs_PutDynroot(void);
-extern int afs_DynrootNewVnode(struct vcache *avc, struct AFSFetchStatus *status);
+extern int afs_DynrootNewVnode(struct vcache *avc,
+       struct AFSFetchStatus *status);
 extern int afs_SetDynrootEnable(int enable);
 extern int afs_GetDynrootEnable(void);
-extern int afs_DynrootVOPRemove(struct vcache *avc, struct AFS_UCRED *acred, char *aname);
+extern int afs_DynrootVOPRemove(struct vcache *avc, struct AFS_UCRED *acred,
+       char *aname);
 extern int afs_DynrootVOPSymlink(struct vcache *avc, struct AFS_UCRED *acred, 
-        char *aname, char *atargetName);
+       char *aname, char *atargetName);
 
 /* afs_exporter.c */
 extern struct afs_exporter *root_exported;
@@ -366,12 +374,15 @@ extern struct afs_exporter *afs_nfsexported;
 extern struct afs_exporter *afs_nfsexporter;
 
 /* afs_osi.c */
+extern afs_lock_t afs_ftf;
 extern void afs_osi_Invisible(void);
 extern void afs_osi_RxkRegister(void);
 extern void afs_osi_MaskSignals(void);
 extern void afs_osi_UnmaskRxkSignals(void);
 extern void *afs_osi_Alloc(size_t x);
 extern void *afs_osi_Alloc_NoSleep(size_t x);
+extern void afs_osi_Free(void *x, size_t asize);
+extern void afs_osi_FreeStr(char *x);
 extern void osi_Init(void);
 extern int osi_Active(register struct vcache *avc);
 extern void osi_FlushPages(register struct vcache *avc, struct AFS_UCRED *credp);
@@ -399,10 +410,6 @@ extern afs_uint32 afs_get_pag_from_groups(gid_t g0a, gid_t g1a);
 extern void afs_get_groups_from_pag(afs_uint32 pag, gid_t *g0p, gid_t *g1p);
 extern afs_int32 PagInCred(const struct AFS_UCRED *cred);
 
-/* afs_osi.c */
-extern afs_lock_t afs_ftf;
-extern void afs_osi_Free(void *x, size_t asize);
-
 /* afs_osi_alloc.c */
 extern afs_int32 afs_preallocs;
 extern afs_lock_t osi_fsplock;
@@ -460,7 +467,7 @@ extern int afs_osi_SleepSig(void *event);
 
 /* ARCH/osi_file.c */
 extern int afs_osicred_initialized;
-#if defined(AFS_SUN57_64BIT_ENV)
+#if defined(AFS_SUN57_64BIT_ENV) || defined(AFS_SGI62_ENV)
 extern void *osi_UFSOpen(ino_t ainode);
 #else
 extern void *osi_UFSOpen(afs_int32 ainode);
@@ -484,7 +491,7 @@ extern void osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp);
 extern void osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred);
 extern void osi_VM_TryReclaim(struct vcache *avc, int *slept);
 extern void osi_VM_NukePages(struct vnode *vp, off_t offset, off_t size);
-extern int osi_VM_Setup(struct vcache *avc);
+extern int osi_VM_Setup(struct vcache *avc, int force);
 
 #ifdef AFS_SUN5_ENV
 extern int osi_VM_GetDownD(struct vcache *avc, struct dcache *adc);
@@ -494,14 +501,19 @@ extern void osi_VM_PreTruncate(struct vcache *avc, int alen, struct AFS_UCRED *a
 
 /* ARCH/osi_vnodeops.c */
 extern struct vnodeops Afs_vnodeops;
-
-
-/* afs_osifile.c */
-#ifdef AFS_SGI62_ENV
-extern void *osi_UFSOpen(ino_t);
+#if defined(AFS_OSF_ENV)
+#if defined(AFS_OSF30_ENV)
+extern int max_vnodes;                  /* number of total system vnodes */
 #else
-extern void *osi_UFSOpen();
+extern int nvnode;                      /* number of total system vnodes */
+extern int numvnodes;                   /* number vnodes in use now */ 
+#endif 
+#ifdef AFS_DUX40_ENV
+extern struct vfs_ubcops afs_ubcops;
 #endif
+#endif
+
+/* afs_osifile.c */
 
 /* afs_osi_pag.c */
 extern afs_uint32 pag_epoch;
@@ -536,6 +548,7 @@ extern int afs_TruncateAllSegments(register struct vcache *avc, afs_size_t alen,
 /* afs_server.c */
 extern afs_rwlock_t afs_xsrvAddr;
 extern afs_rwlock_t afs_xserver;
+extern afs_rwlock_t afs_icl_lock;
 extern struct srvAddr *afs_srvAddrs[NSERVERS];
 extern struct server *afs_servers[NSERVERS];
 extern int afs_totalServers;
@@ -623,6 +636,9 @@ extern void afs_SetPrimary(register struct unixuser *au, register int aflag);
 
 /* afs_util.c */
 extern char *afs_cv2string(char *ttp, afs_uint32 aval);
+extern int afs_strcasecmp(char *s1, char *s2);
+extern char *afs_strdup(char *s);
+extern char *afs_strchr(char *s, int c);
 extern void print_internet_address(char *preamble, struct srvAddr *sa,
                            char *postamble, int flag);
 extern afs_int32 afs_data_pointer_to_int32(const void *p);