sparc64_linux22, sparc64_linux24, sparc64_linux26
sparc_linux22, sparc_linux24
sun4_413 (No client support, no fileserver support, db servers only)
- sun4x_56, sun4x_57, sun4x_58, sun4x_59, sun4x_510, sun4x_511
+ sun4x_58, sun4x_59, sun4x_510, sun4x_511
(logging UFS not supported for mixed-use partitions containing
client cache)
- sunx86_57, sunx86_58, sunx86_59, sunx86_510, sunx86_511
+ sunx86_58, sunx86_59, sunx86_510, sunx86_511
(logging UFS not supported for mixed-use partitions containing
client cache)
x86_darwin_80, x86_darwin90
AFS_SYSNAME="x86_darwin_110"
OSXSDK="macosx10.7"
;;
- sparc-sun-solaris2.5*)
- AFS_SYSNAME="sun4x_55"
- enable_login="yes"
- ;;
- sparc-sun-solaris2.6)
- AFS_SYSNAME="sun4x_56"
- ;;
- sparc-sun-solaris2.7)
- AFS_SYSNAME="sun4x_57"
- ;;
sparc-sun-solaris2.8)
AFS_SYSNAME="sun4x_58"
;;
AFS_SYSNAME="sun4_413"
enable_login="yes"
;;
- i386-pc-solaris2.7)
- AFS_SYSNAME="sunx86_57"
- ;;
i386-pc-solaris2.8)
AFS_SYSNAME="sunx86_58"
;;
=head1 EXAMPLES
-The following example shows the output produced on a Sun SPARCStation
-running Solaris 5.7:
+The following example shows the output produced on a Sun Netra T1
+running Solaris 10:
% fs sysname
- Current sysname is 'sun4x_57'
+ Current sysname is 'sun4x_510'
The following command defines a machine to be a IBM RS/6000 running AIX
4.2:
=head1 EXAMPLES
-The following example shows the output produced on a Sun SPARCStation
-running Solaris 5.7:
+The following example shows the output produced on a Sun Netra T1
+running Solaris 10:
% sys
- sun4x_57
+ sun4x_510
=head1 PRIVILEGE REQUIRED
example, the Cache Manager on a machine running AIX 4.2 converts
<emphasis role="bold">/afs/abc.com/@sys</emphasis> to <emphasis
role="bold">/afs/abc.com/rs_aix42</emphasis>, whereas a machine
- running Solaris 7 converts it to <emphasis
- role="bold">/afs/abc.com/sun4x_57</emphasis>.</para>
+ running Solaris 10 converts it to <emphasis
+ role="bold">/afs/abc.com/sun4x_510</emphasis>.</para>
<para>If you want to use the @sys variable, it is simplest to use
the conventional AFS system type names as specified in the OpenAFS
int code;
static int inited = 0;
struct vfs *vfsp;
-#ifdef AFS_SUN56_ENV
struct statvfs64 vfst;
-#else /* AFS_SUN56_ENV */
- struct statvfs vfst;
-#endif /* AFS_SUN56_ENV */
if (inited)
return;
afs_int32 asize)
{
afs_ucred_t *oldCred;
-#if defined(AFS_SUN57_ENV)
ssize_t resid;
-#else
- int resid;
-#endif
afs_int32 code;
afs_int32 cnt1 = 0;
AFS_STATCNT(osi_Read);
afs_int32 asize)
{
afs_ucred_t *oldCred;
-#if defined(AFS_SUN57_ENV)
ssize_t resid;
-#else
- int resid;
-#endif
afs_int32 code;
AFS_STATCNT(osi_Write);
if (!afile)
int change_parent);
-#if defined(AFS_SUN55_ENV)
int
afs_xsetgroups(uap, rvp)
u_int uap; /* this is gidsetsize */
gid_t *rvp; /* this is gidset */
-#else
-struct setgroupsa {
- u_int gidsetsize;
- gid_t *gidset;
-};
-
-afs_xsetgroups(uap, rvp)
- struct setgroupsa *uap;
- rval_t *rvp;
-#endif
{
int code = 0;
struct vrequest treq;
*perror = 0;
- if (!vfsp
-#if !defined(AFS_SUN58_ENV)
- && !(vfsp = vfs_devsearch(dev))
-#else
- && !(vfsp = vfs_dev2vfsp(dev))
-#endif
- ) {
+ if (!vfsp && !(vfsp = vfs_dev2vfsp(dev))) {
return (ENODEV);
}
ufsvfsp = (struct ufsvfs *)vfsp->vfs_data;
* This conversion is needed only for the 64 bit OS.
*/
-#ifdef AFS_SUN57_64BIT_ENV
+#ifdef AFS_SUN5_64BIT_ENV
newdev = expldev((dev32_t) dev);
#else
newdev = dev;
rw_enter(&newip->i_contents, RW_WRITER);
newip->i_flag |= IACC | IUPD | ICHG;
-#if defined(AFS_SUN56_ENV)
newip->i_vicemagic = VICEMAGIC;
-#else
- newip->i_uid = 0;
- newip->i_gid = -2;
-#endif
newip->i_nlink = 1;
newip->i_mode = IFREG;
#ifdef AFS_SUN510_ENV
(((param4 >> 16) & 0x1f) << 22) + (param3 & 0x3fffff);
newip->i_vicep3 = ((param4 << 16) + (param2 & 0xffff));
}
-#ifdef AFS_SUN57_64BIT_ENV
+#ifdef AFS_SUN5_64BIT_ENV
rvp->r_vals = newip->i_number;
#else
rvp->r_val1 = newip->i_number;
* This conversion is needed only for the 64 bit OS.
*/
-#ifdef AFS_SUN57_64BIT_ENV
+#ifdef AFS_SUN5_64BIT_ENV
newdev = expldev((dev32_t) dev);
#else
newdev = dev;
* thing, but on 64-bit they point to two different 32-bit locations that
* make up one 64-bit int; so on 64-bit big-endian we need to set the
* second one. */
-#if defined(AFS_SUN57_64BIT_ENV) && !defined(AFSLITTLE_ENDIAN)
+#if defined(AFS_SUN5_64BIT_ENV) && !defined(AFSLITTLE_ENDIAN)
rvp->r_val2 = fd;
#else
rvp->r_val1 = fd;
* This conversion is needed only for the 64 bit OS.
*/
-#ifdef AFS_SUN57_64BIT_ENV
+#ifdef AFS_SUN5_64BIT_ENV
newdev = expldev((dev32_t) dev);
#else
newdev = dev;
#define di_vicep1 di_un . di_icom .ic_gen
#define di_vicep2 di_un . di_icom .ic_flags
-#if defined(AFS_SUN56_ENV)
#define di_vicep3 di_ic.ic_uid
#define di_vicemagic di_ic.ic_gid
-#else
-#define di_vicep3 di_un . di_icom .ic_size.val[0]
-#endif
#define i_vicep1 i_ic.ic_gen
#define i_vicep2 i_ic.ic_flags
-#if defined(AFS_SUN56_ENV)
#define i_vicep3 i_ic.ic_uid
#define i_vicemagic i_ic.ic_gid
-#else
-#define i_vicep3 i_ic.ic_size.val[0]
-#endif
-#if defined(AFS_SUN56_ENV)
#define IS_VICEMAGIC(ip) ((ip)->i_vicemagic == VICEMAGIC)
#define IS_DVICEMAGIC(dp) ((dp)->di_vicemagic == VICEMAGIC)
#define CLEAR_VICEMAGIC(ip) (ip)->i_vicemagic = (ip)->i_vicep3 = 0
#define CLEAR_DVICEMAGIC(dp) (dp)->di_vicemagic = (dp)->di_vicep3 = 0
-#else
-#define IS_VICEMAGIC(ip) (((ip)->i_vicep2 || (ip)->i_vicep3) ? 1 : 0)
-#define IS_DVICEMAGIC(dp) (((dp)->di_vicep2 || (dp)->di_vicep3) ? 1 : 0)
-
-#define CLEAR_VICEMAGIC(ip) (ip)->i_vicep2 = (ip)->i_vicep3 = 0
-#define CLEAR_DVICEMAGIC(dp) (dp)->di_vicep2 = (dp)->di_vicep3 = 0
-#endif
#define AFS_SUN_UFS_CACHE 0
#ifdef AFS_HAVE_VXFS
#ifndef _OSI_MACHDEP_H_
#define _OSI_MACHDEP_H_
-#ifdef AFS_SUN57_64BIT_ENV
+#ifdef AFS_SUN5_64BIT_ENV
#include <sys/model.h> /* for get_udatamodel() */
#endif
#define osi_Time() (hrestime.tv_sec)
#endif
-#ifdef AFS_SUN58_ENV
-# define osi_vnhold(avc, r) do { \
+#define osi_vnhold(avc, r) do { \
struct vnode *vp = AFSTOV(avc); \
uint_t prevcount; \
\
VFS_HOLD(afs_globalVFS); \
} \
} while(0)
-#else /* !AFS_SUN58_ENV */
-# define osi_vnhold(avc, r) do { VN_HOLD(AFSTOV(avc)); } while(0)
-#endif /* !AFS_SUN58_ENV */
#define gop_rdwr(rw,gp,base,len,offset,segflg,ioflag,ulimit,cr,aresid) \
vn_rdwr((rw),(gp),(base),(len),(offset),(segflg),(ioflag),(ulimit),(cr),(aresid))
#define IO_SYNC FSYNC
#endif
-#if defined(AFS_SUN56_ENV)
/*
** Macro returns 1 if file is larger than 2GB; else returns 0
*/
#define AfsLargeFileUio(uio) ( (uio)->_uio_offset._p._u ? 1 : 0 )
#undef AfsLargeFileSize
#define AfsLargeFileSize(pos, off) ( ((offset_t)(pos)+(offset_t)(off) > (offset_t)0x7fffffff)?1:0)
-#endif
#if defined(AFS_SUN510_ENV)
#include "h/sunddi.h"
extern afs_rwlock_t afs_xosi;
/* osi_vnodeops.c */
-int afs_putapage(struct vnode *vp, struct page *pages,
-#if defined(AFS_SUN56_ENV)
- u_offset_t * offp,
-#else
- u_int * offp,
-#endif
-#if defined(AFS_SUN58_ENV)
- size_t * lenp,
-#else
- u_int * lenp,
-#endif
- int flags, afs_ucred_t *credp);
-
-
+int afs_putapage(struct vnode *vp, struct page *pages, u_offset_t * offp,
+ size_t * lenp, int flags, afs_ucred_t *credp);
#endif /* _OSI_PROTOTYPES_H_ */
rw_init(&avc->rwlock, "vcache rwlock", RW_DEFAULT, NULL);
-#if defined(AFS_SUN55_ENV)
/* This is required if the kaio (kernel aynchronous io)
** module is installed. Inside the kernel, the function
** check_vp( common/os/aio.c) checks to see if the kernel has
** for the time being, we fill up the v_data field with the
** vnode pointer itself. */
avc->v.v_data = (char *)avc;
-#endif /* AFS_SUN55_ENV */
#if defined(AFS_BOZONLOCK_ENV)
afs_BozonInit(&avc->pvnLock, avc);
AFSTOV(avc)->v_vfsp = afs_globalVFS;
vSetType(avc, VREG);
-#ifdef AFS_SUN58_ENV
/* Normally we do this in osi_vnhold when we notice the ref count went from
* 0 -> 1. But if we just setup or reused a vcache, we set the refcount to
* 1 directly. So, we must explicitly VFS_HOLD here. */
VFS_HOLD(afs_globalVFS);
-#endif
}
#endif
#include <sys/kobj.h>
-#ifdef AFS_SUN58_ENV
-# include <sys/mount.h>
-#endif
+#include <sys/mount.h>
struct vfs *afs_globalVFS = 0;
struct vcache *afs_globalVp = 0;
-#if defined(AFS_SUN57_64BIT_ENV)
+#if defined(AFS_SUN5_64BIT_ENV)
extern struct sysent sysent32[];
#endif
afs_shutdown();
}
-#if defined(AFS_SUN58_ENV)
int
afs_unmount(struct vfs *afsp, int flag, afs_ucred_t *credp)
-#else
-int
-afs_unmount(struct vfs *afsp, afs_ucred_t *credp)
-#endif
{
struct vcache *rootvp = NULL;
return (EPERM);
}
-#ifdef AFS_SUN58_ENV
if (flag & MS_FORCE) {
AFS_GUNLOCK();
return ENOTSUP;
}
afsp->vfs_flag |= VFS_UNMOUNTED;
-#endif /* AFS_SUN58_ENV */
/* release the root vnode, which should be the last reference to us
* besides the caller of afs_unmount */
afs_globalVp = NULL;
AFS_RELE(rootvp);
-#ifndef AFS_SUN58_ENV
- /* shutdown now, since gafs_freevfs() will not be called */
- afs_freevfs();
-#endif /* !AFS_SUN58_ENV */
-
AFS_GUNLOCK();
return 0;
}
-#ifdef AFS_SUN58_ENV
void
gafs_freevfs(struct vfs *afsp)
{
AFS_GUNLOCK();
}
-#endif /* AFS_SUN58_ENV */
int
afs_root(struct vfs *afsp, struct vnode **avpp)
return code;
}
-#ifdef AFS_SUN56_ENV
int
afs_statvfs(struct vfs *afsp, struct statvfs64 *abp)
-#else
-int
-afs_statvfs(struct vfs *afsp, struct statvfs *abp)
-#endif
{
AFS_GLOCK();
afs_vget,
afs_mountroot,
afs_swapvp,
-#if defined(AFS_SUN58_ENV)
gafs_freevfs,
-#endif
};
#endif
sysent[SYS_setgroups].sy_callc = afs_xsetgroups;
sysent[SYS_ioctl].sy_call = afs_xioctl;
-#if defined(AFS_SUN57_64BIT_ENV)
+#if defined(AFS_SUN5_64BIT_ENV)
afs_orig_setgroups32 = sysent32[SYS_setgroups].sy_callc;
afs_orig_ioctl32 = sysent32[SYS_ioctl].sy_call;
sysent32[SYS_setgroups].sy_callc = afs_xsetgroups;
sysent32[SYS_ioctl].sy_call = afs_xioctl;
-#endif /* AFS_SUN57_64BIT_ENV */
+#endif /* AFS_SUN5_64BIT_ENV */
#ifdef AFS_SUN510_ENV
vfs_setfsops(fstype, afs_vfsops_template, &afs_vfsopsp);
* land here from sysent or sysent32
*/
-# if defined(AFS_SUN57_64BIT_ENV)
+# if defined(AFS_SUN5_64BIT_ENV)
extern struct mod_ops mod_syscallops32;
static struct modlsys afsmodlsys32 = {
(void *)&afs_modldrv,
#else
(void *)&afsmodlsys,
-# ifdef AFS_SUN57_64BIT_ENV
+# ifdef AFS_SUN5_64BIT_ENV
(void *)&afsmodlsys32,
# endif
#endif /* !AFS_SUN511_ENV */
if (afs_sinited) {
sysent[SYS_setgroups].sy_callc = afs_orig_setgroups;
sysent[SYS_ioctl].sy_call = afs_orig_ioctl;
-#if defined(AFS_SUN57_64BIT_ENV)
+#if defined(AFS_SUN5_64BIT_ENV)
sysent32[SYS_setgroups].sy_callc = afs_orig_setgroups32;
sysent32[SYS_ioctl].sy_call = afs_orig_ioctl32;
#endif
return (ENOSYS);
}
#ifndef AFS_NONFSTRANS
-#if defined(AFS_SUN55_ENV)
if ((!(mp = mod_find_by_filename("misc", "nfssrv"))
&& !(mp = mod_find_by_filename(NULL, NFSSRV))
&& !(mp = mod_find_by_filename(NULL, NFSSRV_V9))
("misc/nfssrv module must be loaded before loading afs with nfs-xlator\n");
return (ENOSYS);
}
-#else /* !AFS_SUN55_ENV */
-#if defined(AFS_SUN52_ENV)
- if ((!(mp = mod_find_by_filename("fs", "nfs"))
- && !(mp = mod_find_by_filename(NULL, "/kernel/fs/nfs"))
- && !(mp = mod_find_by_filename(NULL, "sys/nfs"))) || (mp
- && !mp->
- mod_installed))
- {
- printf
- ("fs/nfs module must be loaded before loading afs with nfs-xlator\n");
- return (ENOSYS);
- }
-#endif /* AFS_SUN52_ENV */
-#endif /* AFS_SUN55_ENV */
#endif /* !AFS_NONFSTRANS */
-#ifndef AFS_SUN511_ENV
- /* syscall initialization stff */
-
-# if !defined(AFS_SUN58_ENV)
- /*
- * Re-read the /etc/name_to_sysnum file to make sure afs isn't added after
- * reboot. Ideally we would like to call modctl_read_sysbinding_file() but
- * unfortunately in Solaris 2.2 it became a local function so we have to do
- * the read_binding_file() direct call with the appropriate text file and
- * system call hashtable. make_syscallname actually copies "afs" to the
- * proper slot entry and we also actually have to properly initialize the
- * global sysent[AFS_SYSCALL] entry!
- */
-# ifdef AFS_SUN53_ENV
-# ifndef SYSBINDFILE
-# define SYSBINDFILE "/etc/name_to_sysnum"
-# endif /* SYSBINDFILE */
- read_binding_file(SYSBINDFILE, sb_hashtab);
-# else /* !AFS_SUN53_ENV */
- read_binding_file(sysbind, sb_hashtab);
-# endif /* AFS_SUN53_ENV */
- make_syscallname("afs", AFS_SYSCALL);
-
- if (sysent[AFS_SYSCALL].sy_call == nosys) {
- if ((sysn = mod_getsysname(AFS_SYSCALL)) != NULL) {
- sysent[AFS_SYSCALL].sy_lock =
- (krwlock_t *) kobj_zalloc(sizeof(krwlock_t), KM_SLEEP);
- rw_init(sysent[AFS_SYSCALL].sy_lock, "afs_syscall",
-# ifdef AFS_SUN57_ENV
- RW_DEFAULT, NULL);
-# else /* !AFS_SUN57_ENV */
- RW_DEFAULT, DEFAULT_WT);
-# endif /* AFS_SUN57_ENV */
- }
- }
-# endif /* !AFS_SUN58_ENV */
-#endif /* !AFS_SUN511_ENV */
osi_Init(); /* initialize global lock, etc */
osi_VM_StoreAllSegments(struct vcache *avc)
{
AFS_GUNLOCK();
-#if defined(AFS_SUN56_ENV)
(void)pvn_vplist_dirty(AFSTOV(avc), (u_offset_t) 0, afs_putapage, 0,
CRED());
-#else
- (void)pvn_vplist_dirty(AFSTOV(avc), 0, afs_putapage, 0, CRED());
-#endif
AFS_GLOCK();
}
osi_VM_TryToSmush(struct vcache *avc, afs_ucred_t *acred, int sync)
{
AFS_GUNLOCK();
-#if defined(AFS_SUN56_ENV)
(void)pvn_vplist_dirty(AFSTOV(avc), (u_offset_t) 0, afs_putapage,
(sync ? B_INVAL : B_FREE), acred);
-#else
- (void)pvn_vplist_dirty(AFSTOV(avc), 0, afs_putapage,
- (sync ? B_INVAL : B_FREE), acred);
-#endif
AFS_GLOCK();
}
if (len <= PAGESIZE)
code =
- afs_GetOnePage(vp,
-#if !defined(AFS_SUN56_ENV)
- (u_int)
-#endif
- off, len, protp, pl, plsz, seg, addr, rw, acred);
+ afs_GetOnePage(vp, off, len, protp, pl, plsz, seg, addr, rw, acred);
else {
struct vcache *vcp = VTOAFS(vp);
ObtainWriteLock(&vcp->vlock, 548);
ReleaseWriteLock(&vcp->vlock);
afs_BozonLock(&vcp->pvnLock, vcp);
code =
- pvn_getpages(afs_GetOnePage, vp,
-#if !defined(AFS_SUN56_ENV)
- (u_int)
-#endif
- off, len, protp, pl, plsz, seg, addr, rw, acred);
+ pvn_getpages(afs_GetOnePage, vp, off, len, protp, pl, plsz, seg, addr, rw, acred);
afs_BozonUnlock(&vcp->pvnLock, vcp);
ObtainWriteLock(&vcp->vlock, 549);
vcp->multiPage--;
/* Return all the pages from [off..off+len) in file */
int
-#if defined(AFS_SUN56_ENV)
afs_GetOnePage(struct vnode *vp, u_offset_t off, u_int alen, u_int *protp,
struct page *pl[], u_int plsz, struct seg *seg, caddr_t addr,
enum seg_rw rw, afs_ucred_t *acred)
-#else
-afs_GetOnePage(struct vnode *vp, u_int off, u_int alen, u_int *protp,
- struct page *pl[], u_int plsz, struct seg *seg, caddr_t addr,
- enum seg_rw rw, afs_ucred_t *acred)
-#endif
{
struct page *page;
afs_int32 code = 0;
/* if we make it here, we can't find the page in memory. Do a real disk read
* from the cache to get the data */
Code |= 0x200; /* XXX */
-#if defined(AFS_SUN54_ENV)
/* use PG_EXCL because we know the page does not exist already. If it
* actually does exist, we have somehow raced between lookup and create.
* As of 4/98, that shouldn't be possible, but we'll be defensive here
* in case someone tries to relax all the serialization of read and write
* operations with harmless things like stat. */
-#if defined(AFS_SUN58_ENV)
page =
page_create_va(vp, toffset, PAGESIZE, PG_WAIT | PG_EXCL, seg,
addr);
-#else
- page =
- page_create_va(vp, toffset, PAGESIZE, PG_WAIT | PG_EXCL,
- seg->s_as, addr);
-#endif
-#else
- page = page_create(vp, toffset, PAGESIZE, PG_WAIT);
-#endif
if (!page) {
continue;
}
buf = pageio_setup(page, PAGESIZE, vp, B_READ); /* allocate a buf structure */
buf->b_edev = 0;
buf->b_dev = 0;
-#if defined(AFS_SUN56_ENV)
buf->b_lblkno = lbtodb(toffset);
-#else
- buf->b_blkno = btodb(toffset);
-#endif
bp_mapin(buf); /* map it in to our address space */
AFS_GLOCK();
nextpage:
/* put page in array and continue */
/* The p_selock must be downgraded to a shared lock after the page is read */
-#if defined(AFS_SUN56_ENV)
- if ((rw != S_CREATE) && !(PAGE_SHARED(page)))
-#else
- if ((rw != S_CREATE) && !(se_shared_assert(&page->p_selock)))
-#endif
- {
+ if ((rw != S_CREATE) && !(PAGE_SHARED(page))) {
page_downgrade(page);
}
pl[slot++] = page;
struct vcache *avc;
struct page *pages;
afs_int32 code = 0;
-#if defined(AFS_SUN58_ENV)
size_t tlen;
-#else
- afs_int32 tlen;
-#endif
afs_offs_t endPos;
afs_int32 NPages = 0;
-#if defined(AFS_SUN56_ENV)
u_offset_t toff = off;
-#else
- int toff = (int)off;
-#endif
int didWriteLock;
AFS_STATCNT(afs_putpage);
}
AFS_GUNLOCK();
-#if defined(AFS_SUN56_ENV)
code = pvn_vplist_dirty(vp, toff, afs_putapage, flags, cred);
-#else
- code = pvn_vplist_dirty(vp, (u_int) off, afs_putapage, flags, cred);
-#endif
AFS_GLOCK();
}
int
-#if defined(AFS_SUN58_ENV)
afs_putapage(struct vnode *vp, struct page *pages, u_offset_t * offp,
size_t * lenp, int flags, afs_ucred_t *credp)
-#elif defined(AFS_SUN56_ENV)
-afs_putapage(struct vnode *vp, struct page *pages, u_offset_t * offp,
- u_int * lenp, int flags, afs_ucred_t *credp)
-#else
-afs_putapage(struct vnode *vp, struct page *pages, u_int * offp,
- u_int * lenp, int flags, afs_ucred_t *credp)
-#endif
{
struct buf *tbuf;
struct vcache *avc = VTOAFS(vp);
return (ENOMEM);
tbuf->b_dev = 0;
-#if defined(AFS_SUN56_ENV)
tbuf->b_lblkno = lbtodb(pages->p_offset);
-#else
- tbuf->b_blkno = btodb(pages->p_offset);
-#endif
bp_mapin(tbuf);
AFS_GLOCK();
afs_Trace4(afs_iclSetp, CM_TRACE_PAGEOUTONE, ICL_TYPE_LONG, avc,
/* adjust parameters when appending files */
if ((ioflag & IO_APPEND) && arw == UIO_WRITE) {
-#if defined(AFS_SUN56_ENV)
auio->uio_loffset = avc->f.m.Length; /* write at EOF position */
-#else
- auio->uio_offset = avc->f.m.Length; /* write at EOF position */
-#endif
}
if (auio->afsio_offset < 0 || (auio->afsio_offset + auio->uio_resid) < 0) {
ReleaseWriteLock(&avc->lock);
didFakeOpen = 0; /* keep track of open so we can do close */
if (arw == UIO_WRITE) {
/* do ulimit processing; shrink resid or fail */
-#if defined(AFS_SUN56_ENV)
if (auio->uio_loffset + auio->afsio_resid > auio->uio_llimit) {
if (auio->uio_loffset >= auio->uio_llimit) {
ReleaseWriteLock(&avc->lock);
extraResid -= auio->uio_resid;
}
}
-#else
-#ifdef AFS_SUN52_ENV
- if (auio->afsio_offset + auio->afsio_resid > auio->uio_limit) {
- if (auio->afsio_offset >= auio->uio_limit) {
- ReleaseWriteLock(&avc->lock);
- afs_BozonUnlock(&avc->pvnLock, avc);
- return EFBIG;
- } else {
- /* track # of bytes we should write, but won't because of
- * ulimit; we must add this into the final resid value
- * so caller knows we punted some data.
- */
- extraResid = auio->uio_resid;
- auio->uio_resid = auio->uio_limit - auio->afsio_offset;
- extraResid -= auio->uio_resid;
- }
- }
-#endif
-#endif /* SUN56 */
mode = S_WRITE; /* segment map-in mode */
afs_FakeOpen(avc); /* do this for writes, so data gets put back
* when we want it to be put back */
}
ReleaseWriteLock(&avc->lock); /* uiomove may page fault */
AFS_GUNLOCK();
-#if defined(AFS_SUN56_ENV)
data = segmap_getmap(segkmap, AFSTOV(avc), (u_offset_t) pageBase);
raddr = (caddr_t) (((uintptr_t) data + pageOffset) & PAGEMASK);
-#else
- data = segmap_getmap(segkmap, AFSTOV(avc), pageBase);
- raddr = (caddr_t) (((u_int) data + pageOffset) & PAGEMASK);
-#endif
rsize =
(((u_int) data + pageOffset + tsize + PAGEOFFSET) & PAGEMASK) -
(u_int) raddr;
ReleaseWriteLock(&avc->lock);
afs_BozonUnlock(&avc->pvnLock, avc);
if (!code) {
-#ifdef AFS_SUN53_ENV
if ((ioflag & FSYNC) && (arw == UIO_WRITE)
&& !AFS_NFSXLATORREQ(acred))
code = afs_fsync(avc, 0, acred);
-#else
- if ((ioflag & IO_SYNC) && (arw == UIO_WRITE)
- && !AFS_NFSXLATORREQ(acred))
- code = afs_fsync(avc, acred);
-#endif
}
-#ifdef AFS_SUN52_ENV
/*
* If things worked, add in as remaining in request any bytes
* we didn't write due to file size ulimit.
*/
if (code == 0 && extraResid > 0)
auio->uio_resid += extraResid;
-#endif
return afs_CheckCode(code, &treq, 46);
}
AFS_GUNLOCK();
as_rangelock(as);
if ((flags & MAP_FIXED) == 0) {
-#if defined(AFS_SUN57_ENV)
map_addr(addr, len, off, 1, flags);
-#elif defined(AFS_SUN56_ENV)
- map_addr(addr, len, off, 1);
-#else
- map_addr(addr, len, (off_t) off, 1);
-#endif
if (*addr == NULL) {
as_rangeunlock(as);
code = ENOMEM;
#ifdef AFS_SUN59_ENV
afs_frlock(struct vnode *vnp, int cmd, struct flock64 *ap, int flag,
offset_t off, struct flk_callback *flkcb, afs_ucred_t *credp)
-#elif defined(AFS_SUN56_ENV)
-afs_frlock(struct vnode *vnp, int cmd, struct flock64 *ap, int flag,
- offset_t off, afs_ucred_t *credp)
#else
-afs_frlock(struct vnode *vnp, int cmd, struct flock *ap, int flag,
+afs_frlock(struct vnode *vnp, int cmd, struct flock64 *ap, int flag,
offset_t off, afs_ucred_t *credp)
#endif
{
#endif
if ((cmd == F_GETLK) || (cmd == F_O_GETLK) || (cmd == F_SETLK)
|| (cmd == F_SETLKW)) {
-#ifdef AFS_SUN53_ENV
ap->l_pid = ttoproc(curthread)->p_pid;
ap->l_sysid = 0;
-#else
- ap->l_pid = ttoproc(curthread)->p_epid;
- ap->l_sysid = ttoproc(curthread)->p_sysid;
-#endif
AFS_GUNLOCK();
-#ifdef AFS_SUN56_ENV
code = convoff(vnp, ap, 0, off);
-#else
- code = convoff(vnp, ap, 0, (off_t) off);
-#endif
if (code)
return code;
AFS_GLOCK();
int
-#if defined(AFS_SUN56_ENV)
afs_space(struct vnode *vnp, int cmd, struct flock64 *ap, int flag,
offset_t off, afs_ucred_t *credp)
-#else
-afs_space(struct vnode *vnp, int cmd, struct flock *ap, int flag,
- offset_t off, afs_ucred_t *credp)
-#endif
{
afs_int32 code = EINVAL;
struct vattr vattr;
if ((cmd == F_FREESP)
-#ifdef AFS_SUN56_ENV
&& ((code = convoff(vnp, ap, 0, off)) == 0)) {
-#else
- && ((code = convoff(vnp, ap, 0, (off_t) off)) == 0)) {
-#endif
AFS_GLOCK();
if (!ap->l_len) {
vattr.va_mask = AT_SIZE;
return EINVAL;
}
-#ifdef AFS_SUN54_ENV
#ifdef AFS_SUN511_ENV
extern void
afs_dispose(struct vnode *vp, struct page *p, int fl, int dn, struct cred *cr, struct caller_context_t *ct)
return fs_fab_acl(vp, vsecattr, flag, creds);
}
#endif
-#endif
#ifdef AFS_GLOBAL_SUNLOCK
extern int gafs_open(struct vcache **avcp, afs_int32 aflags,
extern int gafs_mkdir(struct vcache *adp, char *aname,
struct vattr *attrs, struct vcache **avcp,
afs_ucred_t *acred);
-extern int
-#ifdef AFS_SUN53_ENV
-gafs_fsync(struct vcache *avc, int flag, afs_ucred_t *acred);
-#else
-gafs_fsync(struct vcache *avc, afs_ucred_t *acred);
-#endif
+extern int gafs_fsync(struct vcache *avc, int flag, afs_ucred_t *acred);
extern int gafs_readlink(struct vcache *avc, struct uio *auio,
afs_ucred_t *acred);
extern int gafs_readdir(struct vcache *avc, struct uio *auio,
afs_pathconf,
afs_pageio,
afs_dumpctl,
-#ifdef AFS_SUN54_ENV
afs_dispose,
afs_setsecattr,
afs_getsecattr,
-#endif
-#if defined(AFS_SUN56_ENV)
fs_shrlock,
-#endif
};
struct vnodeops *afs_ops = &Afs_vnodeops;
#endif
}
int
-#ifdef AFS_SUN53_ENV
gafs_fsync(struct vcache *avc, int flag, afs_ucred_t *acred)
-#else
-gafs_fsync(struct vcache *avc, afs_ucred_t *acred)
-#endif
{
int code;
AFS_GLOCK();
-#ifdef AFS_SUN53_ENV
code = afs_fsync(avc, flag, acred);
-#else
- code = afs_fsync(avc, acred);
-#endif
AFS_GUNLOCK();
return (code);
}
afs_InactiveVCache(avc, acred);
-#ifdef AFS_SUN58_ENV
AFS_GUNLOCK();
/* VFS_RELE must be called outside of GLOCK, since it can potentially
* call afs_freevfs, which acquires GLOCK */
VFS_RELE(afs_globalVFS);
AFS_GLOCK();
-#endif
return 0;
}
#endif /* AFS_DARWIN_ENV */
attrs->va_uid = fakedir ? 0 : avc->f.m.Owner;
attrs->va_gid = fakedir ? 0 : avc->f.m.Group; /* yeah! */
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
attrs->va_fsid = avc->v.v_vfsp->vfs_fsid.val[0];
#elif defined(AFS_DARWIN80_ENV)
VATTR_RETURN(attrs, va_fsid, vfs_statfs(vnode_mount(AFSTOV(avc)))->f_fsid.val[0]);
int
#ifdef AFS_AIX41_ENV
afs_fid(OSI_VC_DECL(avc), struct fid *fidpp, struct ucred *credp)
-#elif defined(AFS_SUN54_ENV)
+#elif defined(AFS_SUN5_ENV)
afs_fid(OSI_VC_DECL(avc), struct fid *fidpp)
#else
afs_fid(OSI_VC_DECL(avc), struct fid **fidpp)
if (avc->f.fid.Fid.Unique > 0xffffff)
afs_fid_uniqueoverflow++;
} else {
-#if defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_SGI61_ENV) && (_MIPS_SZPTR == 64))
+#if defined(AFS_SUN5_64BIT_ENV) || (defined(AFS_SGI61_ENV) && (_MIPS_SZPTR == 64))
addr[1] = (long)AFS_XLATOR_MAGIC << 48;
#else /* defined(AFS_SGI61_ENV) && (_MIPS_SZPTR == 64) */
addr[1] = AFS_XLATOR_MAGIC;
AFS_FAST_HOLD(avc);
#endif
}
-#if defined(AFS_AIX_ENV) || defined(AFS_SUN54_ENV)
+#if defined(AFS_AIX_ENV) || defined(AFS_SUN5_ENV)
/* Use the fid pointer passed to us. */
fidpp->fid_len = SizeOfSmallFid;
proc_t *procp = ttoproc(curthread);
if (slp) {
-# ifdef AFS_SUN53_ENV
slp->sysid = 0;
slp->pid = procp->p_pid;
-# else
- slp->sysid = procp->p_sysid;
- slp->pid = procp->p_epid;
-# endif
} else {
-# ifdef AFS_SUN53_ENV
flock->l_sysid = 0;
flock->l_pid = procp->p_pid;
-# else
- flock->l_sysid = procp->p_sysid;
- flock->l_pid = procp->p_epid;
-# endif
}
}
#elif defined(AFS_SGI_ENV)
if (code) {
goto done;
}
-#if (defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV)) && !defined(AFS_SUN58_ENV)
+#if defined(AFS_SGI_ENV)
if ((acmd == F_GETLK) || (acmd == F_RGETLK)) {
#else
if (acmd == F_GETLK) {
code = afs_CheckCode(code, &treq, 2); /* defeat buggy AIX optimz */
goto done;
} else if ((acmd == F_SETLK) || (acmd == F_SETLKW)
-#if (defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV)) && !defined(AFS_SUN58_ENV)
+#if defined(AFS_SGI_ENV)
|| (acmd == F_RSETLK) || (acmd == F_RSETLKW)) {
#else
) {
return EINVAL; /* unknown lock type */
}
if (((acmd == F_SETLK)
-#if (defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV)) && !defined(AFS_SUN58_ENV)
+#if defined(AFS_SGI_ENV)
|| (acmd == F_RSETLK)
#endif
) && code != LOCK_UN)
#define DIRSIZ_LEN(len) \
((sizeof (struct __dirent) - (_MAXNAMLEN+1)) + (((len)+1 + DIRPAD) &~ DIRPAD))
#else
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#define DIRSIZ_LEN(len) ((18 + (len) + 1 + 7) & ~7 )
#else
-#ifdef AFS_SUN5_ENV
-#define DIRSIZ_LEN(len) ((10 + (len) + 1 + (NBPW-1)) & ~(NBPW-1))
-#else
#ifdef AFS_NBSD40_ENV
#define DIRSIZ_LEN(len) \
((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((len)+1 + 7) & ~7))
#endif /* AFS_DIRENT */
#endif /* AFS_NBSD40_ENV */
#endif /* AFS_SUN5_ENV */
-#endif /* AFS_SUN56_ENV */
#endif /* AFS_HPUX100_ENV */
#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
struct volume *tvp;
afs_uint32 Volume = vc->f.fid.Fid.Volume;
afs_uint32 Vnode = de->fid.vnode;
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
struct dirent64 *direntp;
#else
-#if defined(AFS_SUN5_ENV) || (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL))
+#if (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL))
struct dirent *direntp;
#endif
-#endif /* AFS_SUN56_ENV */
+#endif /* AFS_SUN5_ENV */
#ifndef AFS_SGI53_ENV
struct min_direct sdirEntry;
#endif /* AFS_SGI53_ENV */
}
#else /* AFS_SGI53_ENV */
#if defined(AFS_SUN5_ENV) || (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL))
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
direntp = (struct dirent64 *)osi_AllocLargeSpace(AFS_LRALLOCSIZ);
#else
direntp = (struct dirent *)osi_AllocLargeSpace(AFS_LRALLOCSIZ);
#else
if (aio & IO_APPEND) {
/* append mode, start it at the right spot */
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
auio->uio_loffset = 0;
#endif
filePos = avc->f.m.Length;
int
-#if defined(AFS_SGI_ENV) || defined(AFS_SUN53_ENV)
+#if defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV)
afs_fsync(OSI_VC_DECL(avc), int flag, afs_ucred_t *acred
# ifdef AFS_SGI65_ENV
, off_t start, off_t stop
# endif /* AFS_SGI65_ENV */
)
-#else /* !SUN53 && !SGI */
+#else /* !SUN5 && !SGI */
afs_fsync(OSI_VC_DECL(avc), afs_ucred_t *acred)
#endif
{
#if defined(AFS_HPUX102_ENV)
#define AFS_FLOCK k_flock
#else
-#if defined(AFS_SUN56_ENV) || (defined(AFS_LINUX24_ENV) && !(defined(AFS_LINUX26_ENV) && defined(AFS_LINUX_64BIT_KERNEL)))
+#if defined(AFS_SUN5_ENV) || (defined(AFS_LINUX24_ENV) && !(defined(AFS_LINUX26_ENV) && defined(AFS_LINUX_64BIT_KERNEL)))
#define AFS_FLOCK flock64
#else
#define AFS_FLOCK flock
#if defined(AFS_CACHE_VNODE_PATH)
typedef char *afs_ufs_dcache_id_t;
-#elif defined(AFS_SGI61_ENV) || defined(AFS_SUN57_64BIT_ENV)
+#elif defined(AFS_SGI61_ENV) || defined(AFS_SUN5_64BIT_ENV)
/* Using ino64_t here so that user level debugging programs compile
* the size correctly.
*/
* to accomodate both, *long* is used instead of afs_int32
*/
-# ifdef AFS_SUN57_ENV
struct afssysa {
long syscall;
long parm1;
long parm5;
long parm6;
};
-# else
-struct afssysa {
- afs_int32 syscall;
- afs_int32 parm1;
- afs_int32 parm2;
- afs_int32 parm3;
- afs_int32 parm4;
- afs_int32 parm5;
- afs_int32 parm6;
-};
-# endif
extern int Afs_syscall(struct afssysa *uap, rval_t *rvp);
#endif /* AFS_SUN5_ENV */
#include "afs/afs_util.h"
#include "afs/unified_afs.h"
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#include <inet/led.h>
#include <inet/common.h>
-#if defined(AFS_SUN58_ENV)
#include <netinet/ip6.h>
-#endif
#include <inet/ip.h>
#endif
#endif
{
afs_int32 code = 0;
-#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
+#if defined(AFS_SGI61_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
size_t bufferSize;
#else /* AFS_SGI61_ENV */
u_int bufferSize;
#include "afsincludes.h" /* Afs-based standard headers */
#include "afs/afs_stats.h" /* afs statistics */
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#include <inet/led.h>
#include <inet/common.h>
-#if defined(AFS_SUN58_ENV)
#include <netinet/ip6.h>
-#endif
#include <inet/ip.h>
#endif
#include "afs/afs_util.h"
#include "afs/unified_afs.h"
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#include <inet/led.h>
#include <inet/common.h>
-#if defined(AFS_SUN58_ENV)
#include <netinet/ip6.h>
-#endif
#include <inet/ip.h>
#endif
afs_int32 code;
struct afs_icl_log *logp;
struct afs_icl_set *setp;
-#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
+#if defined(AFS_SGI61_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
size_t temp;
#else /* AFS_SGI61_ENV */
#if defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL)
if (code || !filevp)
return ENOENT;
{
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
struct statvfs64 st;
#elif defined(AFS_HPUX102_ENV)
struct k_statvfs st;
-#elif defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) || defined(AFS_HPUX100_ENV) || defined(AFS_NBSD40_ENV)
+#elif defined(AFS_SGI_ENV) || defined(AFS_HPUX100_ENV) || defined(AFS_NBSD40_ENV)
struct statvfs st;
#elif defined(AFS_DARWIN80_ENV)
struct vfsstatfs st;
#else
struct statfs st;
-#endif /* SUN56 */
+#endif /* SUN5 */
#if defined(AFS_SGI_ENV)
#ifdef AFS_SGI65_ENV
#define __XDR_INCLUDE__
#include "afs/stds.h"
#include "afs/sysincludes.h" /* Standard vendor system headers */
-#if defined(AFS_SUN55_ENV) && !defined(AFS_NONFSTRANS)
+#if defined(AFS_SUN5_ENV) && !defined(AFS_NONFSTRANS)
#include "rpc/types.h"
#include "rpc/auth.h"
#include "rpc/auth_unix.h"
#include "rpc/auth_des.h"
-#if !defined(AFS_SUN58_ENV)
-#include "rpc/auth_kerb.h"
-#endif
#include "sys/tiuser.h"
#include "rpc/xdr.h"
#include "rpc/svc.h"
afs_int32 addr[2];
struct vcache *vcp;
-#if defined(AFS_SUN57_64BIT_ENV)
+#if defined(AFS_SUN5_64BIT_ENV)
/* See also afs_fid() */
memcpy((char *)addr, fhp->fh_data, SIZEOF_SMALLFID);
addr[1] = (addr[1] >> 48) & 0xffff;
case NFSPROC3_LOOKUP:
{
LOOKUP3args *arg = (LOOKUP3args *) args;
-#ifdef AFS_SUN58_ENV
fhp1 = (nfs_fh3 *) arg->what.dirp;
-#else
- fhp1 = (nfs_fh3 *) & arg->what.dir;
-#endif
break;
}
case NFSPROC3_ACCESS:
case NFSPROC3_CREATE:
{
CREATE3args *arg = (CREATE3args *) args;
-#ifdef AFS_SUN58_ENV
fhp1 = (nfs_fh3 *) arg->where.dirp;
-#else
- fhp1 = (nfs_fh3 *) & arg->where.dir;
-#endif
break;
}
case NFSPROC3_MKDIR:
{
MKDIR3args *arg = (MKDIR3args *) args;
-#ifdef AFS_SUN58_ENV
fhp1 = (nfs_fh3 *) arg->where.dirp;
-#else
- fhp1 = (nfs_fh3 *) & arg->where.dir;
-#endif
break;
}
case NFSPROC3_SYMLINK:
{
SYMLINK3args *arg = (SYMLINK3args *) args;
-#ifdef AFS_SUN58_ENV
fhp1 = (nfs_fh3 *) arg->where.dirp;
-#else
- fhp1 = (nfs_fh3 *) & arg->where.dir;
-#endif
break;
}
case NFSPROC3_MKNOD:
{
MKNOD3args *arg = (MKNOD3args *) args;
-#ifdef AFS_SUN58_ENV
fhp1 = (nfs_fh3 *) arg->where.dirp;
-#else
- fhp1 = (nfs_fh3 *) & arg->where.dir;
-#endif
break;
}
case NFSPROC3_REMOVE:
{
REMOVE3args *arg = (REMOVE3args *) args;
-#ifdef AFS_SUN58_ENV
fhp1 = (nfs_fh3 *) arg->object.dirp;
-#else
- fhp1 = (nfs_fh3 *) & arg->object.dir;
-#endif
break;
}
case NFSPROC3_RMDIR:
{
RMDIR3args *arg = (RMDIR3args *) args;
-#ifdef AFS_SUN58_ENV
fhp1 = (nfs_fh3 *) arg->object.dirp;
-#else
- fhp1 = (nfs_fh3 *) & arg->object.dir;
-#endif
break;
}
case NFSPROC3_RENAME:
{
RENAME3args *arg = (RENAME3args *) args;
-#ifdef AFS_SUN58_ENV
fhp1 = (nfs_fh3 *) arg->from.dirp;
fhp2 = (nfs_fh3 *) arg->to.dirp;
-#else
- fhp1 = (nfs_fh3 *) & arg->from.dir;
- fhp2 = (nfs_fh3 *) & arg->to.dir;
-#endif
break;
}
case NFSPROC3_LINK:
{
LINK3args *arg = (LINK3args *) args;
fhp1 = (nfs_fh3 *) & arg->file;
-#ifdef AFS_SUN58_ENV
fhp2 = (nfs_fh3 *) arg->link.dirp;
-#else
- fhp2 = (nfs_fh3 *) & arg->link.dir;
-#endif
break;
}
case NFSPROC3_READDIR:
afs_int32 addr[2];
struct vcache *vcp;
-#if defined(AFS_SUN57_64BIT_ENV)
+#if defined(AFS_SUN5_64BIT_ENV)
/* See also afs_fid() */
memcpy((char *)addr, fhp->fh3_data, 10);
addr[1] = (addr[1] >> 48) & 0xffff;
t.tv_sec = atv->tv_sec;
t.tv_nsec = atv->tv_usec * 1000;
ksettimer(&t); /* Was -> settimer(TIMEOFDAY, &t); */
-#elif defined(AFS_SUN55_ENV)
- stime(atv->tv_sec);
#elif defined(AFS_SUN5_ENV)
- /*
- * To get more than second resolution we can use adjtime. The problem
- * is that the usecs from the server are wrong (by now) so it isn't
- * worth complicating the following code.
- */
- struct stimea {
- time_t time;
- } sta;
-
- sta.time = atv->tv_sec;
-
- stime(&sta, NULL);
+ stime(atv->tv_sec);
#elif defined(AFS_SGI_ENV)
struct stimea {
sysarg_t time;
afs_int32 tv_sec;
afs_int32 tv_usec;
} osi_timeval_t;
-#elif defined(AFS_SUN57_ENV)
+#elif defined(AFS_SUN5_ENV)
typedef struct timeval32 osi_timeval_t;
#else
typedef struct timeval osi_timeval_t;
int ioctlDone = 0, code = 0;
AFS_STATCNT(afs_xioctl);
-# if defined(AFS_SUN57_ENV)
fd = getf(uap->fd);
if (!fd)
return (EBADF);
-# elif defined(AFS_SUN54_ENV)
- fd = GETF(uap->fd);
- if (!fd)
- return (EBADF);
-# else
- if (code = getf(uap->fd, &fd)) {
- return (code);
- }
-# endif
if (fd->f_vnode->v_type == VREG || fd->f_vnode->v_type == VDIR) {
tvc = VTOAFS(fd->f_vnode); /* valid, given a vnode */
if (tvc && IsAfsVnode(AFSTOV(tvc))) {
if (code) {
osi_FreeSmallSpace(datap);
AFS_GUNLOCK();
-# if defined(AFS_SUN54_ENV)
releasef(uap->fd);
-# else
- releasef(fd);
-# endif
return (EFAULT);
}
code = HandleIoctl(tvc, uap->com, datap);
}
}
}
-# if defined(AFS_SUN57_ENV)
releasef(uap->fd);
-# elif defined(AFS_SUN54_ENV)
- RELEASEF(uap->fd);
-# else
- releasef(fd);
-# endif
if (!ioctlDone)
code = ioctl(uap, rvp);
{
char *tp;
afs_int32 code;
-#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
+#if defined(AFS_SGI61_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
size_t bufferSize;
#else
u_int bufferSize;
#if !defined(AFS_ATHENA_ENV)
#ifdef AFS_AIX41_ENV
int afs_fid(OSI_VC_DECL(avc), struct fid *fidpp, struct ucred *credp);
-#elif defined(AFS_SUN54_ENV)
+#elif defined(AFS_SUN5_ENV)
int afs_fid(OSI_VC_DECL(avc), struct fid *fidpp);
#else
int afs_fid(OSI_VC_DECL(avc), struct fid **fidpp);
#if defined(AFS_SGI65_ENV)
extern int afs_fsync(OSI_VC_DECL(avc), int flags, afs_ucred_t *acred,
off_t start, off_t stop);
-#elif defined(AFS_SGI_ENV) || defined(AFS_SUN53_ENV)
+#elif defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV)
extern int afs_fsync(OSI_VC_DECL(avc), int flag, afs_ucred_t *acred);
#else
extern int afs_fsync(OSI_VC_DECL(avc), afs_ucred_t *acred);
#include "afs/afs_stats.h" /* afs statistics */
#include "rx/rx_multi.h"
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#include <inet/led.h>
#include <inet/common.h>
-#if defined(AFS_SUN58_ENV)
-# include <netinet/ip6.h>
-# define ipif_local_addr ipif_lcl_addr
-# ifndef V4_PART_OF_V6
-# define V4_PART_OF_V6(v6) v6.s6_addr32[3]
-# endif
-# endif
+#include <netinet/ip6.h>
+#define ipif_local_addr ipif_lcl_addr
+#ifndef V4_PART_OF_V6
+# define V4_PART_OF_V6(v6) v6.s6_addr32[3]
+#endif
#include <inet/ip.h>
#endif
#define USEIFADDR
-
-#if defined(AFS_SUN5_ENV) && ! defined(AFS_SUN56_ENV)
-#include <inet/common.h>
-/* IP interface structure, one per local address */
-typedef struct ipif_s {
- /**/ struct ipif_s *ipif_next;
- struct ill_s *ipif_ill; /* Back pointer to our ill */
- long ipif_id; /* Logical unit number */
- u_int ipif_mtu; /* Starts at ipif_ill->ill_max_frag */
- afs_int32 ipif_local_addr; /* Local IP address for this if. */
- afs_int32 ipif_net_mask; /* Net mask for this interface. */
- afs_int32 ipif_broadcast_addr; /* Broadcast addr for this interface. */
- afs_int32 ipif_pp_dst_addr; /* Point-to-point dest address. */
- u_int ipif_flags; /* Interface flags. */
- u_int ipif_metric; /* BSD if metric, for compatibility. */
- u_int ipif_ire_type; /* LOCAL or LOOPBACK */
- mblk_t *ipif_arp_down_mp; /* Allocated at time arp comes up to
- * prevent awkward out of mem condition
- * later
- */
- mblk_t *ipif_saved_ire_mp; /* Allocated for each extra IRE_SUBNET/
- * RESOLVER on this interface so that
- * they can survive ifconfig down.
- */
- /*
- * The packet counts in the ipif contain the sum of the
- * packet counts in dead IREs that were affiliated with
- * this ipif.
- */
- u_long ipif_fo_pkt_count; /* Forwarded thru our dead IREs */
- u_long ipif_ib_pkt_count; /* Inbound packets for our dead IREs */
- u_long ipif_ob_pkt_count; /* Outbound packets to our dead IREs */
- unsigned int
- ipif_multicast_up:1, /* We have joined the allhosts group */
- : 0;
-} ipif_t;
-
-typedef struct ipfb_s {
- /**/ struct ipf_s *ipfb_ipf; /* List of ... */
- kmutex_t ipfb_lock; /* Protect all ipf in list */
-} ipfb_t;
-
-typedef struct ilm_s {
- /**/ afs_int32 ilm_addr;
- int ilm_refcnt;
- u_int ilm_timer; /* IGMP */
- struct ipif_s *ilm_ipif; /* Back pointer to ipif */
- struct ilm_s *ilm_next; /* Linked list for each ill */
-} ilm_t;
-
-typedef struct ill_s {
- /**/ struct ill_s *ill_next; /* Chained in at ill_g_head. */
- struct ill_s **ill_ptpn; /* Pointer to previous next. */
- queue_t *ill_rq; /* Read queue. */
- queue_t *ill_wq; /* Write queue. */
-
- int ill_error; /* Error value sent up by device. */
-
- ipif_t *ill_ipif; /* Interface chain for this ILL. */
- u_int ill_ipif_up_count; /* Number of IPIFs currently up. */
- u_int ill_max_frag; /* Max IDU. */
- char *ill_name; /* Our name. */
- u_int ill_name_length; /* Name length, incl. terminator. */
- u_int ill_subnet_type; /* IRE_RESOLVER or IRE_SUBNET. */
- u_int ill_ppa; /* Physical Point of Attachment num. */
- u_long ill_sap;
- int ill_sap_length; /* Including sign (for position) */
- u_int ill_phys_addr_length; /* Excluding the sap. */
- mblk_t *ill_frag_timer_mp; /* Reassembly timer state. */
- ipfb_t *ill_frag_hash_tbl; /* Fragment hash list head. */
-
- queue_t *ill_bind_pending_q; /* Queue waiting for DL_BIND_ACK. */
- ipif_t *ill_ipif_pending; /* IPIF waiting for DL_BIND_ACK. */
-
- /* ill_hdr_length and ill_hdr_mp will be non zero if
- * the underlying device supports the M_DATA fastpath
- */
- int ill_hdr_length;
-
- ilm_t *ill_ilm; /* Multicast mebership for lower ill */
-
- /* All non-nil cells between 'ill_first_mp_to_free' and
- * 'ill_last_mp_to_free' are freed in ill_delete.
- */
-#define ill_first_mp_to_free ill_hdr_mp
- mblk_t *ill_hdr_mp; /* Contains fastpath template */
- mblk_t *ill_bcast_mp; /* DLPI header for broadcasts. */
- mblk_t *ill_bind_pending; /* T_BIND_REQ awaiting completion. */
- mblk_t *ill_resolver_mp; /* Resolver template. */
- mblk_t *ill_attach_mp;
- mblk_t *ill_bind_mp;
- mblk_t *ill_unbind_mp;
- mblk_t *ill_detach_mp;
-#define ill_last_mp_to_free ill_detach_mp
-
- u_int ill_frag_timer_running:1, ill_needs_attach:1, ill_is_ptp:1,
- ill_priv_stream:1, ill_unbind_pending:1, ill_pad_to_bit_31:27;
- MI_HRT_DCL(ill_rtime)
- MI_HRT_DCL(ill_rtmp)
-} ill_t;
-#endif
-
#ifdef AFS_USERSPACE_IP_ADDR
#ifndef afs_min
#define afs_min(A,B) ((A)<(B)) ? (A) : (B)
#else
for (ill = (struct ill_s *)*addr /*ill_g_headp */ ; ill;
ill = ill->ill_next) {
-#ifdef AFS_SUN58_ENV
/* Make sure this is an IPv4 ILL */
if (ill->ill_isv6)
continue;
-#endif
for (ipif = ill->ill_ipif; ipif; ipif = ipif->ipif_next) {
subnet = ipif->ipif_local_addr & ipif->ipif_net_mask;
subnetmask = ipif->ipif_net_mask;
#endif
#endif /* !defined(UKERNEL) */
-#if (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL)) || defined(AFS_HPUX_64BIT_ENV) || defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_SGI_ENV) && (_MIPS_SZLONG==64)) || defined(NEED_IOCTL32)
+#if (defined(AFS_AIX51_ENV) && defined(AFS_64BIT_KERNEL)) || defined(AFS_HPUX_64BIT_ENV) || defined(AFS_SUN5_64BIT_ENV) || (defined(AFS_SGI_ENV) && (_MIPS_SZLONG==64)) || defined(NEED_IOCTL32)
static void
afs_ioctl32_to_afs_ioctl(const struct afs_ioctl32 *src, struct afs_ioctl *dst)
{
}
#endif /* defined(AFS_HPUX_64BIT_ENV) */
-#if defined(AFS_SUN57_64BIT_ENV)
+#if defined(AFS_SUN5_64BIT_ENV)
struct afs_ioctl32 dst32;
if (get_udatamodel() == DATAMODEL_ILP32) {
afs_ioctl32_to_afs_ioctl(&dst32, dst);
return code;
}
-#endif /* defined(AFS_SUN57_64BIT_ENV) */
+#endif /* defined(AFS_SUN5_64BIT_ENV) */
#if defined(AFS_SGI_ENV) && (_MIPS_SZLONG==64)
struct afs_ioctl32 dst32;
};
-#if defined(AFS_HPUX_64BIT_ENV) || defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV)) || defined(NEED_IOCTL32)
+#if defined(AFS_HPUX_64BIT_ENV) || defined(AFS_SUN5_64BIT_ENV) || (defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV)) || defined(NEED_IOCTL32)
static void
iparam32_to_iparam(const struct iparam32 *src, struct iparam *dst)
{
}
#endif /* AFS_HPUX_64BIT_ENV */
-#if defined(AFS_SUN57_64BIT_ENV)
+#if defined(AFS_SUN5_64BIT_ENV)
struct iparam32 dst32;
if (get_udatamodel() == DATAMODEL_ILP32) {
iparam32_to_iparam(&dst32, dst);
return code;
}
-#endif /* AFS_SUN57_64BIT_ENV */
+#endif /* AFS_SUN5_64BIT_ENV */
#if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV) && !defined(AFS_IA64_LINUX20_ENV)
struct iparam32 dst32;
#include "afsincludes.h" /* Afs-based standard headers */
#include "afs/afs_stats.h" /* afs statistics */
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#include <inet/led.h>
#include <inet/common.h>
-#if defined(AFS_SUN58_ENV)
#include <netinet/ip6.h>
-#endif
#include <inet/ip.h>
#endif
#include "hcrypto/md5.h"
#endif
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#include <inet/led.h>
#include <inet/common.h>
-#if defined(AFS_SUN58_ENV)
#include <netinet/ip6.h>
-#endif
#include <inet/ip.h>
#endif
#include "afs/afs_stats.h" /* afs statistics */
#include "afs/afs_dynroot.h"
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#include <inet/led.h>
#include <inet/common.h>
-#if defined(AFS_SUN58_ENV)
#include <netinet/ip6.h>
-#endif
#include <inet/ip.h>
#endif
#if !defined(AFS_LINUX20_ENV)
# include <net/if.h>
-# if defined(AFS_SUN58_ENV)
+# if defined(AFS_SUN5_ENV)
# include <sys/varargs.h>
# else
# include <stdarg.h>
#include "afsincludes.h" /* Afs-based standard headers */
#include "afs/afs_stats.h" /* afs statistics */
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#include <inet/led.h>
#include <inet/common.h>
-#if defined(AFS_SUN58_ENV)
#include <netinet/ip6.h>
-#endif
#include <inet/ip.h>
#endif
* up 2 bytes
*/
-#if defined(AFS_SUN57_64BIT_ENV) || (defined(AFS_SGI61_ENV) && (_MIPS_SZPTR==64)) || defined(AFS_LINUX_64BIT_KERNEL)
+#if defined(AFS_SUN5_64BIT_ENV) || (defined(AFS_SGI61_ENV) && (_MIPS_SZPTR==64)) || defined(AFS_LINUX_64BIT_KERNEL)
#define AFS_XLATOR_MAGIC 0x8765 /* XXX */
#else
#define AFS_XLATOR_MAGIC 0x87654321
typedef unsigned int afs_lock_tracker_t;
# define MyPidxx (get_user_struct()->u_procp->p_pid )
# define MyPidxx2Pid(x) (x)
-#elif defined(AFS_SUN57_ENV)
+#elif defined(AFS_SUN5_ENV)
typedef kthread_t * afs_lock_tracker_t;
# define MyPidxx (curthread)
# define MyPidxx2Pid(x) (x ? ttoproc(x)->p_pid : 0)
# ifdef AFS_SUN5_ENV
# include <sys/cmn_err.h> /* for kernel printf() prototype */
-# endif
-
-# if defined(AFS_SUN56_ENV)
-# include "h/vfs.h" /* stops SUN56 socketvar.h warnings */
-# include "h/stropts.h" /* stops SUN56 socketvar.h warnings */
-# include "h/stream.h" /* stops SUN56 socketvar.h errors */
+# include "h/vfs.h" /* stops SUN5 socketvar.h warnings */
+# include "h/stropts.h" /* stops SUN5 socketvar.h warnings */
+# include "h/stream.h" /* stops SUN5 socketvar.h errors */
# endif
# ifdef AFS_SUN510_ENV
sgi_53 | sgi_61 ) \
${INSTALL_SCRIPT} ${srcdir}/afs_rtsymtab.pl.${SYS_NAME} ${DEST}/root.client/usr/vice/etc/sgiload/afs_rtsymtab.pl ;;\
esac;; \
- sun4_52 | sun4_53 | sun4c_52 | sun4c_53 | sun4m_52 | sun4m_53 | sun4m_54 | sun4_54 | sun4c_54 | sunx86_54) \
- ${INSTALL} -d ${DEST}/root.client/usr/vice/etc/modload ; \
- ${INSTALL_SCRIPT} ${srcdir}/afs.rc.solaris ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\
- sun*_57 ) \
- ${INSTALL} -d ${DEST}/root.client/usr/vice/etc/modload ; \
- ${INSTALL_SCRIPT} ${srcdir}/afs.rc.solaris.2.7 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\
sun*_58 ) \
${INSTALL} -d ${DEST}/root.client/usr/vice/etc/modload ; \
${INSTALL_SCRIPT} ${srcdir}/afs.rc.solaris.2.8 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\
sun*_511 ) \
${INSTALL} -d ${DEST}/root.client/usr/vice/etc/modload ; \
${INSTALL_SCRIPT} ${srcdir}/afs.rc.solaris.2.11 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\
- sun4x_5? ) \
- ${INSTALL} -d ${DEST}/root.client/usr/vice/etc/modload ; \
- ${INSTALL_SCRIPT} ${srcdir}/afs.rc.solaris.2_5 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\
alpha_osf* ) \
${INSTALL} -d ${DEST}/root.client/usr/vice/etc/dkload ; \
${INSTALL_SCRIPT} ${srcdir}/afs.rc.alpha ${DEST}/root.client/usr/vice/etc/dkload/afs.rc ;;\
+++ /dev/null
-#!/bin/sh
-# Copyright 2000, International Business Machines Corporation and others.
-# All Rights Reserved.
-#
-# This software has been released under the terms of the IBM Public
-# License. For details, see the LICENSE file in the top-level source
-# directory or online at http://www.openafs.org/dl/license10.html
-
-# afs.rc: rc script for AFS on Solaris 2.x platforms
-#
-# Install this script as /etc/init.d/afs.rc
-# then make links like this:
-# ln -s ../init.d/afs.rc /etc/rc0.d/K66afs
-# ln -s ../init.d/afs.rc /etc/rc3.d/S99afs
-#
-CONFIG=/usr/vice/etc/config
-AFSDOPT=$CONFIG/afsd.options
-PACKAGE=$CONFIG/package.options
-
-# EXTRAOPTS can be used to enable/disable AFSDB support (-afsdb)
-# and Dynroot (dynamically-generated /afs) support (-dynroot).
-EXTRAOPTS="-afsdb"
-
-LARGE="-stat 2800 -dcache 2400 -daemons 5 -volumes 128"
-MEDIUM="-stat 2000 -dcache 800 -daemons 3 -volumes 70"
-SMALL="-stat 300 -dcache 100 -daemons 2 -volumes 50"
-
-if [ -f $AFSDOPT ]; then
- OPTIONS=`cat $AFSDOPT`
-else
- OPTIONS="$MEDIUM $EXTRAOPTS"
-fi
-
-# Need the commands ps, awk, kill, sleep
-PATH=${PATH}${PATH:+:}/sbin:/bin:/usr/bin
-
-killproc() { # kill the named process(es)
- fpid='$2'
- fproc='$9'
- pid=`ps -ef | \
- awk "$fproc == \"$1\" || $fproc ~ /.*\/$1/ { print $fpid }"`
- [ "$pid" != "" ] && kill -KILL $pid
-}
-
-case $1 in
-'start')
-
-#
-# Make sure afs exists in /etc/name_to_sysnum
-#
-if grep -s "afs" /etc/name_to_sysnum > /dev/null; then
- echo "Entry for afs already exists in /etc/name_to_sysnum"
-else
- echo "Creating entry for afs in /etc/name_to_sysnum"
- cp /etc/name_to_sysnum /etc/name_to_sysnum.orig
- sed '/nfs/i\
-afs 105' /etc/name_to_sysnum > /tmp/name_to_sysnum
- mv /tmp/name_to_sysnum /etc/name_to_sysnum
- echo "Rebooting now for new /etc/name_to_sysnum to take effect"
- reboot
-fi
-
-#
-# Load kernel extensions
-#
-
-if [ -f /kernel/fs/afs ]; then
- echo "Loading AFS kernel extensions"
- modload /kernel/fs/afs
-else
- echo "/kernel/fs/afs does not exist. Skipping AFS startup."
- exit 1
-fi
-
-#
-# Start the AFS server processes if a bosserver exists
-#
-
-if [ -x /usr/afs/bin/bosserver ]; then
- echo "Starting AFS Server processes"
- /usr/afs/bin/bosserver
- OPTIONS="$OPTIONS -nosettime"
- sleep 30
-fi
-
-#
-# Check that all of the client configuration files exist
-#
-
-for file in /usr/vice/etc/afsd /usr/vice/etc/cacheinfo \
- /usr/vice/etc/ThisCell /usr/vice/etc/CellServDB
-do
- if [ ! -f ${file} ]; then
- echo "${file} does not exist. Not starting AFS client."
- exit 1
- fi
-done
-
-#
-# Check that the root directory for AFS (/afs)
-# and the cache directory (/usr/vice/cache) both exist
-#
-
-for dir in `awk -F: '{print $1, $2}' /usr/vice/etc/cacheinfo`
-do
- if [ ! -d ${dir} ]; then
- echo "${dir} does not exist. Not starting AFS client."
- exit 2
- fi
-done
-
-echo "Starting afsd"
-/usr/vice/etc/afsd $OPTIONS
-
-#
-# Run package to update the disk
-#
-if [ -f /usr/afsws/etc/package -a -f $PACKAGE ]; then
- /usr/afsws/etc/package -v -o `cat $PACKAGE` > /dev/console 2>&1
-case $? in
-0)
- (echo "Package completed successfully") > /dev/console 2>&1
- date > /dev/console 2>&1
- ;;
-4)
- (echo "Rebooting to restart system") > /dev/console 2>&1
- sync
- /etc/reboot
- ;;
-*)
- (echo "Package update failed; continuing") > /dev/console 2>&1
- ;;
-esac
-
-fi
-
-#
-# Start AFS inetd services
-# (See the AFS Command Ref. for notes on the proper configuration of inetd.afs)
-#
-if [ -f /usr/sbin/inetd.afs -a -f /etc/inetd.conf.afs ]; then
- /usr/sbin/inetd.afs /etc/inetd.conf.afs
-fi
-
-echo ;;
-
-'stop')
-
-#
-# Stop the AFS inetd and server processes
-# Note that the afsd processes cannot be killed
-#
-
-echo "Killing inetd.afs"
-killproc inetd.afs
-
-bosrunning=`ps -ef | awk '/bosserver/ && ! /awk/ && ! /dcebos/'`
-if [ "${bosrunning}" != "" ]; then
- echo "Shutting down AFS server processes"
- /usr/afs/bin/bos shutdown localhost -localauth -wait
- echo "Killing AFS bosserver"
- killproc bosserver
-fi
-
-echo ;;
-
-*) echo "Invalid option supplied to $0"
- exit 1;;
-esac
+++ /dev/null
-#!/bin/sh
-#
-# Copyright 2000, International Business Machines Corporation and others.
-# All Rights Reserved.
-#
-# This software has been released under the terms of the IBM Public
-# License. For details, see the LICENSE file in the top-level source
-# directory or online at http://www.openafs.org/dl/license10.html
-#
-# afs.rc: rc script for AFS on Solaris 2.x platforms
-#
-# Install this script as /etc/init.d/afs.rc
-# then make links like this:
-# ln -s ../init.d/afs.rc /etc/rc0.d/K66afs
-# ln -s ../init.d/afs.rc /etc/rc3.d/S99afs
-#
-CONFIG=/usr/vice/etc/config
-AFSDOPT=$CONFIG/afsd.options
-PACKAGE=$CONFIG/package.options
-
-# EXTRAOPTS can be used to enable/disable AFSDB support (-afsdb)
-# and Dynroot (dynamically-generated /afs) support (-dynroot).
-EXTRAOPTS="-afsdb"
-
-LARGE="-stat 2800 -dcache 2400 -daemons 5 -volumes 128"
-MEDIUM="-stat 2000 -dcache 800 -daemons 3 -volumes 70"
-SMALL="-stat 300 -dcache 100 -daemons 2 -volumes 50"
-
-if [ -f $AFSDOPT ]; then
- OPTIONS=`cat $AFSDOPT`
-else
- OPTIONS="$MEDIUM $EXTRAOPTS"
-fi
-
-# Need the commands ps, awk, kill, sleep
-PATH=${PATH}${PATH:+:}/sbin:/bin:/usr/bin
-
-killproc() { # kill the named process(es)
- awkfield2='$2'
- pid=`ps -ef | awk "/$1/ && ! /awk/ {print $awkfield2}"`
- [ "$pid" != "" ] && kill -KILL $pid
-}
-
-case $1 in
-'start')
-
-#
-# Make sure afs exists in /etc/name_to_sysnum
-#
-if grep -s "afs" /etc/name_to_sysnum > /dev/null; then
- echo "Entry for afs already exists in /etc/name_to_sysnum"
-else
- echo "Creating entry for afs in /etc/name_to_sysnum"
- cp /etc/name_to_sysnum /etc/name_to_sysnum.orig
- sed '/nfs/i\
-afs 73' /etc/name_to_sysnum > /tmp/name_to_sysnum
- mv /tmp/name_to_sysnum /etc/name_to_sysnum
- echo "Rebooting now for new /etc/name_to_sysnum to take effect"
- reboot
-fi
-
-## Check to see that /bin/isalist exists and is executable
-if [ ! -x /bin/isalist ] ;then
- echo "/bin/isalist not executable"
- exit 1;
-fi
-
-## Determine if we are running the 64 bit OS
-## If sparcv9 then the location of the afs and nfs extensions differ
-
-case `/bin/isalist` in
- *sparcv9* )
- nfssrv=/kernel/misc/sparcv9/nfssrv
- afs=/kernel/fs/sparcv9/afs ;;
- * )
- nfssrv=/kernel/misc/nfssrv
- afs=/kernel/fs/afs ;;
-esac
-
-
-#
-# Load kernel extensions
-#
-# nfssrv has to be loaded first
-
-
-if [ -f $nfssrv ]; then
- echo "Loading NFS server kernel extensions"
- modload $nfssrv
-else
- echo "$nfssrv does not exist. Skipping AFS startup."
- exit 1
-fi
-
-## Load AFS kernel extensions
-
-if [ -f $afs ]; then
- echo "Loading AFS kernel extensions"
- modload $afs
-else
- echo "$afs does not exist. Skipping AFS startup."
- exit 1
-fi
-
-#
-# Start the AFS server processes if a bosserver exists
-#
-
-if [ -x /usr/afs/bin/bosserver ]; then
- echo "Starting AFS Server processes"
- /usr/afs/bin/bosserver &
- OPTIONS="$OPTIONS -nosettime"
- sleep 30
-fi
-
-#
-# Check that all of the client configuration files exist
-#
-
-for file in /usr/vice/etc/afsd /usr/vice/etc/cacheinfo \
- /usr/vice/etc/ThisCell /usr/vice/etc/CellServDB
-do
- if [ ! -f ${file} ]; then
- echo "${file} does not exist. Not starting AFS client."
- exit 1
- fi
-done
-
-#
-# Check that the root directory for AFS (/afs)
-# and the cache directory (/usr/vice/cache) both exist
-#
-
-for dir in `awk -F: '{print $1, $2}' /usr/vice/etc/cacheinfo`
-do
- if [ ! -d ${dir} ]; then
- echo "${dir} does not exist. Not starting AFS client."
- exit 2
- fi
-done
-
-echo "Starting afsd"
-/usr/vice/etc/afsd $OPTIONS
-
-#
-# Run package to update the disk
-#
-if [ -f /usr/afsws/etc/package -a -f $PACKAGE ]; then
- /usr/afsws/etc/package -v -o `cat $PACKAGE` > /dev/console 2>&1
-case $? in
-0)
- (echo "Package completed successfully") > /dev/console 2>&1
- date > /dev/console 2>&1
- ;;
-4)
- (echo "Rebooting to restart system") > /dev/console 2>&1
- sync
- /etc/reboot
- ;;
-*)
- (echo "Package update failed; continuing") > /dev/console 2>&1
- ;;
-esac
-
-fi
-
-#
-# Start AFS inetd services
-# (See the AFS Command Ref. for notes on the proper configuration of inetd.afs)
-#
-if [ -f /usr/sbin/inetd.afs -a -f /etc/inetd.conf.afs ]; then
- /usr/sbin/inetd.afs /etc/inetd.conf.afs
-fi
-
-echo ;;
-
-'stop')
-
-#
-# Stop the AFS inetd and server processes
-# Note that the afsd processes cannot be killed
-#
-
-echo "Killing inetd.afs"
-killproc inetd.afs
-
-bosrunning=`ps -ef | awk '/bosserver/ && ! /awk/'`
-if [ "${bosrunning}" != "" ]; then
- echo "Shutting down AFS server processes"
- /usr/afs/bin/bos shutdown localhost -localauth -wait
- echo "Killing AFS bosserver"
- killproc bosserver
-fi
-
-echo ;;
-
-*) echo "Invalid option supplied to $0"
- exit 1;;
-esac
+++ /dev/null
-#!/bin/sh
-# Copyright 2000, International Business Machines Corporation and others.
-# All Rights Reserved.
-#
-# This software has been released under the terms of the IBM Public
-# License. For details, see the LICENSE file in the top-level source
-# directory or online at http://www.openafs.org/dl/license10.html
-
-# afs.rc: rc script for AFS on Solaris 2.x platforms
-#
-# Install this script as /etc/init.d/afs.rc
-# then make links like this:
-# ln -s ../init.d/afs.rc /etc/rc0.d/K66afs
-# ln -s ../init.d/afs.rc /etc/rc3.d/S99afs
-#
-CONFIG=/usr/vice/etc/config
-AFSDOPT=$CONFIG/afsd.options
-PACKAGE=$CONFIG/package.options
-
-# EXTRAOPTS can be used to enable/disable AFSDB support (-afsdb)
-# and Dynroot (dynamically-generated /afs) support (-dynroot).
-EXTRAOPTS="-afsdb"
-
-LARGE="-stat 2800 -dcache 2400 -daemons 5 -volumes 128"
-MEDIUM="-stat 2000 -dcache 800 -daemons 3 -volumes 70"
-SMALL="-stat 300 -dcache 100 -daemons 2 -volumes 50"
-
-if [ -f $AFSDOPT ]; then
- OPTIONS=`cat $AFSDOPT`
-else
- OPTIONS="$MEDIUM $EXTRAOPTS"
-fi
-
-# Need the commands ps, awk, kill, sleep
-PATH=${PATH}${PATH:+:}/sbin:/bin:/usr/bin
-
-killproc() { # kill the named process(es)
- awkfield2='$2'
- pid=`ps -ef | awk "/$1/ && ! /awk/ {print $awkfield2}"`
- [ "$pid" != "" ] && kill -KILL $pid
-}
-
-case $1 in
-'start')
-
-#
-# Make sure afs exists in /etc/name_to_sysnum
-#
-if grep -s "afs" /etc/name_to_sysnum > /dev/null; then
- echo "Entry for afs already exists in /etc/name_to_sysnum"
-else
- echo "Creating entry for afs in /etc/name_to_sysnum"
- cp /etc/name_to_sysnum /etc/name_to_sysnum.orig
- sed '/nfs/i\
-afs 105' /etc/name_to_sysnum > /tmp/name_to_sysnum
- mv /tmp/name_to_sysnum /etc/name_to_sysnum
- echo "Rebooting now for new /etc/name_to_sysnum to take effect"
- reboot
-fi
-
-#
-# Load kernel extensions
-#
-
-# nfssrv has to be loaded first
-if [ -f /kernel/misc/nfssrv ]; then
- echo "Loading NFS server kernel extensions"
- modload /kernel/misc/nfssrv
-else
- echo "/kernel/misc/nfssrv does not exist. Skipping AFS startup."
- exit 1
-fi
-
-if [ -f /kernel/fs/afs ]; then
- echo "Loading AFS kernel extensions"
- modload /kernel/fs/afs
-else
- echo "/kernel/fs/afs does not exist. Skipping AFS startup."
- exit 1
-fi
-
-#
-# Start the AFS server processes if a bosserver exists
-#
-
-if [ -x /usr/afs/bin/bosserver ]; then
- echo "Starting AFS Server processes"
- /usr/afs/bin/bosserver
- OPTIONS="$OPTIONS -nosettime"
- sleep 30
-fi
-
-#
-# Check that all of the client configuration files exist
-#
-
-for file in /usr/vice/etc/afsd /usr/vice/etc/cacheinfo \
- /usr/vice/etc/ThisCell /usr/vice/etc/CellServDB
-do
- if [ ! -f ${file} ]; then
- echo "${file} does not exist. Not starting AFS client."
- exit 1
- fi
-done
-
-#
-# Check that the root directory for AFS (/afs)
-# and the cache directory (/usr/vice/cache) both exist
-#
-
-for dir in `awk -F: '{print $1, $2}' /usr/vice/etc/cacheinfo`
-do
- if [ ! -d ${dir} ]; then
- echo "${dir} does not exist. Not starting AFS client."
- exit 2
- fi
-done
-
-echo "Starting afsd"
-/usr/vice/etc/afsd $OPTIONS
-
-#
-# Run package to update the disk
-#
-if [ -f /usr/afsws/etc/package -a -f $PACKAGE ]; then
- /usr/afsws/etc/package -v -o `cat $PACKAGE` > /dev/console 2>&1
-case $? in
-0)
- (echo "Package completed successfully") > /dev/console 2>&1
- date > /dev/console 2>&1
- ;;
-4)
- (echo "Rebooting to restart system") > /dev/console 2>&1
- sync
- /etc/reboot
- ;;
-*)
- (echo "Package update failed; continuing") > /dev/console 2>&1
- ;;
-esac
-
-fi
-
-#
-# Start AFS inetd services
-# (See the AFS Command Ref. for notes on the proper configuration of inetd.afs)
-#
-if [ -f /usr/sbin/inetd.afs -a -f /etc/inetd.conf.afs ]; then
- /usr/sbin/inetd.afs /etc/inetd.conf.afs
-fi
-
-echo ;;
-
-'stop')
-
-#
-# Stop the AFS inetd and server processes
-# Note that the afsd processes cannot be killed
-#
-
-echo "Killing inetd.afs"
-killproc inetd.afs
-
-bosrunning=`ps -ef | awk '/bosserver/ && ! /awk/'`
-if [ "${bosrunning}" != "" ]; then
- echo "Shutting down AFS server processes"
- /usr/afs/bin/bos shutdown localhost -localauth -wait
- echo "Killing AFS bosserver"
- killproc bosserver
-fi
-
-echo ;;
-
-*) echo "Invalid option supplied to $0"
- exit 1;;
-esac
#ifdef AFS_HPUX_ENV
#define MOUNTED_TABLE MNT_MNTTAB
#else
-#ifdef AFS_SUN5_ENV
-#define MOUNTED_TABLE MNTTAB
-#else
#define MOUNTED_TABLE MOUNTED
#endif
-#endif
static int
HandleMTab(char *cacheMountDir)
{
-#if (defined (AFS_SUN_ENV) || defined (AFS_HPUX_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) || defined(AFS_LINUX20_ENV)) && !defined(AFS_SUN58_ENV)
+#if (defined (AFS_HPUX_ENV) || defined(AFS_SGI_ENV) || defined(AFS_LINUX20_ENV))
FILE *tfilep;
-#ifdef AFS_SUN5_ENV
- char tbuf[16];
- struct mnttab tmntent;
-
- memset(&tmntent, '\0', sizeof(struct mnttab));
- if (!(tfilep = fopen(MOUNTED_TABLE, "a+"))) {
- printf("Can't open %s\n", MOUNTED_TABLE);
- perror(MNTTAB);
- exit(-1);
- }
- tmntent.mnt_special = "AFS";
- tmntent.mnt_mountp = cacheMountDir;
- tmntent.mnt_fstype = "xx";
- tmntent.mnt_mntopts = "rw";
- sprintf(tbuf, "%ld", (long)time((time_t *) 0));
- tmntent.mnt_time = tbuf;
- putmntent(tfilep, &tmntent);
- fclose(tfilep);
-#else
#if defined(AFS_SGI_ENV) || defined(AFS_LINUX20_ENV)
struct mntent tmntent;
char *dir;
addmntent(tfilep, &tmntent);
endmntent(tfilep);
#endif /* AFS_SGI_ENV */
-#endif /* AFS_SUN5_ENV */
#endif /* unreasonable systems */
#ifdef AFS_DARWIN_ENV
#ifndef AFS_DARWIN100_ENV
SHLIB_LINKER="${MT_CC} -shared"
;;
- sun4_413)
- CCXPG2="/usr/xpg2bin/cc"
- CC="gcc"
- CCOBJ="gcc"
- SHLIB_CFLAGS="-PIC"
- XCFLAGS=""
- XLIBELFA="-lelf"
- XLIBKVM="-lkvm"
- XLIBS="${LIB_AFSDB}"
- LD="ld"
- ;;
-
- sun4x_55)
- CC=$SOLARISCC
- CCOBJ=$SOLARISCC
- MT_CC=$SOLARISCC
- MT_CFLAGS='-mt'
- SHLIB_CFLAGS="-KPIC"
- XCFLAGS="-dy -Bdynamic"
- XLIBELFA="-lelf"
- XLIBKVM="-lkvm"
- XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
- LD="/usr/ccs/bin/ld"
- SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
- LWP_OPTMZ="-g"
- ;;
-
- sun4x_56|sun4x_57|sun4x_58|sun4x_59)
+ sun4x_58|sun4x_59)
CC=$SOLARISCC
CCOBJ=$SOLARISCC
LD="/usr/ccs/bin/ld"
LWP_OPTMZ="-g"
;;
- sunx86_57|sunx86_58|sunx86_59)
+ sunx86_58|sunx86_59)
CC=$SOLARISCC
CCOBJ=$SOLARISCC
LD="/usr/ccs/bin/ld"
+++ /dev/null
-#ifndef UKERNEL
-/* This section for kernel libafs compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */
-#define AFS_ENV 1
-#define AFS_SUN_ENV 1
-#define AFS_SUN4_ENV 1
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */
-#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 31
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sun4_413 1
-#define SYS_NAME "sun4_413"
-#define SYS_NAME_ID SYS_NAME_ID_sun4_411
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-
-#define KERNEL_HAVE_UERROR 1
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* sun definitions here */
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_offset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define osi_GetTime(x) uniqtime(x)
-#define AFS_KALLOC(n) kmem_alloc(n, KMEM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KMEM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#endif /* KERNEL */
-#define memset(A, B, S) bzero(A, S)
-#define memcpy(B, A, S) bcopy(A, B, S)
-#define memcmp(A, B, S) bcmp(A, B, S)
-#define memmove(B, A, S) bcopy(A, B, S)
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif /* */
-
-#endif /* AFS_PARAM_H */
-#else /* !defined(UKERNEL) */
-
-/* This section for user space compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define UKERNEL
-#define AFS_ENV 1
-/* define AFS_USR_XXX_ENV XXX */
-
-#include <afs/afs_sysnames.h>
-
-#define RXK_LISTENER_ENV 1
-#define AFS_USERSPACE_IP_ADDR 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 31
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS 1
-
-/* Machine / Operating system information */
-#define sys_sun4_413 1
-#define SYS_NAME "sun4_413"
-#define SYS_NAME_ID SYS_NAME_ID_sun4_411
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* sun definitions here */
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_offset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS 1
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define VATTR_NULL usr_vattr_null
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif /* */
-
-#endif /* AFS_PARAM_H */
-#endif /* !defined(UKERNEL) */
#define AFS_ENV 1
#define AFS_SUN_ENV 1
#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_SUN58_ENV 1
#define AFS_SUN59_ENV 1
#define AFS_SUN510_ENV 1
#define AFS_BOZONLOCK_ENV 1
* AFS_SYSCALL32 is used to protect the ILP32 syscall interface
*/
#if defined(__sparcv9)
-#define AFS_SUN57_64BIT_ENV 1
+#define AFS_SUN5_64BIT_ENV 1
#define AFS_64BIT_INO 1
#endif
#define AFS_ENV 1
#define AFS_SUN_ENV 1
#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_SUN58_ENV 1
#define AFS_SUN59_ENV 1
#define AFS_SUN510_ENV 1
#define AFS_SUN511_ENV 1
* AFS_SYSCALL32 is used to protect the ILP32 syscall interface
*/
#if defined(__sparcv9)
-#define AFS_SUN57_64BIT_ENV 1
+#define AFS_SUN5_64BIT_ENV 1
#define AFS_64BIT_INO 1
#endif
+++ /dev/null
-#ifndef UKERNEL
-/* This section for kernel libafs compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-
-#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_SUN_ENV 1
-#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-
-#define AFS_BOZONLOCK_ENV 1
-#define AFS_HAVE_FLOCK_SYSID 1
-
-#include <afs/afs_sysnames.h>
-
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */
-#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 105
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sun4x_55 1
-#define SYS_NAME "sun4x_55"
-#define SYS_NAME_ID SYS_NAME_ID_sun4x_55
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */
-#define AFS_HAVE_VXFS 1 /* support client cache on Veritas VXFS */
-#define AFS_HAVE_LLSEEK 1 /* System supports llseek */
-
-#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk */
-#define nearInodeHash(volid, hval) { \
- unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\
- for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\
- (hval) *= 173; \
- (hval) += *ts; \
- } \
- }
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* sun definitions here */
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_offset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define osi_GetTime(x) uniqtime(x)
-#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#define memset(A, B, S) bzero(A, S)
-#define memcpy(B, A, S) bcopy(A, B, S)
-#define memcmp(A, B, S) bcmp(A, B, S)
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-#endif /* AFS_PARAM_H */
-
-#else /* !defined(UKERNEL) */
-
-/* This section for user space compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-#define RXK_LISTENER_ENV 1
-#define AFS_USERSPACE_IP_ADDR 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-#define UKERNEL 1 /* user space kernel */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_USR_SUN5_ENV 1
-
-#include <afs/afs_sysnames.h>
-
- /*#define AFS_GLOBAL_SUNLOCK 1 *//* For global locking */
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 105
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS 1
-
-/* Machine / Operating system information */
-#define sys_sun4x_55 1
-#define SYS_NAME "sun4x_55"
-#define SYS_NAME_ID SYS_NAME_ID_sun4x_55
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_offset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS 1
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define VATTR_NULL usr_vattr_null
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-#endif /* AFS_PARAM_H */
-
-#endif /* !defined(UKERNEL) */
+++ /dev/null
-#ifndef UKERNEL
-/* This section for kernel libafs compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-
-#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_SUN_ENV 1
-#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_BOZONLOCK_ENV 1
-#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */
-
-#define AFS_64BIT_CLIENT 1
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 105
-
-#define AFS_HAVE_FLOCK_SYSID 1
-
-#include <afs/afs_sysnames.h>
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sun4x_56 1
-#define SYS_NAME "sun4x_56"
-#define SYS_NAME_ID SYS_NAME_ID_sun4x_56
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_VXFS 1 /* Support cache on Veritas vxfs file system */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */
-
-#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk */
-#define nearInodeHash(volid, hval) { \
- unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\
- for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\
- (hval) *= 173; \
- (hval) += *ts; \
- } \
- }
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* sun definitions here */
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_loffset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define osi_GetTime(x) uniqtime(x)
-#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#define memset(A, B, S) bzero(A, S)
-#define memcpy(B, A, S) bcopy(A, B, S)
-#define memcmp(A, B, S) bcmp(A, B, S)
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-#endif /* AFS_PARAM_H */
-
-#else /* !defined(UKERNEL) */
-
-/* This section for user space compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-#define RXK_LISTENER_ENV 1
-#define AFS_USERSPACE_IP_ADDR 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-#define UKERNEL 1 /* user space kernel */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_USR_SUN5_ENV 1
-#define AFS_USR_SUN6_ENV 1
-
-#include <afs/afs_sysnames.h>
-
- /*#define AFS_GLOBAL_SUNLOCK 1 *//* For global locking */
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 105
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS 1
-
-/* Machine / Operating system information */
-#define sys_sun4x_55 1
-#define SYS_NAME "sun4x_55"
-#define SYS_NAME_ID SYS_NAME_ID_sun4x_55
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_offset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS 1
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define VATTR_NULL usr_vattr_null
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-#endif /* AFS_PARAM_H */
-
-#endif /* !defined(UKERNEL) */
+++ /dev/null
-#ifndef UKERNEL
-/* This section for kernel libafs compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-
-#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_SUN_ENV 1
-#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_BOZONLOCK_ENV 1
-
-#define AFS_64BIT_CLIENT 1
-
-#define AFS_HAVE_FLOCK_SYSID 1
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 73
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sun4x_57 1
-#define SYS_NAME "sun4x_57"
-#define SYS_NAME_ID SYS_NAME_ID_sun4x_57
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_VXFS 1 /* Support cache on Veritas vxfs file system */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */
-
-#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk */
-#define nearInodeHash(volid, hval) { \
- unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\
- for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\
- (hval) *= 173; \
- (hval) += *ts; \
- } \
- }
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* sun definitions here */
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_loffset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define osi_GetTime(x) uniqtime32(x)
-
-/**
- * These defines are for the 64 bit Solaris 7 port
- * AFS_SYSCALL32 is used to protect the ILP32 syscall interface
- */
-#if defined(__sparcv9)
-#define AFS_SUN57_64BIT_ENV 1
-#define AFS_64BIT_INO 1
-#endif
-
-#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#define memset(A, B, S) bzero(A, S)
-#define memcpy(B, A, S) bcopy(A, B, S)
-#define memcmp(A, B, S) bcmp(A, B, S)
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-#endif /* AFS_PARAM_H */
-
-#else /* !defined(UKERNEL) */
-
-/* This section for user space compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-#define RXK_LISTENER_ENV 1
-#define AFS_USERSPACE_IP_ADDR 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-#define UKERNEL 1 /* user space kernel */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_USR_SUN5_ENV 1
-#define AFS_USR_SUN6_ENV 1
-
-#include <afs/afs_sysnames.h>
-
-#ifdef undef
-#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */
-#endif
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 73
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS 1
-
-/* Machine / Operating system information */
-#define sys_sun4x_55 1
-#define SYS_NAME "sun4x_55"
-#define SYS_NAME_ID SYS_NAME_ID_sun4x_55
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_offset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS 1
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define VATTR_NULL usr_vattr_null
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-#endif /* AFS_PARAM_H */
-
-#endif /* !defined(UKERNEL) */
#define AFS_ENV 1
#define AFS_SUN_ENV 1
#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_SUN58_ENV 1
#define AFS_BOZONLOCK_ENV 1
#define AFS_64BIT_CLIENT 1
* AFS_SYSCALL32 is used to protect the ILP32 syscall interface
*/
#if defined(__sparcv9)
-#define AFS_SUN57_64BIT_ENV 1
+#define AFS_SUN5_64BIT_ENV 1
#define AFS_64BIT_INO 1
#endif
#define AFS_ENV 1
#define AFS_SUN_ENV 1
#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_SUN58_ENV 1
#define AFS_SUN59_ENV 1
#define AFS_BOZONLOCK_ENV 1
* AFS_SYSCALL32 is used to protect the ILP32 syscall interface
*/
#if defined(__sparcv9)
-#define AFS_SUN57_64BIT_ENV 1
+#define AFS_SUN5_64BIT_ENV 1
#define AFS_64BIT_INO 1
#endif
#define AFS_ENV 1
#define AFS_SUN_ENV 1
#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_SUN58_ENV 1
#define AFS_SUN59_ENV 1
#define AFS_SUN510_ENV 1
#define AFS_BOZONLOCK_ENV 1
* AFS_SYSCALL32 is used to protect the ILP32 syscall interface
*/
#if defined(__amd64)
-#define AFS_SUN57_64BIT_ENV 1
+#define AFS_SUN5_64BIT_ENV 1
#define AFS_64BIT_INO 1
#endif
#define AFS_ENV 1
#define AFS_SUN_ENV 1
#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_SUN58_ENV 1
#define AFS_SUN59_ENV 1
#define AFS_SUN510_ENV 1
#define AFS_SUN511_ENV 1
* AFS_SYSCALL32 is used to protect the ILP32 syscall interface
*/
#if defined(__amd64)
-#define AFS_SUN57_64BIT_ENV 1
+#define AFS_SUN5_64BIT_ENV 1
#define AFS_64BIT_INO 1
#endif
+++ /dev/null
-#ifndef UKERNEL
-/* This section for kernel libafs compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-
-#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_SUN_ENV 1
-#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_X86_ENV 1
-
-#define AFS_HAVE_FLOCK_SYSID 1
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 105
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sunx86_54 1
-#define SYS_NAME "sunx86_54"
-#define SYS_NAME_ID SYS_NAME_ID_sunx86_54
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-#define AFSLITTLE_ENDIAN 1
-#define AFS_VM_RDWR_ENV 1
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* sun definitions here */
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_offset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define osi_GetTime(x) uniqtime(x)
-#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-
-#endif /* AFS_PARAM_H */
-
-#else /* !defined(UKERNEL) */
-
-/* This section for user space compiles only */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-
-
-#endif /* !defined(UKERNEL) */
+++ /dev/null
-#ifndef UKERNEL
-/* This section for kernel libafs compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-
-#define AFS_VFSINCL_ENV 1 /* NOBODY uses this.... */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_SUN_ENV 1
-#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_BOZONLOCK_ENV 1
-
-#define AFS_X86_ENV 1
-
-#define AFS_64BIT_CLIENT 1
-
-#define AFS_HAVE_FLOCK_SYSID 1
-
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 73
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sunx86_57 1
-#define SYS_NAME "sunx86_57"
-#define SYS_NAME_ID SYS_NAME_ID_sunx86_57
-#define AFSLITTLE_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_VXFS 1 /* Support cache on Veritas vxfs file system */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */
-
-#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk */
-#define nearInodeHash(volid, hval) { \
- unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\
- for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\
- (hval) *= 173; \
- (hval) += *ts; \
- } \
- }
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* sun definitions here */
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_loffset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define osi_GetTime(x) uniqtime32(x)
-
-#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#define memset(A, B, S) bzero(A, S)
-#define memcpy(B, A, S) bcopy(A, B, S)
-#define memcmp(A, B, S) bcmp(A, B, S)
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-#endif /* AFS_PARAM_H */
-
-#else /* !defined(UKERNEL) */
-
-/* This section for user space compiles only */
-
-/*
- * Copyright 2000, International Business Machines Corporation and others.
- * All Rights Reserved.
- *
- * This software has been released under the terms of the IBM Public
- * License. For details, see the LICENSE file in the top-level source
- * directory or online at http://www.openafs.org/dl/license10.html
- */
-
-#ifndef AFS_PARAM_H
-#define AFS_PARAM_H
-
-#define AFS_VFS_ENV 1
-/* Used only in vfsck code; is it needed any more???? */
-#define RXK_LISTENER_ENV 1
-#define AFS_USERSPACE_IP_ADDR 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-#define UKERNEL 1 /* user space kernel */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_USR_SUN5_ENV 1
-#define AFS_USR_SUN6_ENV 1
-
-#include <afs/afs_sysnames.h>
-
-#if 0
-#define AFS_GLOBAL_SUNLOCK 1 /* For global locking */
-#endif
-
-#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
-#define AFS_SYSCALL 73
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS 1
-
-/* Machine / Operating system information */
-#define sys_sunx86_57 1
-#define SYS_NAME "sunx86_57"
-#define SYS_NAME_ID SYS_NAME_ID_sunx86_57
-#define AFSLITTLE_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
-#define AFS_SYSVLOCK 1 /* sys v locking supported */
-#define afsio_iov uio_iov
-#define afsio_iovcnt uio_iovcnt
-#define afsio_offset uio_offset
-#define afsio_seg uio_segflg
-#define afsio_fmode uio_fmode
-#define afsio_resid uio_resid
-#define AFS_UIOSYS 1
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#define VATTR_NULL usr_vattr_null
-#endif /* KERNEL */
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#define ROOTINO UFSROOTINO
-
-#endif /* AFS_PARAM_H */
-
-#endif /* !defined(UKERNEL) */
#define AFS_ENV 1
#define AFS_SUN_ENV 1
#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_SUN58_ENV 1
#define AFS_BOZONLOCK_ENV 1
#define AFS_X86_ENV 1
#define AFS_ENV 1
#define AFS_SUN_ENV 1
#define AFS_SUN5_ENV 1
-#define AFS_SUN52_ENV 1
-#define AFS_SUN53_ENV 1
-#define AFS_SUN54_ENV 1
-#define AFS_SUN55_ENV 1
-#define AFS_SUN56_ENV 1
-#define AFS_SUN57_ENV 1
-#define AFS_SUN58_ENV 1
#define AFS_SUN59_ENV 1
#define AFS_BOZONLOCK_ENV 1
# include "h/kernel.h"
# endif
# endif
-# if defined(AFS_SUN56_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_FBSD_ENV) || defined(AFS_DARWIN80_ENV)
+# if defined(AFS_SUN5_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_FBSD_ENV) || defined(AFS_DARWIN80_ENV)
# include "afs/sysincludes.h"
# endif
# if !defined(AFS_SGI64_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_OBSD48_ENV) && !defined(AFS_NBSD_ENV)
#CC = /opt/SUNWspro/bin/cc
KDEFS= -D_KERNEL -DSYSV -dn ${ARCH_DEFS}
-<sun4x_57 sun4x_58 sun4x_59 sun4x_510 sun4x_511>
+<sun4x_58 sun4x_59 sun4x_510 sun4x_511>
KDEFS_32 = -xarch=v8
KDEFS_64 = -xarch=v9
-<sunx86_57 sunx86_58 sunx86_59 sunx86_510 sunx86_511>
+<sunx86_58 sunx86_59 sunx86_510 sunx86_511>
KDEFS_32 =
KDEFS_64 = -xarch=amd64 -xmodel=kernel
CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
# Name of directory to hold object files and libraries.
-<all -sun4x_57 -sun4x_58 -sun4x_59 -sun4x_510 -sun4x_511 -sunx86_57 -sunx86_58 -sunx86_59 -sunx86_510 -sunx86_511>
-KOBJ = MODLOAD
-<sun4x_57 sun4x_58 sun4x_59 sunx86_57 sunx86_58 sunx86_59 sunx86_510 sunx86_511>
+<all -sun4x_510 sun4x_511>
KOBJ = MODLOAD32 MODLOAD64
<sun4x_510 sun4x_511>
KOBJ = MODLOAD64
# This tells Makefile.common to use it's single directory build target.
-<all -sun4x_57 -sun4x_58 -sun4x_59 -sun4x_510 -sun4x_511 -sunx86_57 -sunx86_58 -sunx86_59 -sunx86_510 -sunx86_511>
-COMPDIRS = single_compdir
-INSTDIRS = single_instdir
-DESTDIRS = single_destdir
-
-<sun4x_57 sun4x_58 sun4x_59 sun4x_510 sun4x_511 sunx86_57 sunx86_58 sunx86_59 sunx86_510 sunx86_511>
+<all>
COMPDIRS = solaris_compdirs
INSTDIRS = solaris_instdirs
DESTDIRS = solaris_destdirs
-<all>
include Makefile.common
## This is the target for a Solaris 7. Here we build both the 32 bit and
## the 64 bit libafs in MODLOAD32 and MODLOAD64 directories respectively
-<sun4x_57 sun4x_58 sun4x_59 sun4x_510 sun4x_511 sunx86_57 sunx86_58 sunx86_59 sunx86_510 sunx86_511>
${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
for t in ${KOBJ} ; do \
echo Building directory: $$t ; \
solaris_instdirs_libafs: install_libafs
solaris_destdirs_libafs: dest_libafs
-<all>
-
# Below this line are targets when in the COMMON directory:
LIBAFS = libafs.o
LIBAFSNONFS = libafs.nonfs.o
-<all -sun4x_57 -sun4x_58 -sun4x_59>
-INST_LIBAFS = ${DESTDIR}${afskerneldir}/${LIBAFS}
-INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/${LIBAFSNONFS}
-
-DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFS}
-DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFSNONFS}
-
-<sun4x_57 sun4x_58 sun4x_59 sun4x_510 sun4x_511 sunx86_57 sunx86_58 sunx86_59 sunx86_510 sunx86_511>
INST_LIBAFSNONFS = ${DESTDIR}${afskerneldir}/libafs${BITS}.nonfs.o
INST_LIBAFS = ${DESTDIR}${afskerneldir}/libafs${BITS}.o
DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/modload/libafs${BITS}.nonfs.o
DEST_LIBAFS = ${DEST}/root.client/usr/vice/etc/modload/libafs${BITS}.o
-<all>
-
# Without this line, gmake tries to build libafs.o
.PHONY: libafs
struct sigaction newAction, origAction;
-#ifndef AFS_SUN56_ENV
+#ifndef AFS_SUN5_ENV
openlog(pam_afs_ident, LOG_CONS | LOG_PID, LOG_AUTH);
#endif
origmask = setlogmask(logmask);
/* enhanced: use "ignore_uid <number>" to specify the largest uid
* which should be ignored by this module
*/
-#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV)
-#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV)
+#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN5_ENV)
+#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN5_ENV)
i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf), &upwd);
#else /* AFS_HPUX110_ENV */
i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf));
memset(torch_password, 0, strlen(torch_password));
}
(void)setlogmask(origmask);
-#ifndef AFS_SUN56_ENV
+#ifndef AFS_SUN5_ENV
closelog();
#endif
return retcode;
PAM_CONST struct pam_conv *pam_convp = NULL;
struct passwd unix_pwd, *upwd = NULL;
-#ifndef AFS_SUN56_ENV
+#ifndef AFS_SUN5_ENV
openlog(pam_afs_ident, LOG_CONS, LOG_AUTH);
#endif
origmask = setlogmask(logmask);
* and its uid==0, and "ignore_root" was given in pam.conf,
* ignore the user.
*/
-#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV)
-#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV)
+#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN5_ENV)
+#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN5_ENV)
i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf), &upwd);
#else /* AFS_HPUX110_ENV */
i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf));
memset(torch_password, 0, strlen(torch_password));
}
(void)setlogmask(origmask);
-#ifndef AFS_SUN56_ENV
+#ifndef AFS_SUN5_ENV
closelog();
#endif
return retcode;
struct passwd unix_pwd, *upwd = NULL;
char upwd_buf[2048]; /* size is a guess. */
-#ifndef AFS_SUN56_ENV
+#ifndef AFS_SUN5_ENV
openlog(pam_afs_ident, LOG_CONS, LOG_AUTH);
#endif
origmask = setlogmask(logmask);
/* enhanced: use "ignore_uid <number>" to specify the largest uid
* which should be ignored by this module
*/
-#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV)
-#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN58_ENV)
+#if defined(AFS_HPUX_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN5_ENV)
+#if defined(AFS_HPUX110_ENV) || defined(AFS_DARWIN100_ENV) || defined(AFS_SUN5_ENV)
i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf), &upwd);
#else /* AFS_HPUX110_ENV */
i = getpwnam_r(user, &unix_pwd, upwd_buf, sizeof(upwd_buf));
if (password && torch_password)
memset(torch_password, 0, strlen(torch_password));
(void)setlogmask(origmask);
-#ifndef AFS_SUN56_ENV
+#ifndef AFS_SUN5_ENV
closelog();
#endif
return retcode;
#include <stdio.h>
-#if defined(AFS_SUN54_ENV)
#define OSVERS "SunOS 5.6"
#include <sys/types.h>
#include <rx/xdr.h>
int p5;
quad *q;
-#if defined(AFS_SUN56_ENV)
q = (quad *) & (p->di_ic.ic_lsize);
-#else
- q = &(p->di_ic.ic_size);
-#endif
p1 = p->di_gen;
p2 = p->di_ic.ic_flags;
return 1;
return 0;
}
-
-#else /* !AFS_SUN54_ENV */
-
-#include "AFS_component_version_number.c"
-
-main(argc, argv)
- int argc;
- char *argv[];
-{
- printf
- ("%s: **ONLY** supported for Solaris 2.4 and later ...\n",
- argv[0]);
-}
-#endif /* !AFS_SUN5_ENV */
#include "rx/rx_kcommon.h"
-#ifdef AFS_SUN56_ENV
-
#include "inet/common.h"
#include "sys/tiuser.h"
#include "sys/t_kuser.h"
#include "sys/stream.h"
#include "sys/tihdr.h"
#include "sys/fcntl.h"
-#ifdef AFS_SUN58_ENV
#include "netinet/ip6.h"
#define ipif_local_addr ipif_lcl_addr
#ifndef V4_PART_OF_V6
#define V4_PART_OF_V6(v6) v6.s6_addr32[3]
#endif
-#endif
#include "inet/ip.h"
#include "inet/ip_if.h"
#include "netinet/udp.h"
#else
for (ill = ill_g_head; ill; ill = ill->ill_next) {
-#ifdef AFS_SUN58_ENV
/* Make sure this is an IPv4 ILL */
if (ill->ill_isv6)
continue;
-#endif
/* Iterate over all the addresses on this ILL */
for (ipif = ill->ill_ipif; ipif; ipif = ipif->ipif_next) {
}
#else
for (ill = ill_g_head; ill; ill = ill->ill_next) {
-#ifdef AFS_SUN58_ENV
/* Make sure this is an IPv4 ILL */
if (ill->ill_isv6)
continue;
-#endif
/* Iterate over all the addresses on this ILL */
for (ipif = ill->ill_ipif; ipif; ipif = ipif->ipif_next) {
osi_FreeSocket(rx_socket);
}
-#else /* AFS_SUN56_ENV */
-
-#include "inet/common.h"
-#include "sys/tiuser.h"
-#include "sys/t_kuser.h"
-#include "sys/ioctl.h"
-#include "sys/stropts.h"
-#include "sys/stream.h"
-#include "sys/strsubr.h"
-#include "sys/vnode.h"
-#include "sys/stropts.h"
-#include "sys/tihdr.h"
-#include "sys/timod.h"
-#include "sys/fcntl.h"
-#include "sys/debug.h"
-#include "inet/common.h"
-#include "inet/mi.h"
-#include "netinet/udp.h"
-
-extern dev_t afs_udp_rdev;
-
-
-int
-rxi_GetIFInfo()
-{
- return 0;
-}
-
-
-/* rxi_NewSocket, rxi_FreeSocket and osi_NetSend are from the now defunct
- * afs_osinet.c.
- */
-
-dev_t afs_udp_rdev = (dev_t) 0;
-
-/* Allocate a new socket at specified port in network byte order. */
-osi_socket *
-rxk_NewSocketHost(afs_uint32 ahost, short aport)
-{
- TIUSER *udp_tiptr;
- struct t_bind *reqp, *rspp;
- afs_int32 code;
- struct sockaddr_in *myaddrp;
- struct stdata *stp;
- struct queue *q;
-
- AFS_STATCNT(osi_NewSocket);
- afs_udp_rdev = makedevice(11 /*CLONE*/, ddi_name_to_major("udp"));
- code = t_kopen(NULL, afs_udp_rdev, FREAD | FWRITE, &udp_tiptr, CRED());
- if (code) {
- return (osi_socket *)0;
- }
-
- code = t_kalloc(udp_tiptr, T_BIND, T_ADDR, (char **)&reqp);
- if (code) {
- t_kclose(udp_tiptr, 0);
- }
- code = t_kalloc(udp_tiptr, T_BIND, T_ADDR, (char **)&rspp);
- if (code) {
- t_kfree(udp_tiptr, (char *)reqp, T_BIND);
- t_kclose(udp_tiptr, 0);
- return (osi_socket *)0;
- }
-
- reqp->addr.len = sizeof(struct sockaddr_in);
- myaddrp = (struct sockaddr_in *)reqp->addr.buf;
- myaddrp->sin_family = AF_INET;
- myaddrp->sin_port = aport;
- myaddrp->sin_addr.s_addr = ahost; /* byteswap? */
-
- code = t_kbind(udp_tiptr, reqp, rspp);
- if (code) {
- t_kfree(udp_tiptr, (char *)reqp, T_BIND);
- t_kfree(udp_tiptr, (char *)rspp, T_BIND);
- t_kclose(udp_tiptr, 0);
- return (osi_socket *)0;
- }
- if (memcmp(reqp->addr.buf, rspp->addr.buf, rspp->addr.len)) {
- t_kfree(udp_tiptr, (char *)reqp, T_BIND);
- t_kfree(udp_tiptr, (char *)rspp, T_BIND);
- t_kclose(udp_tiptr, 0);
- return (osi_socket *)0;
- }
- t_kfree(udp_tiptr, (char *)reqp, T_BIND);
- t_kfree(udp_tiptr, (char *)rspp, T_BIND);
-
- /*
- * Set the send and receive buffer sizes.
- */
- stp = udp_tiptr->fp->f_vnode->v_stream;
- q = stp->sd_wrq;
- q->q_hiwat = rx_UdpBufSize;
- q->q_next->q_hiwat = rx_UdpBufSize;
- RD(q)->q_hiwat = rx_UdpBufSize;
-
- return (osi_socket *)udp_tiptr;
-}
-
-osi_socket *
-rxk_NewSocket(short aport)
-{
- return rxk_NewSocketHost(htonl(INADDR_ANY), aport);
-}
-
-int
-osi_FreeSocket(osi_socket *asocket)
-{
- extern int rxk_ListenerPid;
- TIUSER *udp_tiptr = (TIUSER *) asocket;
- AFS_STATCNT(osi_FreeSocket);
-
- if (rxk_ListenerPid) {
- kill(rxk_ListenerPid, SIGUSR1);
- afs_osi_Sleep(&rxk_ListenerPid);
- }
- return 0;
-}
-
-
-int
-osi_NetSend(osi_socket asocket, struct sockaddr_in *addr, struct iovec *dvec,
- int nvecs, afs_int32 asize, int istack)
-{
- int i;
- int code;
- TIUSER *udp_tiptr = (TIUSER *) asocket;
- struct t_kunitdata *udreq;
- struct sockaddr_in sin;
- mblk_t *bp;
- mblk_t *dbp;
-
- /*
- * XXX We don't do any checking on the family since it's assumed to be
- * AF_INET XXX
- */
- sin.sin_family = AF_INET;
- sin.sin_addr.s_addr = addr->sin_addr.s_addr;
- sin.sin_port = addr->sin_port;
-
- /*
- * Get a buffer for the RX header
- */
- if (nvecs < 1) {
- osi_Panic("osi_NetSend, nvecs=%d\n", nvecs);
- }
- while (!(bp = allocb(dvec[0].iov_len, BPRI_LO))) {
- if (strwaitbuf(dvec[i].iov_len, BPRI_LO)) {
- return (ENOSR);
- }
- }
-
- /* Copy the data into the buffer */
- memcpy((char *)bp->b_wptr, (char *)dvec[0].iov_base, dvec[0].iov_len);
- bp->b_datap->db_type = M_DATA;
- bp->b_wptr += dvec[0].iov_len;
-
- /*
- * Append each element in the iovec to the buffer
- */
- for (i = 1; i < nvecs; i++) {
- /* Get a buffer for the next chunk */
- while (!(dbp = allocb(dvec[i].iov_len, BPRI_LO))) {
- if (strwaitbuf(dvec[i].iov_len, BPRI_LO)) {
- freeb(bp);
- return (ENOSR);
- }
- }
-
- /* Copy the data into the buffer */
- memcpy((char *)dbp->b_wptr, (char *)dvec[i].iov_base,
- dvec[i].iov_len);
- dbp->b_datap->db_type = M_DATA;
- dbp->b_wptr += dvec[i].iov_len;
-
- /* Append it to the message buffer */
- linkb(bp, dbp);
- }
-
- /*
- * Allocate and format the unitdata structure.
- */
- code = t_kalloc(udp_tiptr, T_UNITDATA, T_UDATA, (char **)&udreq);
- if (code) {
- freeb(bp);
- printf("osi_NetSend: t_kalloc failed %d\n", code);
- return code;
- }
- udreq->addr.len = sizeof(struct sockaddr_in);
- udreq->addr.maxlen = sizeof(struct sockaddr_in);
- udreq->addr.buf =
- (char *)kmem_alloc(sizeof(struct sockaddr_in), KM_SLEEP);
- udreq->opt.len = 0;
- udreq->opt.maxlen = 0;
- memcpy(udreq->addr.buf, (char *)&sin, sizeof(struct sockaddr_in));
- udreq->udata.udata_mp = bp;
- udreq->udata.len = asize;
-
- code = t_ksndudata(udp_tiptr, udreq, NULL);
- if (code) {
- printf("osi_NetSend: t_ksndudata failed %d\n", code);
- }
-
- t_kfree(udp_tiptr, (caddr_t) udreq, T_UNITDATA);
- return code;
-}
-
-
-int
-osi_NetReceive(osi_socket *asocket, struct sockaddr_in *addr,
- struct iovec *dvec, int nvecs, int *alength)
-{
- int i;
- TIUSER *udp_tiptr = (TIUSER *) asocket;
- struct t_kunitdata *udreq;
- mblk_t *dbp;
- char *phandle;
- short sport;
- int code = 0;
- int length;
- int tlen;
- int blen;
- char *tbase;
- int type;
- int error;
- int events;
-
- /*
- * Allocate the unitdata structure.
- */
- code = t_kalloc(udp_tiptr, T_UNITDATA, T_UDATA, (char **)&udreq);
- if (code) {
- printf("osi_NetReceive: t_kalloc failed %d\n", code);
- return code;
- }
- udreq->addr.len = sizeof(struct sockaddr_in);
- udreq->addr.maxlen = sizeof(struct sockaddr_in);
- udreq->addr.buf =
- (char *)kmem_alloc(sizeof(struct sockaddr_in), KM_SLEEP);
- udreq->opt.len = 0;
- udreq->opt.maxlen = 0;
-
- /*
- * Loop until we get an error or receive some data.
- */
- while (1) {
- /*
- * Wait until there is something to do
- */
- code = t_kspoll(udp_tiptr, -1, READWAIT, &events);
- if (events == 0) {
- osi_Panic("osi_NetReceive, infinite t_kspoll timed out\n");
- }
- /*
- * If there is a message then read it in
- */
- if (code == 0) {
- code = t_krcvudata(udp_tiptr, udreq, &type, &error);
- }
-
- /*
- * Block attempts to kill this thread
- */
- if (code == EINTR && ISSIG(curthread, FORREAL)) {
- klwp_t *lwp = ttolwp(curthread);
- proc_t *p = ttoproc(curthread);
- int sig = lwp->lwp_cursig;
-
- if (sig == SIGKILL) {
- mutex_enter(&p->p_lock);
- p->p_flag &= ~SKILLED;
- mutex_exit(&p->p_lock);
- }
- lwp->lwp_cursig = 0;
- if (lwp->lwp_curinfo) {
- kmem_free((caddr_t) lwp->lwp_curinfo,
- sizeof(*lwp->lwp_curinfo));
- lwp->lwp_curinfo = NULL;
- }
- }
-
- if (code) {
- break;
- }
-
- /*
- * Ignore non-data message types
- */
- if (type != T_DATA) {
- continue;
- }
-
- /*
- * Save the source address
- */
- memcpy((char *)addr, udreq->addr.buf, sizeof(struct sockaddr_in));
-
- /*
- * Copy out the message buffers, take care not to overflow
- * the I/O vector.
- */
- dbp = udreq->udata.udata_mp;
- length = *alength;
- for (i = 0; dbp != NULL && length > 0 && i < nvecs; i++) {
- tlen = dvec[i].iov_len;
- tbase = dvec[i].iov_base;
- if (tlen > length) {
- tlen = length;
- }
- while (dbp != NULL && tlen > 0) {
- blen = dbp->b_wptr - dbp->b_rptr;
- if (blen > tlen) {
- memcpy(tbase, (char *)dbp->b_rptr, tlen);
- length -= tlen;
- dbp->b_rptr += tlen;
- tlen = 0;
- } else {
- memcpy(tbase, (char *)dbp->b_rptr, blen);
- length -= blen;
- tlen -= blen;
- tbase += blen;
- dbp = dbp->b_cont;
- }
- }
- }
- *alength = *alength - length;
- break;
- }
-
- t_kfree(udp_tiptr, (caddr_t) udreq, T_UNITDATA);
- return code;
-}
-
-
-void
-osi_StopListener(void)
-{
- osi_FreeSocket(rx_socket);
-}
-
-
-void
-shutdown_rxkernel(void)
-{
-}
-
-
-#endif /* AFS_SUN56_ENV */
#endif /* AFS_SUN5_ENV */
# include "h/socket.h"
# endif
# include "netinet/in.h"
-# ifdef AFS_SUN58_ENV
+# ifdef AFS_SUN5_ENV
# include "netinet/ip6.h"
-# endif
-# ifdef AFS_SUN57_ENV
# include "inet/common.h"
# include "inet/ip.h"
# include "inet/ip_ire.h"
if (now > (call->lastReceiveTime + deadTime)) {
if (call->state == RX_STATE_ACTIVE) {
#ifdef ADAPT_PMTU
-#if defined(KERNEL) && defined(AFS_SUN57_ENV)
+#if defined(KERNEL) && defined(AFS_SUN5_ENV)
ire_t *ire;
#if defined(AFS_SUN510_ENV) && defined(GLOBAL_NETSTACKID)
netstack_t *ns = netstack_find_by_stackid(GLOBAL_NETSTACKID);
#define rx_atomic_dec_and_read(X) atomic_dec_return(X)
#define rx_atomic_sub(X, V) atomic_sub(V, X)
-#elif defined(AFS_SUN510_ENV) || (defined(AFS_SUN58_ENV) && defined(KERNEL) && !defined(UKERNEL))
+#elif defined(AFS_SUN510_ENV) || (defined(AFS_SUN5_ENV) && defined(KERNEL) && !defined(UKERNEL))
# if defined(KERNEL) && !defined(UKERNEL)
# include <sys/atomic.h>
#include "h/systm.h"
#endif
#include "h/time.h"
-#ifdef AFS_SUN56_ENV
-#include "h/vfs.h" /* stops SUN56 socketvar.h warnings */
-#include "h/stropts.h" /* stops SUN56 socketvar.h warnings */
-#include "h/stream.h" /* stops SUN56 socketvar.h errors */
+#ifdef AFS_SUN5_ENV
+#include "h/vfs.h" /* stops SUN5 socketvar.h warnings */
+#include "h/stropts.h" /* stops SUN5 socketvar.h warnings */
+#include "h/stream.h" /* stops SUN5 socketvar.h errors */
#include "h/disp.h"
#endif
#include "h/socket.h"
static struct xdr_ops xdrrec_ops = {
#ifdef AFS_NT40_ENV
/* Windows does not support labeled assignments */
-#if !(defined(KERNEL) && defined(AFS_SUN57_ENV))
+#if !(defined(KERNEL) && defined(AFS_SUN5_ENV))
xdrrec_getint32, /* deserialize an afs_int32 */
xdrrec_putint32, /* serialize an afs_int32 */
#endif
xdrrec_setpos, /* set offset in the stream: not supported. */
xdrrec_inline, /* prime stream for inline macros */
xdrrec_destroy, /* destroy stream */
-#if (defined(KERNEL) && defined(AFS_SUN57_ENV))
+#if (defined(KERNEL) && defined(AFS_SUN5_ENV))
NULL,
xdrrec_getint32, /* deserialize an afs_int32 */
xdrrec_putint32, /* serialize an afs_int32 */
static struct xdr_ops xdrstdio_ops = {
#ifdef AFS_NT40_ENV
/* Windows does not support labeled assignments */
-#if !(defined(KERNEL) && defined(AFS_SUN57_ENV))
+#if !(defined(KERNEL) && defined(AFS_SUN5_ENV))
xdrstdio_getint32, /* deserialize an afs_int32 */
xdrstdio_putint32, /* serialize an afs_int32 */
#endif
xdrstdio_setpos, /* set offset in the stream */
xdrstdio_inline, /* prime stream for inline macros */
xdrstdio_destroy, /* destroy stream */
-#if (defined(KERNEL) && defined(AFS_SUN57_ENV))
+#if (defined(KERNEL) && defined(AFS_SUN5_ENV))
NULL,
xdrstdio_getint32, /* deserialize an afs_int32 */
xdrstdio_putint32, /* serialize an afs_int32 */
#ifdef AFS_SUN5_ENV /*XXXXX*/
#include <sys/t_lock.h>
struct vnode foo;
-#ifdef AFS_SUN54_ENV
-#else
-#ifdef AFS_SUN52_ENV
-typedef struct stat_mutex stat_mutex_t;
-#define kmutex_t stat_mutex_t
-#else
-typedef struct adaptive_mutex2 adaptive_mutex2_t;
-#define kmutex_t adaptive_mutex2_t
-#endif
-#endif
#endif
#ifdef AFS_SGI53_ENV
#include <sys/elf.h>
#include <libelf.h>
#include <sys/elf_M32.h>
-#ifndef AFS_SUN54_ENV
-typedef ulong_t k_fltset_t; /* XXXXXXXXXXX */
-#endif /* !AFS_SUN54_ENV */
#include <sys/proc.h>
#include <sys/file.h>
#define _NLIST_H /* XXXXXXXXXXXXX */
int
readmem(kmem, buf, vad, len)
int kmem, len;
-#ifdef AFS_SUN57_ENV
+#ifdef AFS_SUN5_ENV
uintptr_t vad;
#else
int vad;
-#endif /** AFS_SUN57_ENV **/
+#endif /** AFS_SUN5_ENV **/
char *buf;
{
int newlen;
void
pmutex(char *sp, kmutex_t *mp)
{
-#ifdef AFS_SUN54_ENV
-
-#else
- struct stat_mutex *smp = (struct stat_mutex *)mp;
-
- printf("%s mutex: %x %x\n", sp, smp->m_stats_lock, smp->m_type);
-#endif
}
#endif
/* The following define is in order to utilize one vfsck for SunOS 4.1 & 4.1.1; note
* that the ic_flags and size.val[0] will be zero except for AFS inodes in 4.1.1...
*/
-#if defined(AFS_SUN56_ENV)
#define VICEINODE ((dp->di_vicemagic == VICEMAGIC) \
&& (dp->di_mode & IFMT) == IFREG)
#define OLDVICEINODE (!dp->di_ic.ic_uid && (dp->di_ic.ic_gid== 0xfffffffe))
#else
-#define VICEINODE (((dp->di_ic.ic_gen == VICEMAGIC) || \
- (dp->di_ic.ic_flags || dp->di_ic.ic_size.val[0])) \
- && (dp->di_mode & IFMT) == IFREG)
-#endif /* AFS_SUN56_ENV */
-#else
#define VICEINODE (IS_DVICEMAGIC(dp) && (dp->di_mode & IFMT) == IFREG)
#endif
#endif
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
#define OFF_T offset_t
#define UOFF_T u_offset_t
#else
#define OFF_T long
#define UOFF_T long
-#endif /* AFS_SUN56_ENV */
+#endif /* AFS_SUN5_ENV */
/*
* buffer cache structure.
return (ret);
}
idesc->id_numfrags = sblock.fs_frag;
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
/*
* indir_data_blks determine the no. of data blocks
* in the previous levels. ie., at level 3 it
return (SKIP);
bp = getdatablk(idesc->id_blkno, sblock.fs_bsize);
ilevel--;
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
for (sizepb = 1, i = 0; i < ilevel; i++) {
sizepb *= (u_offset_t) NINDIR(&sblock);
}
if (*ap) {
idesc->id_blkno = *ap;
if (ilevel > 0) {
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
n = iblock(idesc, ilevel, isize);
/*
* each iteration decrease "remaining block
printf("MODE=%o\n", dp->di_mode);
if (preen)
printf("%s: ", devname);
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
printf("SIZE=%" AFS_INT64_FMT " ", dp->di_size);
#else
printf("SIZE=%ld ", dp->di_size);
continue;
}
#endif /* ACLS */
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
if (dp->di_size < 0 || dp->di_size > (UOFF_T) UFS_MAXOFFSET_T) {
if (debug)
printf("bad size %llu:", dp->di_size);
if (ndb < 0) {
if (debug)
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
printf("bad size %" AFS_INT64_FMT " ndb %d:",
#else
printf("bad size %d ndb %d:",
zlnhead = zlnp;
}
}
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
if (OLDVICEINODE) {
if (yflag) {
if (!oldreported) {
break;
if ((dp = ginode(dirp->d_ino)) == NULL)
break;
-#if defined(AFS_SUN_ENV) && !defined(AFS_SUN56_ENV)
- dp->di_gen = dp->di_ic.ic_flags = dp->di_ic.ic_size.val[0] = 0;
-#else
CLEAR_DVICEMAGIC(dp);
-#endif
inodirty();
statemap[dirp->d_ino] = FSTATE;
ret |= ALTERED;
* read in the summary info.
*/
asked = 0;
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
{
caddr_t sip;
sip = calloc(1, sblock.fs_cssize);
sip += size;
}
}
-#else /* AFS_SUN56_ENV */
+#else /* AFS_SUN5_ENV */
#if defined(AFS_HPUX110_ENV)
size = fragroundup(&sblock, sblock.fs_cssize);
sblock.fs_csp = (struct csum *)calloc(1, (unsigned)size);
}
}
#endif /* else AFS_HPUX110_ENV */
-#endif /* else AFS_SUN56_ENV */
+#endif /* else AFS_SUN5_ENV */
#if defined(AFS_SUN_ENV) && !defined(AFS_SUN3_ENV)
/*
altsblock.fs_optim = sblock.fs_optim;
altsblock.fs_rotdelay = sblock.fs_rotdelay;
altsblock.fs_maxbpg = sblock.fs_maxbpg;
-#if !defined(__alpha) && !defined(AFS_SUN56_ENV)
+#if !defined(__alpha) && !defined(AFS_SUN5_ENV)
#if !defined(AFS_HPUX110_ENV)
/* HPUX110 will use UpdateAlternateSuper() below */
memcpy((char *)altsblock.fs_csp, (char *)sblock.fs_csp,
sizeof sblock.fs_csp);
#endif /* ! AFS_HPUX110_ENV */
#endif /* ! __alpha */
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
memcpy((char *)altsblock.fs_u.fs_csp_pad, (char *)sblock.fs_u.fs_csp_pad,
sizeof(sblock.fs_u.fs_csp_pad));
#endif
fsbtodb(&sblock, sblock.fs_csaddr));
}
#else
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
sip = (caddr_t) sblock.fs_u.fs_csp;
for (i = 0, j = 0; i < sblock.fs_cssize; i += sblock.fs_bsize, j++) {
size =
sblock.fs_cssize - i <
sblock.fs_bsize ? sblock.fs_cssize - i : sblock.fs_bsize);
}
-#endif /* AFS_SUN56_ENV */
+#endif /* AFS_SUN5_ENV */
#endif /* AFS_HPUX101_ENV */
}
unsigned int size;
unsigned int bno;
unsigned int fsclean;
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
offset_t sblkoff;
#endif
/* read private copy of superblock, update clean flag, and write it */
bno = sblk.b_bno;
size = sblk.b_size;
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
sblkoff = (OFF_T) (bno) << DEV_BSHIFT;
if (llseek(fsreadfd, sblkoff, 0) == -1)
return;
fs_set_state(cleanbuf.b_un.b_fs, fs_get_state(&sblock));
#endif
cleanbuf.b_un.b_fs->fs_time = sblock.fs_time;
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
if (llseek(fswritefd, sblkoff, 0) == -1)
return;
#else
}
#endif
-#ifdef AFS_SUN52_ENV
+#ifdef AFS_SUN5_ENV
char *
hasvfsopt(vfs, opt)
struct vfstab *vfs;
osi_Panic("Tru64 needs AFS_3DISPARES\n");
#endif
#endif
-#if defined(AFS_SUN56_ENV)
+#if defined(AFS_SUN5_ENV)
/* if this is a pre-sol2.6 unconverted inode, bail out */
{
afs_uint32 p1, p2, p3, p4;