protos-20030701
[openafs.git] / src / afs / afs_prototypes.h
index 5b59a8e..c4fa9a8 100644 (file)
 #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;
@@ -28,12 +29,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 */
@@ -61,7 +62,7 @@ extern int afs_icl_LogReleNL(register struct afs_icl_log *logp);
 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, 
@@ -70,7 +71,7 @@ extern int afs_icl_SetEnable(struct afs_icl_set *setp, afs_int32 eventID, int se
 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);
@@ -89,7 +90,7 @@ extern int afs_icl_Event1(register struct afs_icl_set *setp, afs_int32 eventID,
        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);
@@ -156,7 +157,7 @@ extern afs_rwlock_t afs_xcell;
 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);
@@ -173,6 +174,7 @@ 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);
@@ -221,7 +223,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);
@@ -308,6 +310,8 @@ extern int afs_CacheInit(afs_int32 astatSize, afs_int32 afiles, afs_int32
         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);
@@ -349,8 +353,7 @@ extern void shutdown_mariner(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);
@@ -403,8 +406,14 @@ extern const struct AFS_UCRED *afs_osi_proc2cred(AFS_PROC *pr);
 #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);
@@ -424,13 +433,20 @@ extern void *osi_AllocSmallSpace(size_t size);
 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);
@@ -441,7 +457,6 @@ extern void setup_uio(uio_t *uiop, struct iovec *iovecp, char *buf,
                              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);
@@ -449,6 +464,8 @@ 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 */
@@ -456,7 +473,7 @@ 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);
@@ -465,6 +482,13 @@ 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)
@@ -478,10 +502,17 @@ extern int osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize);
 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);
@@ -536,6 +567,7 @@ extern afs_int32 afs_waitForever;
 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);
@@ -548,6 +580,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;
@@ -598,9 +631,9 @@ extern struct afs_stats_CMPerf afs_stats_cmperf;
 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
 
 
@@ -634,8 +667,21 @@ extern void afs_SetPrimary(register struct unixuser *au, register int aflag);
 
 
 /* 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);
+#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);
@@ -760,8 +806,6 @@ extern int HandleFlock(register struct vcache *avc, int acom,
 
 
 /* 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);
@@ -773,12 +817,12 @@ extern void afs_PutFakeStat(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 */
@@ -787,6 +831,8 @@ extern afs_int32 nihints;
 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 */
@@ -799,8 +845,14 @@ extern int afsremove(register struct vcache *adp, register struct dcache *tdc,
 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;
@@ -814,6 +866,22 @@ extern int afs_UFSWrite(register struct vcache *avc, struct uio *auio,
 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;
@@ -837,7 +905,6 @@ extern struct volume *afs_GetVolume(struct VenusFid *afid, struct vrequest *areq
         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);
 
@@ -855,14 +922,13 @@ extern u_short afs_uuid_hash (afsUUID *uuid);
 
 /* 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_ */
-