/* 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 */
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 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 void afs_PutCellAlias(struct cell_alias *a);
+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;
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);
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;
/* afs_osi_pag.c */
extern afs_uint32 genpag(void);
extern afs_uint32 getpag(void);
+#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
+extern int AddPag(struct proc *p, afs_int32 aval, struct AFS_UCRED **credpp);
+#else
+extern int AddPag(afs_int32 aval, struct AFS_UCRED **credpp);
+#endif
extern int afs_InitReq(register struct vrequest *av, struct AFS_UCRED *acred);
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);
/* ARCH/osi_misc.c */
extern void osi_iput(struct inode *ip);
+extern void afs_osi_SetTime(osi_timeval_t *atv);
/* LINUX/osi_misc.c */
-#if AFS_LINUX24_ENV
+#ifdef AFS_LINUX_ENV
+#ifdef AFS_LINUX24_ENV
extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink,
vnode_t **dirvpp, struct dentry **dpp);
extern int osi_InitCacheInfo(char *aname);
afs_offs_t pos, int count, uio_flag_t flag,
uio_seg_t seg);
extern int uiomove(char *dp, int length, uio_flag_t rw, uio_t *uiop);
-extern void afs_osi_SetTime(osi_timeval_t *tvp);
extern void osi_linux_free_inode_pages(void);
extern void osi_clear_inode(struct inode *ip);
extern void check_bad_parent(struct dentry *dp);
extern void osi_linux_mask(void);
extern void osi_linux_unmask(void);
extern void osi_linux_rxkreg(void);
+extern int setpag(cred_t **cr, afs_uint32 pagvalue, afs_uint32 *newpag, int change_parent);
+#endif
+/* OBSD/osi_misc.c */
+#ifdef AFS_OBSD_ENV
+extern int setpag(struct proc *proc, struct ucred **cred, afs_uint32 pagvalue,
+ afs_uint32 *newpag, int change_parent);
+#endif
+
/* ARCH/osi_sleep.c */
extern void afs_osi_InitWaitHandle(struct afs_osi_WaitHandle *achandle);
extern void afs_osi_CancelWait(struct afs_osi_WaitHandle *achandle);
extern int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok);
#ifndef afs_osi_Wakeup
-extern void afs_osi_Wakeup(void *event);
+extern int afs_osi_Wakeup(void *event);
#endif
#ifndef afs_osi_Sleep
extern void afs_osi_Sleep(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);
/* 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;
extern afs_uint32 pagCounter;
/* 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;
extern struct afs_stats_CMFullPerf afs_stats_cmfullperf;
extern afs_int32 afs_stats_XferSumBytes[AFS_STATS_NUM_FS_XFER_OPS];
extern void afs_InitStats(void);
-extern int afs_GetCMStat(char **ptr, unsigned *size);
+extern void afs_GetCMStat(char **ptr, unsigned *size);
#ifndef AFS_NOSTATS
-extern int afs_AddToMean(struct afs_MeanStats *oldMean, afs_int32 newValue);
+extern void afs_AddToMean(struct afs_MeanStats *oldMean, afs_int32 newValue);
#endif
/* afs_util.c */
extern char *afs_cv2string(char *ttp, afs_uint32 aval);
-extern int afs_strcasecmp(register char *s1, register char *s2);
+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);
/* MISC PROTOTYPES - THESE SHOULD NOT BE HERE */
/* MOVE THEM TO APPROPRIATE LOCATIONS */
-extern int RXAFSCB_ExecuteRequest();
-extern int RXSTATS_ExecuteRequest();
+extern afs_int32 RXAFSCB_ExecuteRequest(struct rx_call *acall);
+extern afs_int32 RXSTATS_ExecuteRequest(struct rx_call *acall);
#endif
#endif /* _AFS_PROTOTYPES_H_ */
-