#define _AFS_PROTOTYPES_H_
/* afs_analyze.c */
+extern void init_et_to_sys_error(void);
extern void afs_FinalizeReq(struct vrequest *areq);
extern int afs_Analyze(register struct conn *aconn, afs_int32 acode,
struct VenusFid *afid, register struct vrequest *areq, int op,
afs_int32 locktype, struct cell *cellp);
extern int afs_CheckCode(afs_int32 acode, struct vrequest *areq, int where);
extern void afs_CopyError(register struct vrequest *afrom, register struct vrequest *ato);
-
+extern void init_sys_error_to_et(void);
/* afs_axscache.c */
extern afs_rwlock_t afs_xaxs;
extern int afs_icl_ZeroLog(register struct afs_icl_log *logp);
extern int afs_icl_LogFree(register struct afs_icl_log *logp);
extern struct afs_icl_log *afs_icl_FindLog(char *name);
-extern int afs_icl_EnumerateLogs(int (*aproc)(), char *arock);
+extern int afs_icl_EnumerateLogs(int (*aproc)(char *name,char *arock,struct afs_icl_log *tp), char *arock);
extern int afs_icl_CreateSet(char *name, struct afs_icl_log *baseLogp,
struct afs_icl_log *fatalLogp, struct afs_icl_set **outSetpp);
extern int afs_icl_CreateSetWithFlags(char *name, struct afs_icl_log *baseLogp,
extern int afs_icl_GetEnable(struct afs_icl_set *setp, afs_int32 eventID,
int *getValuep);
extern int afs_icl_ZeroSet(struct afs_icl_set *setp);
-extern int afs_icl_EnumerateSets(int (*aproc)(), char *arock);
+extern int afs_icl_EnumerateSets(int (*aproc)(char *name,char *arock,struct afs_icl_log *tp), char *arock);
extern int afs_icl_AddLogToSet(struct afs_icl_set *setp, struct afs_icl_log *newlogp);
extern int afs_icl_SetSetStat(struct afs_icl_set *setp, int op);
extern int afs_icl_SetHold(register struct afs_icl_set *setp);
afs_int32 lAndT, long p1);
extern int afs_icl_Event0(register struct afs_icl_set *setp, afs_int32 eventID,
afs_int32 lAndT);
-extern int afs_icl_AppendRecord(register struct afs_icl_log *logp, afs_int32 op,
+extern void afs_icl_AppendRecord(register struct afs_icl_log *logp, afs_int32 op,
afs_int32 types, long p1, long p2, long p3, long p4);
extern int afs_CheckInit(void);
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 int afs_cellname_write(void);
extern afs_int32 afs_NewCell(char *acellName, afs_int32 *acellHosts,
int aflags, char *linkedcname, u_short fsport, u_short vlport,
int timeout);
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);
afs_int32 aflags, afs_int32 ninodes, afs_int32 nusers);
extern void afs_ComputeCacheParms(void);
extern int afs_InitCacheInfo(register char *afile);
+extern int afs_InitVolumeInfo(char *afile);
+extern int afs_InitCellInfo(char *afile);
extern int afs_ResourceInit(int preallocs);
extern void shutdown_cache(void);
extern void shutdown_vnodeops(void);
/* afs_memcache.c */
-extern void *afs_MemCacheOpen(ino_t blkno);
-extern int afs_InitMemCache(int size, int blkSize, int flags);
+extern int afs_InitMemCache(int blkCount, int blkSize, int flags);
extern int afs_MemCacheClose(char *file);
extern void *afs_MemCacheOpen(ino_t blkno);
extern int afs_MemReadBlk(register struct memCacheEntry *mceP, int offset, char *dest, int size);
#endif
/* afs_osi_pag.c */
+extern int afs_setpag();
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);
extern char *osi_AllocSmall(register afs_int32 size, register afs_int32 morespace);
#endif
+/* afs_osi_uio.c */
+extern int afsio_copy(struct uio *ainuio, struct uio *aoutuio, struct iovec *aoutvec);
+extern int afsio_trim(struct uio *auio, afs_int32 asize);
+extern int afsio_skip(struct uio *auio, afs_int32 asize);
+
/* 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_LINUX20_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
/* ARCH/osi_sleep.c */
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);
extern int afs_osi_SleepSig(void *event);
#endif
+
+/* ARCH/osi_inode.c */
+extern int afs_syscall_icreate();
+extern int afs_syscall_iopen();
+extern int afs_syscall_iincdec();
+
+
/* ARCH/osi_file.c */
extern int afs_osicred_initialized;
#if defined(AFS_SUN57_64BIT_ENV) || defined(AFS_SGI62_ENV)
extern void osi_DisableAtimes(struct vnode *avp);
extern int afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, afs_int32 asize);
extern int afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afs_int32 asize);
-extern int afs_osi_MapStrategy(int (*aproc)(), register struct buf *bp);
+extern int afs_osi_MapStrategy(int (*aproc)(struct buf *bp), register struct buf *bp);
extern void shutdown_osifile(void);
+/* ARCH/osi_groups.c */
+#ifdef AFS_XBSD_ENV
+extern int setpag(struct proc *proc, struct ucred **cred, afs_uint32 pagvalue,
+ afs_uint32 *newpag, int change_parent);
+#endif
+
+
/* ARCH/osi_vm.c */
extern int osi_VM_FlushVCache(struct vcache *avc, int *slept);
extern void osi_VM_StoreAllSegments(struct vcache *avc);
extern short afs_waitForeverCount;
extern afs_int32 afs_showflags;
extern int afs_defaultAsynchrony;
+extern int afs_syscall_pioctl();
/* afs_segments.c */
extern int afs_StoreMini(register struct vcache *avc, struct vrequest *areq);
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 */
+#ifndef afs_cv2string
extern char *afs_cv2string(char *ttp, afs_uint32 aval);
+#endif
+#ifndef afs_strcasecmp
extern int afs_strcasecmp(char *s1, char *s2);
-extern char *afs_strdup(char *s);
+#endif
+#ifndef afs_strcat
+extern char *afs_strcat(char *s1, char *s2);
+#endif
+#ifdef AFS_OBSD34_ENV
+extern char *afs_strcpy(char *s1, char *s2);
+#endif
+#ifndef afs_strchr
extern char *afs_strchr(char *s, int c);
+#endif
+extern char *afs_strdup(char *s);
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);
/* VNOPS/afs_vnop_lookup.c */
-extern char *afs_strcat(register char *s1, register char *s2);
-extern char *afs_index(register char *a, register char c);
extern int EvalMountPoint(register struct vcache *avc, struct vcache *advc,
struct volume **avolpp, register struct vrequest *areq);
extern void afs_InitFakeStat(struct afs_fakestat_state *state);
extern int afs_ENameOK(register char *aname);
extern int afs_getsysname(register struct vrequest *areq, register struct vcache *adp,
register char *bufp);
-extern int Check_AtSys(register struct vcache *avc, const char *aname,
+extern void Check_AtSys(register struct vcache *avc, const char *aname,
struct sysname_info *state, struct vrequest *areq);
extern int Next_AtSys(register struct vcache *avc, struct vrequest *areq,
struct sysname_info *state);
extern int afs_DoBulkStat(struct vcache *adp, long dirCookie, struct vrequest *areqp);
-
+extern int afs_lookup();
/* VNOPS/afs_vnop_read.c */
extern afs_int32 usedihint;
extern int afs_MemRead(register struct vcache *avc, struct uio *auio, struct AFS_UCRED *acred,
daddr_t albn, struct buf **abpp, int noLock);
+extern int afs_UFSRead(register struct vcache *avc, struct uio *auio,
+ struct AFS_UCRED *acred, daddr_t albn, struct buf **abpp, int noLock);
/* VNOPS/afs_vnop_readdir.c */
extern int afs_remunlink(register struct vcache *avc, register int doit);
+/* VNOPS/afs_vnop_rename.c */
+extern int afsrename(struct vcache *aodp, char *aname1, struct vcache *andp,
+ char *aname2, struct AFS_UCRED *acred, struct vrequest *areq);
+
+
/* VNOPS/afs_vnop_symlink.c */
extern int afs_MemHandleLink(register struct vcache *avc, struct vrequest *areq);
+extern int afs_UFSHandleLink(register struct vcache *avc, struct vrequest *areq);
/* VNOPS/afs_vnop_flock.c */
extern afs_int32 lastWarnTime;
extern int afs_DoPartialWrite(register struct vcache *avc, struct vrequest *areq);
extern int afs_closex(register struct file *afd);
+/* other VNOPS (please fix these) */
+extern int afs_open();
+extern int afs_close();
+extern int HandleIoctl();
+extern int afs_fsync();
+extern int afs_remove();
+extern int afs_link();
+extern int afs_rename();
+extern int afs_mkdir();
+extern int afs_rmdir();
+extern int afs_symlink();
+extern int afs_readdir();
+extern int afs_readlink();
+extern int afs_ustrategy();
+extern int afs_lockctl();
+
/* afs_volume.c */
extern afs_int32 afs_FVIndex;
afs_int32 locktype);
extern struct volume *afs_GetVolumeByName(register char *aname, afs_int32 acell,
int agood, struct vrequest *areq, afs_int32 locktype);
-
extern struct volume *afs_UFSGetVolSlot(void);
extern void afs_CheckVolumeNames(int flags);
/* 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);
-#if defined(AFS_SUN5_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_AIX_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
-#include "../afs/osi_prototypes.h"
+#if defined(AFS_SUN5_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_AIX_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV) || defined(AFS_HPUX_ENV)
+#include "osi_prototypes.h"
#endif
#endif /* _AFS_PROTOTYPES_H_ */
-