#else
struct min_direct { /* miniature direct structure */
/* If struct direct changes, this must too */
-#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
+#if defined(AFS_DARWIN80_ENV)
+ ino_t d_fileno;
+ u_short d_reclen;
+ u_char d_type;
+ u_char d_namlen;
+#elif defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
afs_uint32 d_fileno;
u_short d_reclen;
u_char d_type;
#endif
#ifndef AFS_64BIT_CLIENT
if (AfsLargeFileUio(auio) /* file is large than 2 GB */
- ||AfsLargeFileSize(auio->uio_offset, auio->uio_resid))
+ ||AfsLargeFileSize(AFS_UIO_OFFSET(auio), AFS_UIO_RESID(auio)))
return EFBIG;
#endif
auio->uio_fpflags = 0;
#endif
while (code == 0) {
- origOffset = auio->afsio_offset;
+ origOffset = AFS_UIO_OFFSET(auio);
/* scan for the next interesting entry scan for in-use blob otherwise up point at
* this blob note that ode, if non-zero, also represents a held dir page */
if (!(us = BlobScan(tdc, (origOffset >> 5)))
sdirEntry->d_fileno =
(avc->fid.Fid.Volume << 16) + ntohl(ode->fid.vnode);
FIXUPSTUPIDINODE(sdirEntry->d_fileno);
- sdirEntry->d_reclen = rlen = auio->afsio_resid;
+ sdirEntry->d_reclen = rlen = AFS_UIO_RESID(auio);
sdirEntry->d_namlen = o_slen;
#if defined(AFS_SUN5_ENV) || defined(AFS_AIX32_ENV) || defined(AFS_HPUX100_ENV)
sdirEntry->d_off = origOffset;
#if defined(AFS_SUN5_ENV)
len, origOffset);
#else
- auio->afsio_resid, origOffset);
+ AFS_UIO_RESID(auio), origOffset);
#endif
#endif /* AFS_HPUX_ENV */
#if !defined(AFS_SUN5_ENV)
- auio->afsio_resid = 0;
+ AFS_UIO_SETRESID(auio, 0);
#endif
} else {
/* nothin to hand over */
#ifdef AFS_SGI53_ENV
dirsiz =
use64BitDirent ? DIRENTSIZE(n_slen) : IRIX5_DIRENTSIZE(n_slen);
- if (dirsiz >= (auio->afsio_resid - len)) {
+ if (dirsiz >= (AFS_UIO_RESID(auio) - len)) {
#else
- if (DIRSIZ_LEN(n_slen) >= (auio->afsio_resid - len)) {
+ if (DIRSIZ_LEN(n_slen) >= (AFS_UIO_RESID(auio) - len)) {
#endif /* AFS_SGI53_ENV */
/* No can do no more now; ya know... at this time */
DRelease((struct buffer *)nde, 0); /* can't use this one. */
sdirEntry->d_fileno =
(avc->fid.Fid.Volume << 16) + ntohl(ode->fid.vnode);
FIXUPSTUPIDINODE(sdirEntry->d_fileno);
- sdirEntry->d_reclen = rlen = auio->afsio_resid;
+ sdirEntry->d_reclen = rlen = AFS_UIO_RESID(auio);
sdirEntry->d_namlen = o_slen;
#if defined(AFS_SUN5_ENV) || defined(AFS_AIX32_ENV) || defined(AFS_HPUX100_ENV)
sdirEntry->d_off = origOffset;
#else /* AFS_HPUX_ENV */
code =
afs_readdir_move(ode, avc, auio, o_slen,
- auio->afsio_resid, origOffset);
+ AFS_UIO_RESID(auio), origOffset);
#endif /* AFS_HPUX_ENV */
/* this next line used to be AFSVFS40 or AIX 3.1, but is
* really generic */
- auio->afsio_offset = origOffset;
- auio->afsio_resid = 0;
+ AFS_UIO_SETOFFSET(auio, origOffset);
+ AFS_UIO_SETRESID(auio, 0);
} else { /* trouble, can't give anything to the user! */
/* even though he has given us a buffer,
* even though we have something to give us,
if (ode)
DRelease((struct buffer *)ode, 0);
ode = nde;
- auio->afsio_offset =
- (afs_int32) ((us + afs_dir_NameBlobs(nde->name)) << 5);
+ AFS_UIO_SETOFFSET(auio, (afs_int32) ((us + afs_dir_NameBlobs(nde->name)) << 5));
}
if (ode)
DRelease((struct buffer *)ode, 0);
auio->uio_fpflags = 0;
#endif
while (code == 0) {
- origOffset = auio->afsio_offset;
+ origOffset = AFS_UIO_OFFSET(auio);
/* scan for the next interesting entry scan for in-use blob otherwise up point at
* this blob note that ode, if non-zero, also represents a held dir page */
sdirEntry->d_fileno =
(avc->fid.Fid.Volume << 16) + ntohl(ode->fid.vnode);
FIXUPSTUPIDINODE(sdirEntry->d_fileno);
- sdirEntry->d_reclen = rlen = auio->afsio_resid;
+ sdirEntry->d_reclen = rlen = AFS_UIO_RESID(auio);
sdirEntry->d_namlen = o_slen;
sdirEntry->d_off = origOffset;
AFS_UIOMOVE((char *)sdirEntry, sizeof(*sdirEntry), UIO_READ,
#else
code =
afs_readdir_move(ode, avc, auio, o_slen,
- auio->afsio_resid, origOffset);
+ AFS_UIO_RESID(auio), origOffset);
#endif /* AFS_HPUX_ENV */
- auio->afsio_resid = 0;
+ AFS_UIO_SETRESID(auio, 0);
} else {
/* nothin to hand over */
}
#else
n_slen = strlen(nde->name);
#endif
- if (NDIRSIZ_LEN(n_slen) >= (auio->afsio_resid - len)) {
+ if (NDIRSIZ_LEN(n_slen) >= (AFS_UIO_RESID(auio) - len)) {
/* No can do no more now; ya know... at this time */
DRelease(nde, 0); /* can't use this one. */
if (len) {
sdirEntry->d_fileno =
(avc->fid.Fid.Volume << 16) + ntohl(ode->fid.vnode);
FIXUPSTUPIDINODE(sdirEntry->d_fileno);
- sdirEntry->d_reclen = rlen = auio->afsio_resid;
+ sdirEntry->d_reclen = rlen = AFS_UIO_RESID(auio);
sdirEntry->d_namlen = o_slen;
sdirEntry->d_off = origOffset;
AFS_UIOMOVE((char *)sdirEntry, sizeof(*sdirEntry), UIO_READ,
#else
code =
afs_readdir_move(ode, avc, auio, o_slen,
- auio->afsio_resid, origOffset);
+ AFS_UIO_RESID(auio), origOffset);
#endif /* AFS_HPUX_ENV */
/* this next line used to be AFSVFS40 or AIX 3.1, but is really generic */
- auio->afsio_offset = origOffset;
- auio->afsio_resid = 0;
+ AFS_UIO_SETOFFSET(auio, origOffset);
+ AFS_UIO_SETRESID(auio, 0);
} else { /* trouble, can't give anything to the user! */
/* even though he has given us a buffer,
* even though we have something to give us,
if (ode)
DRelease(ode, 0);
ode = nde;
- auio->afsio_offset = ((us + afs_dir_NameBlobs(nde->name)) << 5);
+ AFS_UIO_OFFSET(auio) = ((us + afs_dir_NameBlobs(nde->name)) << 5);
}
if (ode)
DRelease(ode, 0);