libafs: Remove afs_read duplication
[openafs.git] / src / afs / afs_prototypes.h
index 7931803..9a340a5 100644 (file)
@@ -144,6 +144,7 @@ extern struct cell *afs_GetCellByHandle(void *handle, 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 afs_int32 afs_GetPrimaryCellNum(void);
 extern int afs_IsPrimaryCellNum(afs_int32 cellnum);
 extern int afs_IsPrimaryCell(struct cell *cell);
 extern void *afs_TraverseCells(void *(*cb) (struct cell *, void *),
@@ -189,6 +190,8 @@ extern struct afs_conn *afs_ConnByHost(struct server *aserver,
                                   struct vrequest *areq, int aforce,
                                   afs_int32 locktype);
 extern void afs_PutConn(struct afs_conn *ac, afs_int32 locktype);
+extern void afs_ReleaseConns(struct sa_conn_vector *tcv);
+extern void afs_ReleaseConnsUser(register struct unixuser *au);
 extern void ForceNewConnections(struct srvAddr *sap);
 
 
@@ -549,15 +552,12 @@ extern const afs_ucred_t *afs_osi_proc2cred(afs_proc_t * pr);
 #endif
 
 /* afs_osi_alloc.c */
-#ifndef AFS_FBSD_ENV
+#ifndef AFS_PRIVATE_OSI_ALLOCSPACES
 extern afs_lock_t osi_fsplock;
 extern afs_lock_t osi_flplock;
 #endif
 
 extern void *afs_osi_Alloc_debug(size_t x, char *func, int line);
-#ifndef afs_osi_Alloc_NoSleep
-extern void *afs_osi_Alloc_NoSleep(size_t x);
-#endif
 #ifndef afs_osi_Free
 extern void afs_osi_Free(void *x, size_t asize);
 #endif
@@ -618,6 +618,9 @@ extern int afs_linux_storeproc(struct storeOps *, void *, struct dcache *,
                               int *, afs_size_t *);
 #endif
 
+/* ARCH/osi_crypto.c */
+extern int osi_readRandom(void *, afs_size_t);
+
 /* ARCH/osi_misc.c */
 extern void afs_osi_SetTime(osi_timeval_t * atv);
 
@@ -844,6 +847,15 @@ extern void afs_MarkServerUpOrDown(struct srvAddr *sa, int a_isDown);
 extern afs_int32 afs_ServerDown(struct srvAddr *sa);
 extern void afs_CountServers(void);
 extern void afs_CheckServers(int adown, struct cell *acellp);
+extern void afs_LoopServers(int adown, struct cell *acellp, int vlalso,
+                           void (*func1) (struct rx_connection **rxconns,
+                                          int nconns, int nservers,
+                                          struct afs_conn **conns,
+                                          struct srvAddr **addrs),
+                           void (*func2) (struct rx_connection **rxconns,
+                                          int nconns, int nservers,
+                                          struct afs_conn **conns,
+                                          struct srvAddr **addrs));
 extern unsigned int afs_random(void);
 extern int afs_randomMod15(void);
 extern int afs_randomMod127(void);
@@ -902,6 +914,8 @@ extern int copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst);
 #if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
 #ifdef AFS_DARWIN100_ENV
 extern int afs3_syscall(afs_proc_t *p, void *args, unsigned int *retval);
+#elif defined(AFS_FBSD90_ENV) || defined(AFS_FBSD82_ENV)
+/* afs3_syscall prototype is in sys/sysproto.h */
 #elif defined(AFS_FBSD_ENV)
 extern int afs3_syscall(struct thread *p, void *args);
 #elif defined(AFS_NBSD40_ENV)
@@ -916,13 +930,20 @@ extern int Afs_syscall(void);
 #endif
 
 /* afs_tokens.c */
+struct ktc_tokenUnion;
+struct ktc_setTokenData;
+
 extern union tokenUnion *afs_FindToken(struct tokenJar *, rx_securityIndex);
 extern void afs_FreeTokens(struct tokenJar **);
 extern union tokenUnion *afs_AddToken(struct tokenJar **, rx_securityIndex);
 extern void afs_DiscardExpiredTokens(struct tokenJar **, afs_int32);
+extern int afs_HasValidTokens(struct tokenJar *, afs_int32);
 extern int afs_HasUsableTokens(struct tokenJar *, afs_int32);
 extern void afs_AddRxkadToken(struct tokenJar **, char *, int,
                              struct ClearToken *);
+extern int afs_AddTokenFromPioctl(struct tokenJar **, struct ktc_tokenUnion *);
+extern int afs_ExtractTokensForPioctl(struct tokenJar *, time_t,
+                                     struct ktc_setTokenData *);
 
 /* UKERNEL/afs_usrops.c */
 #ifdef UKERNEL
@@ -1221,12 +1242,12 @@ extern int afs_open(struct vcache **avcp, afs_int32 aflags,
 
 
 /* VNOPS/afs_vnop_read.c */
-extern int afs_MemRead(struct vcache *avc, struct uio *auio,
-                      afs_ucred_t *acred, daddr_t albn,
-                      struct buf **abpp, int noLock);
-extern int afs_UFSRead(struct vcache *avc, struct uio *auio,
-                      afs_ucred_t *acred, daddr_t albn,
-                      struct buf **abpp, int noLock);
+extern int afs_read(struct vcache *avc, struct uio *auio,
+                   afs_ucred_t *acred, daddr_t albn,
+                   struct buf **abpp, int noLock);
+
+extern int afs_UFSReadUIO(afs_dcache_id_t *cacheId, struct uio *tuiop);
+
 extern void afs_PrefetchChunk(struct vcache *avc, struct dcache *adc,
                              afs_ucred_t *acred, struct vrequest *areq);