#define IS_SLOCK 4
#define IS_WLOCK 8
#define FIND_CDEAD 16
+#define FIND_BULKDEAD 32
+
+/* values for adown value of afs_LoopServers */
+#define AFS_LS_UP 0
+#define AFS_LS_DOWN 1
+#define AFS_LS_ALL 2
/* values for flag param of afs_CheckVolumeNames */
#define AFS_VOLCHECK_EXPIRED 0x1 /* volumes whose callbacks have expired */
#define AFS_VLPORT ((unsigned short) htons(7003))
#define AFS_RXOSDPORT ((unsigned short) htons(7011))
-#define afs_read(avc, uio, acred, albn, abpp, nolock) \
- (*(afs_cacheType->vread))(avc, uio, acred, albn, abpp, nolock)
#define afs_write(avc, uio, aio, acred, nolock) \
(*(afs_cacheType->vwrite))(avc, uio, aio, acred, nolock)
struct buf;
+struct rxfs_storeVariables {
+ struct rx_call *call;
+ struct vcache *vcache;
+ char *tbuffer;
+ struct iovec *tiov;
+ afs_int32 tnio;
+ afs_int32 hasNo64bit;
+ struct AFSStoreStatus InStatus;
+};
+
struct storeOps {
- int (*prepare)(void *, afs_uint32, afs_uint32 *);
- int (*read)(void *, struct osi_file *, afs_uint32, afs_uint32,
- afs_uint32 *, char **);
- int (*write)(void *, char *, afs_uint32, afs_uint32 *);
- int (*status)(void *);
- int (*padd)(void *, afs_uint32);
- int (*close)(void *, struct AFSFetchStatus *, afs_int32 *);
- int (*destroy)(void **, afs_int32);
- int (*storeproc)(struct vcache *, struct storeOps *, void *,
- struct dcache *, int *, afs_size_t *);
+ int (*prepare)(void *rock, afs_uint32 size, afs_uint32 *bytestoxfer);
+ int (*read)(void *rock, struct osi_file *tfile, afs_uint32 offset,
+ afs_uint32 tlen, afs_uint32 *bytesread);
+ int (*write)(void *rock, afs_uint32 tlen, afs_uint32 *byteswritten);
+ int (*status)(void *rock);
+ int (*padd)(void *rock, afs_uint32 tlen);
+ int (*close)(void *rock, struct AFSFetchStatus *OutStatus,
+ afs_int32 *doProcessFS);
+ int (*destroy)(void **rock, afs_int32 error);
+ int (*storeproc)(struct storeOps *, void *, struct dcache *, int *,
+ afs_size_t *);
};
struct fetchOps {
- int (*more)(void *, afs_int32 *, afs_uint32 *);
- int (*read)(void *, afs_uint32, afs_uint32 *);
- int (*write)(void *, struct osi_file *, afs_uint32, afs_uint32, afs_uint32 *);
- int (*close)(void *, struct vcache *, struct dcache *, struct afs_FetchOutput *);
- int (*destroy)(void **, afs_int32);
+ int (*more)(void *rock, afs_int32 *length, afs_uint32 *moredata);
+ int (*read)(void *rock, afs_uint32 tlen, afs_uint32 *bytesread);
+ int (*write)(void *rock, struct osi_file *fp, afs_uint32 offset,
+ afs_uint32 tlen, afs_uint32 *byteswritten);
+ int (*close)(void *rock, struct vcache *avc, struct dcache *adc,
+ struct afs_FetchOutput *Outputs);
+ int (*destroy)(void **rock, afs_int32 error);
};
/* fakestat support: opaque storage for afs_EvalFakeStat to remember
#elif !(defined(AFS_LINUX26_ENV) && defined(STRUCT_TASK_STRUCT_HAS_CRED))
#define afs_cr_uid(cred) ((cred)->cr_uid)
#define afs_cr_gid(cred) ((cred)->cr_gid)
+#if !defined(AFS_OBSD_ENV)
#define afs_cr_ruid(cred) ((cred)->cr_ruid)
#define afs_cr_rgid(cred) ((cred)->cr_rgid)
+#endif
static_inline void
afs_set_cr_uid(afs_ucred_t *cred, uid_t uid) {
afs_set_cr_gid(afs_ucred_t *cred, gid_t gid) {
cred->cr_gid = gid;
}
+#if !defined(AFS_OBSD_ENV)
static_inline void
afs_set_cr_ruid(afs_ucred_t *cred, uid_t uid) {
cred->cr_ruid = uid;
cred->cr_rgid = gid;
}
#endif
+#endif
#ifdef AFS_SUN5_ENV