+++ /dev/null
-# 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
-
-SHELL=/bin/sh
-DESTDIR=dest/
-SRCDIR=${DESTDIR}
-INSTALL=${SRCDIR}bin/install
-WASHTOOL=true
-
-#WASHTOOLRCSUPDATE=${WASHTOOL} rcsupdate
-WASHTOOLCMD=$(MAKE)
-WASHTOOLFLAGS=-argument install
-
-COMPILE_PART1=cd obj; cd
-COMPILE_PART2=; $(MAKE) install SYS_NAME=${SYS_NAME} DESTDIR=$(shell pwd)/${SYS_NAME}/dest/ SRCDIR=$(shell pwd)/${SYS_NAME}/dest/
-MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
-
-# Enable build+install of obsolete and insecure packages
-# Set to anything other than YES, or comment out to disable the build
-WITH_DEPRECATED=YES
-
-# To compile AFS from scratch in the src tree run "make SYS_NAME=<type>".
-# This recursively calls "make install ..." and does not depend on the
-# existence of any non-standard programs.
-# To compile a package and all its predecessors using washtool run
-# "make <package>". This requires that @sys works, and that washtool,
-# rcsupdate and our version of ci and co exist.
-# To compile for the kernel type "make blibafs". This assumes washtool,
-# install, rxgen, compile_et and others already exist and runs it with
-# "-argument kinstall".
-
-all:
- set ${SYS_NAME}/dest; $(MKDIR_IF_NEEDED)
- $(MAKE) install "COMPILE_PART1=cd obj; cd" "COMPILE_PART2=; $(MAKE) install SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/" "COMPILE_PART3=; $(MAKE) test SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/" SYS_NAME=${SYS_NAME} "WASHTOOL=echo No washtool: "
-
-basics:
- -if test -f "${WASHTOOL}"; \
- then \
- ${WASHTOOL} project . . -noretarget; \
- ${WASHTOOL} destdir; \
- fi
-# test -d ${DESTDIR}
-
-minproject: basics
- ${WASHTOOL} project . . -noretarget
- ${WASHTOOL} destdir
-
-project: basics cmd comerr minproject # try and initialize project
-
-config: basics
- ${COMPILE_PART1} config ${COMPILE_PART2}
-
-pinstall: basics config
- ${COMPILE_PART1} pinstall ${COMPILE_PART2}
-
-procmgmt: basics config pinstall
- ${COMPILE_PART1} procmgmt ${COMPILE_PART2}
-
-util: basics pinstall procmgmt
- ${COMPILE_PART1} util ${COMPILE_PART2}
-
-audit: basics pinstall rx rxkad fsint
- ${COMPILE_PART1} audit ${COMPILE_PART2}
-
-comerr: basics util
- ${COMPILE_PART1} comerr ${COMPILE_PART2}
-
-cmd: basics comerr
- ${COMPILE_PART1} cmd ${COMPILE_PART2}
- @case ${SYS_NAME} in \
- sgi_6* | sun4x_57 | sun4x_58 | hp_ux11* | sparc64_linux* | alpha_linux* ) \
- ${COMPILE_PART1} cmd ${COMPILE_PART2} install64 ;; \
- esac
-
-lwp: project util
- ${COMPILE_PART1} lwp ${COMPILE_PART2}
-
-rxgen: minproject pinstall
- ${COMPILE_PART1} rxgen ${COMPILE_PART2}
-
-rxobj:
- ${WASHTOOL} object rx
-
-kernrx:
- ${COMPILE_PART1} rx ${COMPILE_PART2}
-
-rx: project lwp rxgen
- ${COMPILE_PART1} rx ${COMPILE_PART2}
-
-rxstat: rx
- ${COMPILE_PART1} rxstat ${COMPILE_PART2}
-
-rxincls: rxobj
- ${COMPILE_PART1} rx ${COMPILE_PART2}
-
-rxtests: rxobj
- ${COMPILE_PART1} rx ${COMPILE_PART3}
-
-fsint: project kfsint
-
-kfsint: rxgen rxincls lwp
- ${COMPILE_PART1} fsint ${COMPILE_PART2}
-
-export2: project fsint
-
-export: minproject fsint
- @case ${SYS_NAME} in \
- rs_aix*) \
- ${COMPILE_PART1} export ${COMPILE_PART2} ;; \
- * ) echo skipping export for ${SYS_NAME} ;; \
- esac
-
-afs: minproject export
- ${COMPILE_PART1} afs ${COMPILE_PART2}
-
-des: minproject config
- if [ -f "obj/des/Makefile" ] ; then \
- ${COMPILE_PART1} des ${COMPILE_PART2} ; \
- else \
- ${COMPILE_PART1} des_stub ${COMPILE_PART2} ; \
- fi
-
-sys: project des rx rxstat fsint
- ${COMPILE_PART1} sys ${COMPILE_PART2}
-
-rxkad: project des
- ${WASHTOOL} object rxkad
- ${WASHTOOL} object rxkad/domestic
- ${COMPILE_PART1} rxkad ${COMPILE_PART2}
-
-kernauth:
- ${COMPILE_PART1} auth ${COMPILE_PART2}
-
-auth: project comerr des lwp rx sys rxkad audit
- ${COMPILE_PART1} auth ${COMPILE_PART2}
-
-ubik: project auth
- ${COMPILE_PART1} ubik ${COMPILE_PART2}
-
-# cd obj/ubik; $(MAKE) test SYS_NAME=${SYS_NAME}
-ubiktests: ubik sys
- ${COMPILE_PART1} ubik ${COMPILE_PART3}
-
-ptserver: project ubik cmd comerr auth audit
- ${COMPILE_PART1} ptserver ${COMPILE_PART2}
-
-kauth: project ubik cmd auth comerr ptserver audit libacl
- ${COMPILE_PART1} kauth ${COMPILE_PART2}
-
-dauth: project ubik cmd auth comerr
- ${COMPILE_PART1} dauth ${COMPILE_PART2}
-
-libacl: project ptserver
- ${COMPILE_PART1} libacl ${COMPILE_PART2}
-
-kerndir: minproject
- ${COMPILE_PART1} dir ${COMPILE_PART2}
-
-dir: project libacl
- ${COMPILE_PART1} dir ${COMPILE_PART2}
-
-# Removed from sgi_* case below:
-# ${COMPILE_PART1} sgiefs ${COMPILE_PART2};;
-sgiefs:
- case ${SYS_NAME} in \
- sgi_*) \
- echo "SGI efs not supported" ;; \
- *) \
- echo No efs stuff for ${SYS_NAME};; \
- esac
-
-vol: project dir afs sgiefs
- ${COMPILE_PART1} vol ${COMPILE_PART2}
-
-vlserver: project vol audit
- ${COMPILE_PART1} vlserver ${COMPILE_PART2}
-
-viced: project vlserver audit
- ${COMPILE_PART1} viced ${COMPILE_PART2}
-
-tviced: project viced vlserver libafsrpc libafsauthent
- case ${SYS_NAME} in \
- alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
- ${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \
- *) \
- echo Not building MT viced for ${SYS_NAME} ;; \
- esac
-
-volser: project tviced usd kauth audit
- ${COMPILE_PART1} volser ${COMPILE_PART2}
-
-venus: project volser ptserver
- ${COMPILE_PART1} venus ${COMPILE_PART2}
- ${COMPILE_PART1} venus/test ${COMPILE_PART2}
-
-afsd: project sys kauth
- ${COMPILE_PART1} afsd ${COMPILE_PART2}
-
-null: project
- ${COMPILE_PART1} null ${COMPILE_PART2}
-
-gtx: project null auth # kauth rxkad ?
- case ${SYS_NAME} in \
- rs_aix* | sun4x_5? | sgi_6? | *linux* | ppc_darwin* | *fbsd*) \
- rm -f ${DESTDIR}lib/afs/libtermlib.a; \
- ln -s libnull.a ${DESTDIR}lib/afs/libtermlib.a; \
- ${COMPILE_PART1} gtx ${COMPILE_PART2};; \
- *) \
- rm -f ${DESTDIR}lib/afs/libtermlib.a; \
- ln -s /usr/lib/libtermlib.a ${DESTDIR}lib/afs/libtermlib.a; \
- ${COMPILE_PART1} gtx ${COMPILE_PART2};; \
- esac
-
-fsprobe: project util fsint
- ${COMPILE_PART1} fsprobe ${COMPILE_PART2}
-
-scout: project gtx fsprobe
- ${COMPILE_PART1} scout ${COMPILE_PART2}
-
-uss: des kauth project rx vlserver vol
- ${COMPILE_PART1} uss ${COMPILE_PART2}
-
-bozo: project ntp audit
- ${COMPILE_PART1} bozo ${COMPILE_PART2}
-
-
-# Removed from respective case statements below:
-# ${COMPILE_PART1} vfsckaix42 ${COMPILE_PART2} ;;
-# ${COMPILE_PART1} vfscksol25 ${COMPILE_PART2} ;;
-# ${COMPILE_PART1} vfscksol26 ${COMPILE_PART2} ;;
-# ${COMPILE_PART1} vfscksol27 ${COMPILE_PART2} ;;
-vfsck: minproject vol
- set -x; \
- case ${SYS_NAME} in \
- sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | *fbsd* ) \
- echo skip vfsck for ${SYS_NAME} ;; \
- * ) \
- ${COMPILE_PART1} vfsck ${COMPILE_PART2} ;; \
- esac
-
-login: project kauth rxkad
- set -x; \
- case ${SYS_NAME} in \
- sgi_* ) \
- ${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
- rs_aix42 ) \
- ${WASHTOOL} object login ; \
- ${COMPILE_PART1} tsm41 ${COMPILE_PART2} ;; \
- alpha_dux* ) \
- ${COMPILE_PART1} sia ${COMPILE_PART2} ;; \
- sun4x_55 ) \
- ${COMPILE_PART1} login ${COMPILE_PART2} ;; \
- sun4x_* | hp_ux11* | *linux* | *fbsd* ) \
- ${COMPILE_PART1} pam ${COMPILE_PART2} ;; \
- ppc_darwin* ) \
- echo Skipping login for ${SYS_NAME} ;; \
- * ) \
- ${COMPILE_PART1} login ${COMPILE_PART2} ;; \
- esac
-
-KERNELDIR= \
- afs \
- dir \
- rx \
- fsint \
- auth \
- rxkad \
- util \
- libacl \
- vlserver \
- sgiefs \
- rxstat
-
-
-UKERNELDIR= \
- afs \
- dir \
- rx \
- fsint \
- util \
- auth \
- rxkad \
- vlserver \
- kauth \
- des \
- afsweb \
- rxstat
-
-
-libafs: minproject libafs_setup ${KERNELDIR}
- ${COMPILE_PART1} libafs ${COMPILE_PART2}
-
-libuafs: minproject libuafs_setup ${UKERNELDIR}
- set -x; \
- case ${SYS_NAME} in \
- hp_ux102* ) \
- echo Skipping libuafs for ${SYS_NAME} ;; \
- * ) \
- ${COMPILE_PART1} libuafs ${COMPILE_PART2} ;; \
- esac
-
-afsweb: minproject kauth dauth
- ${COMPILE_PART1} afsweb ${COMPILE_PART2}
-
-update: project auth
- ${COMPILE_PART1} update ${COMPILE_PART2}
-
-log: project auth
- ${COMPILE_PART1} log ${COMPILE_PART2}
-
-bu_utils: project
- ${COMPILE_PART1} bu_utils ${COMPILE_PART2}
-
-usd: project
- ${COMPILE_PART1} usd ${COMPILE_PART2}
-
-bubasics: project comerr
- ${COMPILE_PART1} bubasics ${COMPILE_PART2}
-
-butm: project bubasics usd
- ${COMPILE_PART1} butm ${COMPILE_PART2}
-
-butc: project bubasics butm budb bucoord cmd
- ${COMPILE_PART1} butc ${COMPILE_PART2}
-
-tbutc: project bubasics butm budb bucoord cmd butc
- case ${SYS_NAME} in \
- alpha_dux*|sgi_*|sun4x_*|rs_aix4*|*linux*|hp_ux110) \
- ${COMPILE_PART1} tbutc ${COMPILE_PART2} ;; \
- *) \
- echo Not building MT butc for ${SYS_NAME} ;; \
- esac
-
-budb: project bubasics
- ${COMPILE_PART1} budb ${COMPILE_PART2}
-
-bucoord: project bubasics budb volser
- ${COMPILE_PART1} bucoord ${COMPILE_PART2}
-
-xstat: project
- ${COMPILE_PART1} xstat ${COMPILE_PART2}
-
-afsmonitor: project gtx xstat
- ${COMPILE_PART1} afsmonitor ${COMPILE_PART2}
-
-#
-# Washtool internal targets
-#
-ircs: project
- case ${SYS_NAME} in \
- sgi_* ) \
- echo skip ircs for ${SYS_NAME} ;; \
- *) \
- ${COMPILE_PART1} ircs ${COMPILE_PART2} ;; \
- esac
-
-wash: project
- case ${SYS_NAME} in \
- sgi_* ) \
- echo skip wash for ${SYS_NAME} ;; \
- *) \
- ${COMPILE_PART1} wash ${COMPILE_PART2} ;; \
- esac
-
-tests: rxtests ubiktests
-
-# pthread based user space RX library
-libafsrpc: rx rxkad des
- case ${SYS_NAME} in \
- alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
- ${COMPILE_PART1} libafsrpc ${COMPILE_PART2} ;; \
- *) \
- echo Not building MT libafsrpc for ${SYS_NAME} ;; \
- esac
-
-libafsauthent: ubik auth kauth libafsrpc
- case ${SYS_NAME} in \
- alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
- ${COMPILE_PART1} libafsauthent ${COMPILE_PART2} ;; \
- *) \
- echo Not building MT libafsrpc for ${SYS_NAME} ;; \
- esac
-
-libadmin_real:
- ${COMPILE_PART1} libadmin ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/adminutil ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/vos ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/client ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/kas ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/pts ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/bos ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/cfg ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/test ${COMPILE_PART2}
- ${COMPILE_PART1} libadmin/samples ${COMPILE_PART2}
-libadmin: libafsauthent bozo
- case ${SYS_NAME} in \
- alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
- $(MAKE) libadmin_real SYS_NAME=$(SYS_NAME) \
- WASHTOOL="$(WASHTOOL)" \
- COMPILE_PART1="$(COMPILE_PART1)" \
- COMPILE_PART2="$(COMPILE_PART2)" \
- SRCDIR=$(SRCDIR) DESTDIR=$(DESTDIR) \
- DBG_DEFS=$(DBG_DEFS) ;; \
- *) \
- echo Not building MT libadmin for ${SYS_NAME} ;; \
- esac
-finale: project cmd comerr afsd allrcmds butc tbutc libuafs audit kauth log package \
- ptserver scout bu_utils ubik uss bozo vfsck volser \
- venus update xstat afsmonitor dauth tests libafsrpc \
- libafsauthent libadmin
- ${COMPILE_PART1} finale ${COMPILE_PART2}
-
-# Use washtool to ensure MakefileProto is current and obj/libafs exists.
-
-libafs_setup: config minproject export
-# How about if no RCSUPDATE exists?
-# Well then you're going to lose. Or, if you insist, set
-# WASHTOOLRCSUPDATE to be a no-op
-# Warning: The next few lines are _extremely_ sensitive to spaces and tabs.
- ${WASHTOOL} object libafs
- case ${SYS_NAME} in \
- alpha_dux* ) \
- MKAFS_OSTYPE=DUX;; \
- hp_ux* ) \
- MKAFS_OSTYPE=HPUX;; \
- *linux*) \
- MKAFS_OSTYPE=LINUX;; \
- *fbsd*) \
- MKAFS_OSTYPE=FBSD;; \
- rs_aix* ) \
- MKAFS_OSTYPE=AIX;; \
- sgi_* ) \
- MKAFS_OSTYPE=IRIX;; \
- sun4x_5* ) \
- MKAFS_OSTYPE=SOLARIS;; \
- ppc_darwin* ) \
- MKAFS_OSTYPE=DARWIN;; \
- * ) \
- echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
- esac; \
- obj/config/config src/libafs/MakefileProto.$$MKAFS_OSTYPE obj/libafs/Makefile ${SYS_NAME}
-
-libuafs_setup: config minproject export
-# How about if no RCSUPDATE exists?
-# Well then you're going to lose. Or, if you insist, set
-# WASHTOOLRCSUPDATE to be a no-op
- ${WASHTOOL} object libuafs
- case ${SYS_NAME} in \
- hp_ux* ) \
- MKAFS_OSTYPE=HPUX;; \
- *linux*) \
- MKAFS_OSTYPE=LINUX;; \
- *fbsd*) \
- MKAFS_OSTYPE=FBSD;; \
- rs_aix* ) \
- MKAFS_OSTYPE=AIX;; \
- sun4x_5* ) \
- MKAFS_OSTYPE=SOLARIS;; \
- alpha_dux* ) \
- MKAFS_OSTYPE=DUX;; \
- sgi_6* ) \
- MKAFS_OSTYPE=IRIX;; \
- ppc_darwin* ) \
- MKAFS_OSTYPE=DARWIN;; \
- * ) \
- echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
- esac; \
- obj/config/config src/libuafs/MakefileProto.$$MKAFS_OSTYPE obj/libuafs/Makefile ${SYS_NAME}
-
-# "COMPILE_PART1=${COMPILE_PART1}" "COMPILE_PART2=${COMPILE_PART2}" SYS_NAME=${SYS_NAME} ;;
-
-TARGET=finale
-install:
- $(MAKE) $(TARGET) "SYS_NAME=${SYS_NAME}" "WASHTOOL=${WASHTOOL}" \
- "COMPILE_PART1=${COMPILE_PART1}" \
- "COMPILE_PART2=${COMPILE_PART2}" \
- DESTDIR=`pwd`/${SYS_NAME}/dest/ \
- SRCDIR=`pwd`/${SYS_NAME}/dest/ \
- "DBG_DEFS=${DBG_DEFS}"
-
-# sgi: "NON_SHARED=-non_shared"
-#updatekdir:
-# ${WASHTOOL} rcsupdate ${KERNELDIR} libafs
-
-kupdate: updatekdir libafs_setup libuafs_setup
-
-blibafs:
- $(MAKE) libafs "WASHTOOL=${WASHTOOL}" "WASHTOOLFLAGS=-argument kinstall" SYS_NAME=${SYS_NAME} "CPUARCH=${CPUARCH}" "MPSP=${MPSP}" "DBG_DEFS=${DBG_DEFS}"
-
-blibuafs:
- $(MAKE) libuafs "WASHTOOL=${WASHTOOL}" "WASHTOOLFLAGS=-argument ukinstall" SYS_NAME=${SYS_NAME} "CPUARCH=${CPUARCH}" "MPSP=${MPSP}" "DBG_DEFS=${DBG_DEFS}"
-
-bwebafs: sys
- $(MAKE) libuafs "WASHTOOL=${WASHTOOL}" "WASHTOOLFLAGS=-argument webinstall" SYS_NAME=${SYS_NAME} "CPUARCH=${CPUARCH}" "MPSP=${MPSP}" "DBG_DEFS=${DBG_DEFS}"
-
-clean:
- ${WASHTOOL} every "cd obj/%s; $(MAKE) clean" -rootd obj
-
-checklist:
- ${WASHTOOL} every -command \
- 'cd rcs/%s; echo ; echo In %s:; if test x = "x`/bin/ls RCS/*,v`"; then exit 0; else rlog -I RCS/*,v; fi'
-
-links:
- echo "Remove the obj directory"
- - /bin/rm -rf @sys/obj/* ;
- - /bin/rm -rf @sys/dest/* ;
- - /bin/mkdir @sys/obj ;
- echo "Create the obj directories"
- here=`pwd` ; \
- cd src; \
- for file in `find [!NW]* -type d -print` ; do \
- /bin/mkdir $${here}/obj/$${file} ; \
- done;
- echo "Create the obj file links"
- here=`pwd` ; \
- cd src; \
- for file in `find [!NW]* -type f -print` ; do \
- /bin/ln -s `pwd`/$${file} $${here}/obj/$${file} ; \
- done;
-
-#
-# Below targets are all deprecated, insecure, or obsolte,
-# see README.OBSOLETE and README.INSECURE for more info
-#
-
-mpp: project
- @case ${WITH_DEPRECATED} in \
- YES) ${COMPILE_PART1} mpp ${COMPILE_PART2} ;; \
- *) echo skipping deprecated target: mpp ;; \
- esac
-
-package: project mpp
- @case ${WITH_DEPRECATED} in \
- YES) ${COMPILE_PART1} package ${COMPILE_PART2} ;; \
- *) echo skipping deprecated target: package ;; \
- esac
-
-package.files: package
- @case ${WITH_DEPRECATED} in \
- YES) ${DESTDIR}/bin/makepkgfiles afs.dev ;; \
- *) echo skipping deprecated target: package.files ;; \
- esac
-
-ntp: project volser
- @case ${WITH_DEPRECATED} in \
- YES) case ${SYS_NAME} in \
- sun4x_58 | *linux* | *fbsd* | ppc_darwin* ) echo skipping ntp for ${SYS_NAME} ;; \
- * ) ${COMPILE_PART1} ntp ${COMPILE_PART2} ;; \
- esac ;; \
- *) echo skipping deprecated target: ntp ;; \
- esac
-
-sgistuff: project rlogind
- @case ${WITH_DEPRECATED} in \
- YES) case ${SYS_NAME} in \
- sgi_* ) ${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
- * ) echo skipping sgistuff for ${SYS_NAME} ;; \
- esac ;; \
- *) echo skipping deprecated target: sgistuff ;; \
- esac
-
-ftpd43+: project kauth rxkad
- @case ${WITH_DEPRECATED} in \
- YES) case ${SYS_NAME} in \
- rs_aix* | sun4x_55 | *linux*) \
- ${COMPILE_PART1} ftpd43+ ${COMPILE_PART2} ;; \
- *) echo skip ftpd43+ for ${SYS_NAME} ;; \
- esac ;; \
- *) echo skipping deprecated target: ftpd43+ ;; \
- esac
-
-inetd: project kauth rxkad
- @case ${WITH_DEPRECATED} in \
- YES) ${COMPILE_PART1} inetd ${COMPILE_PART2} ;; \
- *) echo skipping deprecated target: inetd ;; \
- esac
-
-rsh: project inetd
- @case ${WITH_DEPRECATED} in \
- YES) ${COMPILE_PART1} rsh ${COMPILE_PART2} ;; \
- *) echo skipping deprecated target: rsh ;; \
- esac
-
-rlogind: project rsh ftpd43+ login
- @case ${WITH_DEPRECATED} in \
- YES) case ${SYS_NAME} in \
- rs_aix*) ${COMPILE_PART1} rlogind ${COMPILE_PART2} ;; \
- *) echo skipping rlogind for ${SYS_NAME} ;; \
- esac ;; \
- *) echo skipping deprecated target: rlogind ;; \
- esac
-
-rcp: project rsh inetd
- @case ${WITH_DEPRECATED} in \
- YES) case ${SYS_NAME} in \
- sgi_* ) echo skip rcp for ${SYS_NAME} ;; \
- *) ${COMPILE_PART1} rcp ${COMPILE_PART2} ;; \
- esac ;; \
- *) echo skipping deprecated target: rcp ;; \
- esac
-
-allrcmds: project rcp rlogind
-
-
#include <linux/module.h>
+#ifdef AFS_SPARC64_LINUX24_ENV
+#define __NR_setgroups32 82 /* This number is not exported for some bizarre reason. */
+#endif
asmlinkage int (*sys_settimeofdayp)(struct timeval *tv, struct timezone *tz);
#if !defined(AFS_ALPHA_LINUX20_ENV)
#ifdef AFS_SPARC64_LINUX20_ENV
static unsigned int afs_ni_syscall32 = 0;
-asmlinkage int (*sys_setgroupsp32)(int gidsetsize, __kernel_gid_t32 *grouplist);
+asmlinkage int (*sys32_setgroupsp)(int gidsetsize, __kernel_gid_t32 *grouplist);
+#if defined(__NR_setgroups32)
+asmlinkage int (*sys32_setgroups32p)(int gidsetsize, __kernel_gid_t32 *grouplist);
+#endif
extern unsigned int sys_call_table32[];
asmlinkage int afs_syscall32(long syscall, long parm1, long parm2, long parm3,
}
#endif
-#if defined(AFS_LINUX24_ENV)
+#ifdef AFS_LINUX24_ENV
asmlinkage int (*sys_setgroups32p)(int gidsetsize, __kernel_gid32_t *grouplist);
#endif
{
extern int afs_syscall();
extern int afs_xsetgroups();
-#if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_LINUX24_ENV)
+#if defined(__NR_setgroups32)
extern int afs_xsetgroups32();
+#endif
+#ifdef AFS_SPARC64_LINUX20_ENV
+ extern int afs32_xsetgroups();
+#if defined(__NR_setgroups32)
+ extern int afs32_xsetgroups32();
+#endif
#endif
/* obtain PAGE_OFFSET value */
sys_setgroupsp = SYSCALL2POINTER sys_call_table[__NR_setgroups];
sys_call_table[__NR_setgroups] = POINTER2SYSCALL afs_xsetgroups;
#ifdef AFS_SPARC64_LINUX20_ENV
- sys_setgroupsp32 = SYSCALL2POINTER sys_call_table32[__NR_setgroups];
- sys_call_table32[__NR_setgroups] = POINTER2SYSCALL afs_xsetgroups32;
+ sys32_setgroupsp = SYSCALL2POINTER sys_call_table32[__NR_setgroups];
+ sys_call_table32[__NR_setgroups] = POINTER2SYSCALL afs32_xsetgroups;
#endif
#if defined(__NR_setgroups32)
sys_setgroups32p = SYSCALL2POINTER sys_call_table[__NR_setgroups32];
sys_call_table[__NR_setgroups32] = POINTER2SYSCALL afs_xsetgroups32;
+#ifdef AFS_SPARC64_LINUX20_ENV
+ sys32_setgroups32p = SYSCALL2POINTER sys_call_table32[__NR_setgroups32];
+ sys_call_table32[__NR_setgroups32] = POINTER2SYSCALL afs32_xsetgroups32;
+#endif
#endif
return 0;
sys_call_table[__NR_setgroups] = POINTER2SYSCALL sys_setgroupsp;
sys_call_table[__NR_afs_syscall] = afs_ni_syscall;
#ifdef AFS_SPARC64_LINUX20_ENV
- sys_call_table32[__NR_setgroups] = POINTER2SYSCALL sys_setgroupsp32;
+ sys_call_table32[__NR_setgroups] = POINTER2SYSCALL sys32_setgroupsp;
sys_call_table32[__NR_afs_syscall] = afs_ni_syscall32;
#endif
#if defined(__NR_setgroups32)
sys_call_table[__NR_setgroups32] = POINTER2SYSCALL sys_setgroups32p;
+#ifdef AFS_SPARC64_LINUX20_ENV
+ sys_call_table32[__NR_setgroups32] = POINTER2SYSCALL sys32_setgroups32p;
+#endif
#endif
unregister_filesystem(&afs_file_system);
len = strlen(de->name);
/* filldir returns -EINVAL when the buffer is full. */
-#ifdef AFS_LINUX24_ENV
+#if (defined(AFS_LINUX24_ENV) || defined(pgoff2loff)) && defined(DECLARE_FSTYPE)
{
unsigned int type=DT_UNKNOWN;
struct VenusFid afid;
int code = 0;
struct vcache *vcp = (struct vcache*)FILE_INODE(fp);
cred_t *credp = crref();
+#ifdef AFS_LINUX24_ENV
+ struct flock64 flock;
+#else
struct flock flock;
+#endif
/* Convert to a lock format afs_lockctl understands. */
memset((char*)&flock, 0, sizeof(flock));
static int afs_linux_dentry_revalidate(struct dentry *dp)
#endif
{
- /* Force revalidation as this may be a different client than the
- one which caused an entry to get cached */
+ int code;
+ cred_t *credp;
+ struct vrequest treq;
+ struct inode *ip = (struct inode *)dp->d_inode;
+
+ unsigned long timeout = 3*HZ; /* 3 seconds */
+
+ if (!(flags & LOOKUP_CONTINUE)) {
+ long diff = CURRENT_TIME - dp->d_parent->d_inode->i_mtime;
+
+ if (diff < 15*60)
+ timeout = 0;
+ }
+
+ if (time_after(jiffies, dp->d_time + timeout))
+ goto out_bad;
+
+ out_valid:
+ return 1;
+
+ out_bad:
return 0;
}
#endif
dp->d_op = afs_dops;
- /* This DV is probably wrong, unfortunately, Perhaps we should
- VerifyVCache the directory */
- dp->d_time=hgetlo(((struct vcache *)dip)->m.DataVersion);
+ dp->d_time = jiffies;
d_instantiate(dp, ip);
}
ip->i_op = &afs_symlink_iops;
#endif
}
- /* directory ought to be stat'd here.... */
- dp->d_time=hgetlo(((struct vcache *)dip)->m.DataVersion);
+ dp->d_time = jiffies;
dp->d_op = afs_dops;
d_add(dp, (struct inode*)vcp);
if (!code) {
d_delete(dp);
if (putback) {
- /* This DV is probably wrong, unfortunately, Perhaps we should
- VerifyVCache the directory */
- dp->d_time=hgetlo(((struct vcache *)dip)->m.DataVersion);
+ dp->d_time = jiffies;
d_add(dp, NULL); /* means definitely does _not_ exist */
}
}
tvcp->v.v_fop = &afs_dir_fops;
#endif
dp->d_op = afs_dops;
- /* This DV is probably wrong, unfortunately, Perhaps we should
- VerifyVCache the directory */
- dp->d_time=hgetlo(((struct vcache *)dip)->m.DataVersion);
+ dp->d_time = jiffies;
d_instantiate(dp, (struct inode*)tvcp);
}
AFS_GUNLOCK();
if (!code) {
/* update time so it doesn't expire immediately */
- /* This DV is probably wrong, unfortunately, Perhaps we should
- VerifyVCache the directory */
- newdp->d_time=hgetlo(((struct vcache *)newdp->d_parent->d_inode)->m.DataVersion);
+ newdp->d_time = jiffies;
d_move(olddp, newdp);
}
ICL_TYPE_POINTER, pp,
ICL_TYPE_INT32, atomic_read(&pp->count),
ICL_TYPE_INT32, 99999);
- setup_uio(&tuio, &iovec, page_addr + offset, pp->offset + offset, count,
+ setup_uio(&tuio, &iovec, page_addr + offset, pageoff(pp) + offset, count,
UIO_WRITE, AFS_UIOSYS);
code = afs_write(vcp, &tuio, fp->f_flags, credp, 0);
#endif
#endif /* AFS_USR_DARWIN_ENV || AFS_USR_FBSD_ENV */
+#ifdef AFS_AFSDB_ENV
+#include <arpa/nameser.h>
+#include <resolv.h>
+#endif /* AFS_AFSDB_ENV */
+
/* glibc 2.2 has pthread_attr_setstacksize */
#if defined(AFS_LINUX22_ENV) || defined(AFS_USR_LINUX22_ENV) && (__GLIBC_MINOR__ < 2)
#define pthread_attr_setstacksize(a,b) 0
#define usr_cond_signal(A) assert(pthread_cond_signal(A) == 0)
#define usr_cond_broadcast(A) assert(pthread_cond_broadcast(A) == 0)
#define usr_cond_wait(A,B) pthread_cond_wait(A,B)
+#define usr_cond_timedwait(A,B,C) pthread_cond_timedwait(A,B,C)
+
#define usr_thread_create(A,B,C) \
do { \
pthread_attr_t attr; \
extern unsigned short usr_rx_port;
+#define AFS_LOOKUP_NOEVAL 1
+
#endif /* __AFS_SYSINCLUDESH__ so idempotent */
extern afs_rwlock_t afs_xcbhash;
extern struct afs_exporter *afs_nfsexporter;
extern char *afs_sysname;
+extern char *afs_sysnamelist[];
+extern int afs_sysnamecount;
extern struct afs_q VLRU; /*vcache LRU*/
#ifdef AFS_LINUX22_ENV
extern struct inode_operations afs_symlink_iops, afs_dir_iops;
return 1;
}
-Check_AtSys(avc, aname, outb, areq)
- register struct vcache *avc;
- char *aname, **outb;
- struct vrequest *areq;
-{
- register char *tname;
- register int error = 0, offset = -1;
-
- for (tname=aname; *tname; tname++) /*Move to the end of the string*/;
-
- /*
- * If the current string is 4 chars long or more, check to see if the
- * tail end is "@sys".
- */
- if ((tname >= aname + 4) && (AFS_EQ_ATSYS(tname-4)))
- offset = (tname - 4) - aname;
- if (offset < 0) {
- tname = aname;
- } else {
- tname = (char *) osi_AllocLargeSpace(AFS_LRALLOCSIZ);
- if (offset)
- strncpy(tname, aname, offset);
- if (!afs_nfsexporter)
- strcpy(tname+offset, (afs_sysname ? afs_sysname : SYS_NAME ));
- else {
- register struct unixuser *au;
- register afs_int32 error;
- au = afs_GetUser(areq->uid, avc->fid.Cell, 0); afs_PutUser(au, 0);
- if (au->exporter) {
- error = EXP_SYSNAME(au->exporter, (char *)0, tname+offset);
- if (error)
- strcpy(tname+offset, "@sys");
- } else {
- strcpy(tname+offset, (afs_sysname ? afs_sysname : SYS_NAME ));
- }
- }
- error = 1;
- }
- *outb = tname;
- return error;
-}
-
-
-char *afs_getsysname(areq, adp)
+afs_getsysname(areq, adp, bufp)
register struct vrequest *areq;
- register struct vcache *adp; {
+ register struct vcache *adp;
+ register char *bufp;
+{
static char sysname[MAXSYSNAME];
register struct unixuser *au;
register afs_int32 error;
+ if (!afs_nfsexporter) {
+ strcpy(bufp, afs_sysname);
+ return 0;
+ }
AFS_STATCNT(getsysname);
- /* this whole interface is wrong, it should take a buffer ptr and copy
- * the data out.
- */
au = afs_GetUser(areq->uid, adp->fid.Cell, 0);
afs_PutUser(au, 0);
if (au->exporter) {
- error = EXP_SYSNAME(au->exporter, (char *)0, sysname);
- if (error) return "@sys";
- else return sysname;
+ error = EXP_SYSNAME(au->exporter, (char *)0, bufp);
+ if (error)
+ strcpy(bufp, "@sys");
+ return -1;
} else {
- return (afs_sysname == 0? SYS_NAME : afs_sysname);
+ strcpy(bufp, afs_sysname);
+ return 0;
}
}
-void afs_HandleAtName(aname, aresult, areq, adp)
- register char *aname;
- register char *aresult;
- register struct vrequest *areq;
- register struct vcache *adp; {
- register int tlen;
- AFS_STATCNT(HandleAtName);
- tlen = strlen(aname);
- if (tlen >= 4 && strcmp(aname+tlen-4, "@sys")==0) {
- strncpy(aresult, aname, tlen-4);
- strcpy(aresult+tlen-4, afs_getsysname(areq, adp));
- }
- else strcpy(aresult, aname);
+Check_AtSys(avc, aname, state, areq)
+ register struct vcache *avc;
+ char *aname;
+ struct sysname_info *state;
+ struct vrequest *areq;
+{
+ if (AFS_EQ_ATSYS(aname)) {
+ state->offset = 0;
+ state->name = (char *) osi_AllocLargeSpace(AFS_SMALLOCSIZ);
+ state->allocked = 1;
+ state->index = afs_getsysname(areq, avc, state->name);
+ } else {
+ state->offset = -1;
+ state->allocked = 0;
+ state->index = 0;
+ state->name = aname;
}
+}
+
+Next_AtSys(avc, areq, state)
+ register struct vcache *avc;
+ struct vrequest *areq;
+ struct sysname_info *state;
+{
+ if (state->index == -1)
+ return 0; /* No list */
+
+ /* Check for the initial state of aname != "@sys" in Check_AtSys*/
+ if (state->offset == -1 && state->allocked == 0) {
+ register char *tname;
+ /* Check for .*@sys */
+ for (tname=state->name; *tname; tname++)
+ /*Move to the end of the string*/;
+ if ((tname > state->name + 4) && (AFS_EQ_ATSYS(tname-4))) {
+ state->offset = (tname - 4) - state->name;
+ tname = (char *) osi_AllocLargeSpace(AFS_LRALLOCSIZ);
+ strncpy(tname, state->name, state->offset);
+ state->name = tname;
+ state->allocked = 1;
+ state->index = afs_getsysname(areq, avc, state->name+state->offset);
+ return 1;
+ } else
+ return 0; /* .*@sys doesn't match either */
+ } else if (++(state->index) >= afs_sysnamecount
+ || !afs_sysnamelist[state->index])
+ return 0; /* end of list */
+ strcpy(state->name+state->offset, afs_sysnamelist[state->index]);
+ return 1;
+}
#if (defined(AFS_SGI62_ENV) || defined(AFS_SUN57_64BIT_ENV))
extern int BlobScan(ino64_t *afile, afs_int32 ablob);
int flags;
struct vnode *rdir;
#else
+#if defined(UKERNEL)
+afs_lookup(adp, aname, avcp, acred, flags)
+ int flags;
+#else
afs_lookup(adp, aname, avcp, acred)
-#endif
+#endif /* UKERNEL */
+#endif /* SUN5 || SGI */
OSI_VC_DECL(adp);
struct vcache **avcp;
char *aname;
extern afs_int32 afs_mariner; /*Writing activity to log?*/
OSI_VC_CONVERT(adp)
afs_hyper_t versionNo;
+ int no_read_access = 0;
+ struct sysname_info sysState; /* used only for @sys checking */
AFS_STATCNT(afs_lookup);
#ifdef AFS_OSF_ENV
goto done;
}
- /* lookup the name aname in the appropriate dir, and return a cache entry
- on the resulting fid */
-
- /*
- * check for, and handle "@sys" if it's there. We should be able
- * to avoid the alloc and the strcpy with a little work, but it's
- * not pressing. If there aren't any remote users (ie, via the
- * NFS translator), we have a slightly easier job.
- * the faster way to do this is to check for *aname == '@' and if
- * it's there, check for @sys, otherwise, assume there's no @sys
- * then, if the lookup fails, check for .*@sys...
- */
- if (!AFS_EQ_ATSYS(aname)) {
- tname = aname;
- }
- else {
- tname = (char *) osi_AllocLargeSpace(AFS_SMALLOCSIZ);
- if (!afs_nfsexporter)
- strcpy(tname, (afs_sysname ? afs_sysname : SYS_NAME ));
- else {
- register struct unixuser *au;
- register afs_int32 error;
- au = afs_GetUser(treq.uid, adp->fid.Cell, 0); afs_PutUser(au, 0);
- if (au->exporter) {
- error = EXP_SYSNAME(au->exporter, (char *)0, tname);
- if (error)
- strcpy(tname, "@sys");
- } else {
- strcpy(tname, (afs_sysname ? afs_sysname : SYS_NAME ));
- }
- }
- }
-
/* come back to here if we encounter a non-existent object in a read-only
volume's directory */
else code = 0;
/* watch for ".." in a volume root */
- if (adp->mvstat == 2 && tname[0] == '.' && tname[1] == '.' && !tname[2]) {
+ if (adp->mvstat == 2 && aname[0] == '.' && aname[1] == '.' && !aname[2]) {
/* looking up ".." in root via special hacks */
if (adp->mvid == (struct VenusFid *) 0 || adp->mvid->Fid.Volume == 0) {
#ifdef AFS_OSF_ENV
else adp->last_looker = treq.uid;
}
+ /* Check for read access as well. We need read access in order to
+ stat files, but not to stat subdirectories. */
+ if (!afs_AccessOK(adp, PRSFS_READ, &treq, CHECK_MODE_BITS))
+ no_read_access = 1;
/* special case lookup of ".". Can we check for it sooner in this code,
* for instance, way up before "redo:" ??
* I'm not fiddling with the LRUQ here, either, perhaps I should, or else
* invent a lightweight version of GetVCache.
*/
- if (tname[0] == '.' && !tname[1]) { /* special case */
+ if (aname[0] == '.' && !aname[1]) { /* special case */
ObtainReadLock(&afs_xvcache);
osi_vnhold(adp, 0);
ReleaseReadLock(&afs_xvcache);
goto done;
}
+ Check_AtSys(adp, aname, &sysState, &treq);
+ tname = sysState.name;
+
+ /* 1st Check_AtSys and lookup by tname is required here, for now,
+ because the dnlc is *not* told to remove entries for the parent
+ dir of file/dir op that afs_LocalHero likes, but dnlc is informed
+ if the cached entry for the parent dir is invalidated for a
+ non-local change.
+ Otherwise, we'd be able to do a dnlc lookup on an entry ending
+ w/@sys and know the dnlc was consistent with reality. */
tvc = osi_dnlc_lookup (adp, tname, WRITE_LOCK);
*avcp = tvc; /* maybe wasn't initialized, but it is now */
-#ifdef AFS_LINUX22_ENV
if (tvc) {
- if (tvc->mvstat == 2) { /* we don't trust the dnlc for root vcaches */
- AFS_RELE(tvc);
- *avcp = 0;
- }
- else {
+ if (no_read_access && vType(tvc) != VDIR) {
+ /* need read access on dir to stat non-directory */
+ afs_PutVCache(tvc, WRITE_LOCK);
+ *avcp = (struct vcache *)0;
+ code = EACCES;
+ goto done;
+ }
+#ifdef AFS_LINUX22_ENV
+ if (tvc->mvstat == 2) { /* we don't trust the dnlc for root vcaches */
+ AFS_RELE(tvc);
+ *avcp = 0;
+ }
+ else {
+ code = 0;
+ hit = 1;
+ goto done;
+ }
+#else /* non - LINUX */
code = 0;
hit = 1;
goto done;
- }
- }
-#else /* non - LINUX */
- if (tvc) {
- code = 0;
- hit = 1;
- goto done;
- }
#endif /* linux22 */
+ }
{
register struct dcache *tdc;
/* now we will just call dir package with appropriate inode.
Dirs are always fetched in their entirety for now */
- /* If the first lookup doesn't succeed, maybe it's got @sys in the name */
ObtainReadLock(&adp->lock);
/*
/* Save the version number for when we call osi_dnlc_enter */
hset(versionNo, tdc->f.versionNo);
+ /*
+ * check for, and handle "@sys" if it's there. We should be able
+ * to avoid the alloc and the strcpy with a little work, but it's
+ * not pressing. If there aren't any remote users (ie, via the
+ * NFS translator), we have a slightly easier job.
+ * the faster way to do this is to check for *aname == '@' and if
+ * it's there, check for @sys, otherwise, assume there's no @sys
+ * then, if the lookup fails, check for .*@sys...
+ */
+ /* above now implemented by Check_AtSys and Next_AtSys */
+
+ /* lookup the name in the appropriate dir, and return a cache entry
+ on the resulting fid */
theDir = tdc->f.inode;
- code = afs_dir_LookupOffset(&theDir, tname, &tfid.Fid, &dirCookie);
- if (code == ENOENT && tname == aname) {
- int len;
- len = strlen(aname);
- if (len >= 4 && AFS_EQ_ATSYS(aname+len-4)) {
- tname = (char *) osi_AllocLargeSpace(AFS_LRALLOCSIZ);
- afs_HandleAtName(aname, tname, &treq, adp);
- code = afs_dir_LookupOffset(&theDir, tname, &tfid.Fid, &dirCookie);
- }
+ code = afs_dir_LookupOffset(&theDir, sysState.name, &tfid.Fid, &dirCookie);
+
+ /* If the first lookup doesn't succeed, maybe it's got @sys in the name */
+ while (code == ENOENT && Next_AtSys(adp, &treq, &sysState)) {
+ code = afs_dir_LookupOffset(&theDir, sysState.name, &tfid.Fid, &dirCookie);
}
+ tname = sysState.name;
+
ReleaseReadLock(&adp->lock);
afs_PutDCache(tdc);
tvc->parentVnode = adp->fid.Fid.Vnode;
tvc->parentUnique = adp->fid.Fid.Unique;
tvc->states &= ~CBulkStat;
+
+#if defined(UKERNEL) && defined(AFS_WEB_ENHANCEMENTS)
+ if (!(flags & AFS_LOOKUP_NOEVAL))
+ /* don't eval mount points */
+#endif /* UKERNEL && AFS_WEB_ENHANCEMENTS */
if (tvc->mvstat == 1) {
/* a mt point, possibly unevaluated */
struct volume *tvolp;
if (afs_mariner)
afs_AddMarinerName(aname, tvc);
+
+#if defined(UKERNEL) && defined(AFS_WEB_ENHANCEMENTS)
+ if (!(flags & AFS_LOOKUP_NOEVAL))
+ /* Here we don't enter the name into the DNLC because we want the
+ evaluated mount dir to be there (the vcache for the mounted volume)
+ rather than the vc of the mount point itself. we can still find the
+ mount point's vc in the vcache by its fid. */
+#endif /* UKERNEL && AFS_WEB_ENHANCEMENTS */
if (!hit) {
osi_dnlc_enter (adp, aname, tvc, &versionNo);
}
#define PIGGYSIZE 1350 /* max piggyback size */
#define MAXVOLS 128 /* max vols we can store */
#define MAXSYSNAME 128 /* max sysname (i.e. @sys) size */
+#define MAXNUMSYSNAMES 16 /* max that current constants allow */
#define NOTOKTIMEOUT (2*3600) /* time after which to timeout conns sans tokens */
#define NOPAG 0xffffffff
#define AFS_NCBRS 300 /* max # of call back return entries */
#define AFS_RXDEADTIME 50
#define AFS_HARDDEADTIME 120
+struct sysname_info {
+ char *name;
+ short offset;
+ char index, allocked;
+};
/* flags to use with AFSOP_CACHEINIT */
#define AFSCALL_INIT_MEMCACHE 0x1 /* use a memory-based cache */
u_short vlport; /* volume server port */
short states; /* state flags */
short cellIndex; /* relative index number per cell */
+ time_t timeout; /* data expire time, if non-zero */
};
#define afs_PutCell(cellp, locktype)
simple_lock_data_t afs_global_lock;
#elif defined(AFS_DARWIN_ENV)
struct lock__bsd__ afs_global_lock;
+#elif defined(AFS_FBSD_ENV)
+struct simplelock afs_global_lock;
#endif
#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
thread_t afs_global_owner;
if (!afs_suser() && (parm != AFSOP_GETMTU)
&& (parm != AFSOP_GETMASK)) {
/* only root can run this code */
-#if !defined(AFS_SGI_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_SGI_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
setuerror(EACCES);
return(EACCES);
#else
while (afs_initState < AFSOP_START_AFS)
afs_osi_Sleep(&afs_initState);
-#if defined(AFS_SUN_ENV) || defined(AFS_SGI_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN_ENV) || defined(AFS_SGI_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
temp = AFS_MINBUFFERS; /* Should fix this soon */
#else
temp = ((afs_bufferpages * NBPG)>>11); /* number of 2k buffers we could get from all of the buffer space */
AFS_COPYIN((char *)parm3, tcell.cellName, parm4, code);
if (!code)
afs_NewCell(tcell.cellName, tcell.hosts, parm5,
- (char *)0, (u_short)0, (u_short)0);
+ (char *)0, (u_short)0, (u_short)0, (int)0);
}
}
} else if (parm == AFSOP_ADDCELL2) {
struct afsop_cell tcell;
char *tbuffer = osi_AllocSmallSpace(AFS_SMALLOCSIZ), *lcnamep = 0;
char *tbuffer1 = osi_AllocSmallSpace(AFS_SMALLOCSIZ), *cnamep = 0;
-#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
size_t bufferSize;
#else /* AFS_SGI61_ENV */
u_int bufferSize;
}
if (!code)
afs_NewCell(tbuffer1, tcell.hosts, cflags,
- lcnamep, (u_short)0, (u_short)0);
+ lcnamep, (u_short)0, (u_short)0, (int)0);
}
}
osi_FreeSmallSpace(tbuffer);
while (afs_initState < AFSOP_START_BKG) afs_osi_Sleep(&afs_initState);
AFS_COPYIN((char *)parm2, (caddr_t) &cparms, sizeof(cparms), code);
if (code) {
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined (AFS_SGI64_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined (AFS_SGI64_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
goto out;
#else
setuerror(code);
code = afs_InitCacheFile((char *) 0, ainode);
}
else if (parm == AFSOP_ROOTVOLUME) {
-#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
size_t bufferSize;
#else /* AFS_SGI61_ENV */
u_int bufferSize;
else if (parm == AFSOP_CACHEFILE || parm == AFSOP_CACHEINFO ||
parm == AFSOP_VOLUMEINFO || parm == AFSOP_AFSLOG) {
char *tbuffer = osi_AllocSmallSpace(AFS_SMALLOCSIZ);
-#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
size_t bufferSize;
#else /* AFS_SGI61_ENV */
u_int bufferSize;
#endif /* AFS_SGI62_ENV && !AFS_SGI65_ENV */
#endif /* AFS_SGI53_ENV */
else if (parm == AFSOP_SHUTDOWN) {
-#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
extern struct mount *afs_globalVFS;
#else /* AFS_OSF_ENV */
extern struct vfs *afs_globalVFS;
afs_vfs_mount(parm2, parm3, parm4, parm5);
#endif /* AFS_HPUX100_ENV */
#else /* defined(AFS_HPUX_ENV) */
-#if defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SGI_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
code = EINVAL;
#else
setuerror(EINVAL);
#endif /* !AFS_SUN5_ENV */
if (!code)
AFS_COPYOUT ((caddr_t)&mask, (caddr_t)parm3, sizeof(afs_int32), code);
- } else
+ }
+#ifdef AFS_AFSDB_ENV
+ else if (parm == AFSOP_AFSDB_HANDLER) {
+ int sizeArg = (int)parm4;
+ int kmsgLen = sizeArg & 0xffff;
+ int cellLen = (sizeArg & 0xffff0000) >> 16;
+ afs_int32 *kmsg = afs_osi_Alloc(kmsgLen);
+ char *cellname = afs_osi_Alloc(cellLen);
+ AFS_COPYIN((afs_int32 *)parm3, kmsg, kmsgLen, code);
+ if (!code) code = afs_AfsdbHandler(cellname, cellLen, kmsg);
+ if (!code) AFS_COPYOUT(cellname, (char *)parm2, cellLen, code);
+ afs_osi_Free(kmsg, kmsgLen);
+ afs_osi_Free(cellname, cellLen);
+ }
+#endif
+ else
code = EINVAL;
out:
#if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV)
struct iparam32 dst32;
-#ifdef AFS_SPARC64_LINUX20_ENV
+#ifdef AFS_SPARC64_LINUX24_ENV
+ if (current->thread.flags & SPARC_FLAG_32BIT)
+#elif AFS_SPARC64_LINUX20_ENV
if (current->tss.flags & SPARC_FLAG_32BIT)
#else
#error Not done for this linux version
{
int *retval = &rvp->r_val1;
#else /* AFS_SUN5_ENV */
-#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
afs3_syscall(p, args, retval)
struct proc *p;
void *args;
mutex_exit(&procp->p_crlock);
#else
AFS_GLOCK();
-#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
code = afs_setpag(p, args, retval);
#else /* AFS_OSF_ENV */
code = afs_setpag();
#ifdef AFS_SUN5_ENV
code = afs_syscall_pioctl(uap->parm1, uap->parm2, uap->parm3, uap->parm4, rvp, CRED());
#else
-#ifdef AFS_DARWIN_ENV
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
code = afs_syscall_pioctl(uap->parm1, uap->parm2, uap->parm3, uap->parm4, p->p_cred->pc_ucred);
#else
code = afs_syscall_pioctl(uap->parm1, uap->parm2, uap->parm3, uap->parm4);
code = copyin_iparam((char *)uap->parm3, &iparams);
if (code) {
-#if !defined(AFS_SUN5_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_SUN5_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
setuerror(code);
#endif
} else
iparams.param3, iparams.param4, rvp, CRED());
#else
code = afs_syscall_icreate(uap->parm1, uap->parm2, iparams.param1, iparams.param2,
-#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
iparams.param3, iparams.param4, retval);
#else
iparams.param3, iparams.param4);
#ifdef AFS_SUN5_ENV
code = afs_syscall_iopen(uap->parm1, uap->parm2, uap->parm3, rvp, CRED());
#else
-#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
code = afs_syscall_iopen(uap->parm1, uap->parm2, uap->parm3, retval);
#else
code = afs_syscall_iopen(uap->parm1, uap->parm2, uap->parm3);
}
#else
if (code) {
-#if !defined(AFS_SUN5_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_SUN5_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
setuerror(code);
#endif
}
#endif /* !AFS_LINUX20_ENV */
} else {
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
code = EINVAL;
#else
setuerror(EINVAL);
register 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)
+#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
size_t temp;
#else /* AFS_SGI61_ENV */
afs_uint32 temp;
}
#else
if (!afs_suser()) { /* only root can run this code */
-#if !defined(AFS_SGI_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_SGI_ENV) && !defined(AFS_OSF_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
setuerror(EACCES);
return EACCES;
#else
#if defined(AFS_LINUX_64BIT_KERNEL) && !defined(AFS_ALPHA_LINUX20_ENV)
struct afs_ioctl32 dst32;
-#ifdef AFS_SPARC64_LINUX20_ENV
+#ifdef AFS_SPARC64_LINUX24_ENV
+ if (current->thread.flags & SPARC_FLAG_32BIT)
+#elif AFS_SPARC64_LINUX20_ENV
if (current->tss.flags & SPARC_FLAG_32BIT)
#else
#error Not done for this linux type
caddr_t arg;
} *uap = (struct a *)args;
#else /* AFS_OSF_ENV */
-#ifdef AFS_DARWIN_ENV
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
struct ioctl_args {
int fd;
u_long com;
caddr_t arg;
} *uap = (struct a *)u.u_ap;
#endif /* AFS_LINUX22_ENV */
-#endif /* AFS_DARWIN_ENV */
+#endif /* AFS_DARWIN_ENV || AFS_FBSD_ENV */
#endif /* AFS_OSF_ENV */
#endif /* AFS_SUN5_ENV */
#endif
#ifndef AFS_LINUX22_ENV
-#if defined(AFS_AIX32_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_AIX32_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
struct file *fd;
#else
register struct file *fd;
register int ioctlDone = 0, code = 0;
AFS_STATCNT(afs_xioctl);
-#ifdef AFS_DARWIN_ENV
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
if ((code=fdgetf(p, uap->fd, &fd)))
return code;
#else
if (code) {
osi_FreeSmallSpace(datap);
AFS_GUNLOCK();
-#ifdef AFS_DARWIN_ENV
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return code;
#else
#if defined(AFS_SUN5_ENV)
#endif
code = ioctl(uap, rvp);
#else
-#if defined(AFS_DARWIN_ENV)
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return ioctl(p, uap, retval);
#else
#ifdef AFS_OSF_ENV
#ifdef AFS_LINUX22_ENV
return -code;
#else
-#if !defined(AFS_OSF_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_OSF_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
if (!getuerror())
setuerror(code);
#if defined(AFS_AIX32_ENV) && !defined(AFS_AIX41_ENV)
#endif
#endif /* AFS_LINUX22_ENV */
#endif /* AFS_SUN5_ENV */
-#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return (code);
#endif
}
extern struct mount *afs_globalVFS;
#else /* AFS_OSF_ENV */
-#ifdef AFS_DARWIN_ENV
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
afs_pioctl(p, args, retval)
struct proc *p;
void *args;
rval_t *rvp;
struct AFS_UCRED *credp;
#else
-#ifdef AFS_DARWIN_ENV
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
afs_syscall_pioctl(path, com, cmarg, follow, credp)
struct AFS_UCRED *credp;
#else
#ifndef AFS_SUN5_ENV
if (! _VALIDVICEIOCTL(com)) {
PIOCTL_FREE_CRED();
-#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_OSF_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return EINVAL;
#else /* AFS_OSF_ENV */
#if defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV)
code = copyin_afs_ioctl(cmarg, &data);
if (code) {
PIOCTL_FREE_CRED();
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return (code);
#else
setuerror(code);
#endif
}
if ((com & 0xff) == PSetClientContext) {
-#if defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return EINVAL; /* Not handling these yet. */
#else
#if defined(AFS_SUN5_ENV) || defined(AFS_AIX41_ENV) || defined(AFS_LINUX22_ENV)
crfree(foreigncreds);
}
PIOCTL_FREE_CRED();
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return (code);
#else
return (setuerror(code), code);
#endif
}
}
-#if !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
if (foreigncreds) {
/*
* We could have done without temporary setting the u.u_cred below
if ((com & 0xff) == 15) {
/* special case prefetch so entire pathname eval occurs in helper process.
otherwise, the pioctl call is essentially useless */
-#if defined(AFS_SUN5_ENV) || defined(AFS_AIX41_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_AIX41_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
code = Prefetch(path, &data, follow,
foreigncreds ? foreigncreds : credp);
#else
#endif /* AFS_SGI64_ENV */
#endif /* AFS_HPUX101_ENV */
#endif
-#if !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
if (foreigncreds) {
#ifdef AFS_AIX41_ENV
crset(tmpcred); /* restore original credentials */
}
#endif /* AFS_LINUX22_ENV */
PIOCTL_FREE_CRED();
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return (code);
#else
return (setuerror(code), code);
#endif /* AFS_AIX41_ENV */
AFS_GLOCK();
if (code) {
-#if !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
if (foreigncreds) {
#ifdef AFS_AIX41_ENV
crset(tmpcred); /* restore original credentials */
}
#endif /* AFS_LINUX22_ENV */
PIOCTL_FREE_CRED();
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return (code);
#else
return(setuerror(code), code);
code = afs_HandlePioctl(vp, com, &data, follow, &credp);
}
#else
-#if defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
code = afs_HandlePioctl(vp, com, &data, follow, &credp);
#else
code = afs_HandlePioctl(vp, com, &data, follow, &u.u_cred);
#endif /* AFS_AIX41_ENV */
#endif /* AFS_SUN5_ENV */
} else {
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
code = EINVAL; /* not in /afs */
#else
setuerror(EINVAL);
#endif
}
-#if !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV)
+#if !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
if (foreigncreds) {
#ifdef AFS_AIX41_ENV
crset(tmpcred);
#endif
}
PIOCTL_FREE_CRED();
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return (code);
#else
if (!getuerror())
afs_PutCell(tcell, READ_LOCK);
if (set_parent_pag) {
int pag;
-#ifdef AFS_DARWIN_ENV
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
struct proc *p=current_proc(); /* XXX */
uprintf("Process %d (%s) tried to change pags in PSetTokens\n",
p->p_pid, p->p_comm);
register struct vcache *tvc;
register struct dcache *tdc;
struct VenusFid tfid;
- char *bufp = 0;
- afs_int32 offset, len, hasatsys=0;
+ char *bufp;
+ struct sysname_info sysState;
+ afs_int32 offset, len;
AFS_STATCNT(PNewStatMount);
if (!avc) return EINVAL;
}
tdc = afs_GetDCache(avc, 0, areq, &offset, &len, 1);
if (!tdc) return ENOENT;
- hasatsys = Check_AtSys(avc, ain, &bufp, areq);
- code = afs_dir_Lookup(&tdc->f.inode, bufp, &tfid.Fid);
+ Check_AtSys(avc, ain, &sysState, areq);
+ do {
+ code = afs_dir_Lookup(&tdc->f.inode, sysState.name, &tfid.Fid);
+ } while (code == ENOENT && Next_AtSys(avc, areq, &sysState));
+ bufp = sysState.name;
if (code) {
afs_PutDCache(tdc);
goto out;
ReleaseWriteLock(&tvc->lock);
afs_PutVCache(tvc, WRITE_LOCK);
out:
- if (hasatsys) osi_FreeLargeSpace(bufp);
+ if (sysState.allocked) osi_FreeLargeSpace(bufp);
return code;
}
afs_ResetUserConns(tu);
tu->refCount--;
ObtainWriteLock(&afs_xuser,228);
+#ifdef UKERNEL
+ /* set the expire times to 0, causes
+ * afs_GCUserData to remove this entry
+ */
+ tu->ct.EndTimestamp = 0;
+ tu->tokenTime = 0;
+#endif /* UKERNEL */
}
}
ReleaseWriteLock(&afs_xuser);
{
register char *tp;
register afs_int32 code;
-#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SGI61_ENV) || defined(AFS_SUN57_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
size_t bufferSize;
#else
u_int bufferSize;
}
linkedstate |= CNoSUID; /* setuid is disabled by default for fs newcell */
- code = afs_NewCell(newcell, cellHosts, linkedstate, linkedcell, fsport, vlport);
+ code = afs_NewCell(newcell, cellHosts, linkedstate, linkedcell, fsport, vlport, (int)0);
return code;
}
afs_int32 ainSize;
afs_int32 *aoutSize; /* set this */ {
register afs_int32 code;
- char *bufp = 0;
- afs_int32 offset, len, hasatsys = 0;
+ char *bufp;
+ struct sysname_info sysState;
+ afs_int32 offset, len;
register struct conn *tc;
register struct dcache *tdc;
register struct vcache *tvc;
tdc = afs_GetDCache(avc, 0, areq, &offset, &len, 1); /* test for error below */
if (!tdc) return ENOENT;
- hasatsys = Check_AtSys(avc, ain, &bufp, areq);
- code = afs_dir_Lookup(&tdc->f.inode, bufp, &tfid.Fid);
+ Check_AtSys(avc, ain, &sysState, areq);
+ do {
+ code = afs_dir_Lookup(&tdc->f.inode, sysState.name, &tfid.Fid);
+ } while (code == ENOENT && Next_AtSys(avc, areq, &sysState));
+ bufp = sysState.name;
if (code) {
afs_PutDCache(tdc);
goto out;
ReleaseWriteLock(&avc->lock);
code = 0;
out:
- if (hasatsys) osi_FreeLargeSpace(bufp);
+ if (sysState.allocked) osi_FreeLargeSpace(bufp);
return code;
}
#if defined(AFS_SGI_ENV) || defined(AFS_ALPHA_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_HPUX_ENV)
VN_HOLD((struct vnode *)tvc);
#else
-#if defined(AFS_DARWIN_ENV)
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
osi_vnhold(tvc, 0);
#else
tvc->vrefCount++;
/* (since we don't really believe remote uids anyway) */
/* outname[] shouldn't really be needed- this is left as an excercise */
/* for the reader. */
-
static PSetSysName(avc, afun, areq, ain, aout, ainSize, aoutSize, acred)
struct vcache *avc;
int afun;
register struct afs_exporter *exporter;
extern struct unixuser *afs_FindUser();
extern char *afs_sysname;
+ extern char *afs_sysnamelist[];
+ extern int afs_sysnamecount;
register struct unixuser *au;
register afs_int32 pag, error;
- int t;
+ int t, count;
AFS_STATCNT(PSetSysName);
if (!afs_globalVFS) {
/* Afsd is NOT running; disable it */
-#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_OSF_ENV) || defined(AFS_SGI64_ENV) || defined(AFS_LINUX22_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
return (EINVAL);
#else
return (setuerror(EINVAL), EINVAL);
bcopy(ain, (char *)&setsysname, sizeof(afs_int32));
ain += sizeof(afs_int32);
if (setsysname) {
- t = strlen(ain);
- if (t > MAXSYSNAME)
+
+ /* Check my args */
+ if (setsysname < 0 || setsysname > MAXNUMSYSNAMES)
return EINVAL;
+ for(cp = ain,count = 0;count < setsysname;count++) {
+ /* won't go past end of ain since maxsysname*num < ain length */
+ t = strlen(cp);
+ if (t >= MAXSYSNAME || t <= 0)
+ return EINVAL;
+ /* check for names that can shoot us in the foot */
+ if (*cp == '.' && (cp[1] == 0 || (cp[1] == '.' && cp[2] == 0)))
+ return EINVAL;
+ cp += t+1;
+ }
+ /* args ok */
+
+ /* inname gets first entry in case we're being a translater */
+ t = strlen(ain);
bcopy(ain, inname, t+1); /* include terminating null */
ain += t + 1;
}
else foundname = 1;
afs_PutUser(au, READ_LOCK);
} else {
+
+ /* Not xlating, so local case */
if (!afs_sysname) osi_Panic("PSetSysName: !afs_sysname\n");
- if (!setsysname) {
+ if (!setsysname) { /* user just wants the info */
strcpy(outname, afs_sysname);
- foundname = 1;
- } else {
- if (!afs_osi_suser(acred)) /* Local guy; only root can change sysname */
+ foundname = afs_sysnamecount;
+ } else { /* Local guy; only root can change sysname */
+ if (!afs_osi_suser(acred))
return EACCES;
+
+ /* clear @sys entries from the dnlc, once afs_lookup can
+ do lookups of @sys entries and thinks it can trust them */
+ /* privs ok, store the entry, ... */
strcpy(afs_sysname, inname);
+ if (setsysname > 1) { /* ... or list */
+ cp = ain;
+ for(count=1; count < setsysname;++count) {
+ if (!afs_sysnamelist[count])
+ osi_Panic("PSetSysName: no afs_sysnamelist entry to write\n");
+ t = strlen(cp);
+ bcopy(cp, afs_sysnamelist[count], t+1); /* include null */
+ cp += t+1;
+ }
+ }
+ afs_sysnamecount = setsysname;
}
}
if (!setsysname) {
- cp = aout;
+ cp = aout; /* not changing so report back the count and ... */
bcopy((char *)&foundname, cp, sizeof(afs_int32));
cp += sizeof(afs_int32);
if (foundname) {
- strcpy(cp, outname);
+ strcpy(cp, outname); /* ... the entry, ... */
cp += strlen(outname)+1;
+ for(count=1; count < foundname; ++count) { /* ... or list. */
+ /* Note: we don't support @sys lists for exporters */
+ if (!afs_sysnamelist[count])
+ osi_Panic("PSetSysName: no afs_sysnamelist entry to read\n");
+ t = strlen(afs_sysnamelist[count]);
+ if (t >= MAXSYSNAME)
+ osi_Panic("PSetSysName: sysname entry garbled\n");
+ strcpy(cp, afs_sysnamelist[count]);
+ cp += t + 1;
+ }
}
*aoutSize = cp - aout;
}
register struct vcache *tvc;
register struct dcache *tdc;
struct VenusFid tfid;
- char *bufp = 0;
- afs_int32 offset, len, hasatsys=0;
+ char *bufp;
+ struct sysname_info sysState;
+ afs_int32 offset, len;
AFS_STATCNT(PFlushMount);
if (!avc) return EINVAL;
}
tdc = afs_GetDCache(avc, 0, areq, &offset, &len, 1);
if (!tdc) return ENOENT;
- hasatsys = Check_AtSys(avc, ain, &bufp, areq);
- code = afs_dir_Lookup(&tdc->f.inode, bufp, &tfid.Fid);
+ Check_AtSys(avc, ain, &sysState, areq);
+ do {
+ code = afs_dir_Lookup(&tdc->f.inode, sysState.name, &tfid.Fid);
+ } while (code == ENOENT && Next_AtSys(avc, areq, &sysState));
+ bufp = sysState.name;
if (code) {
afs_PutDCache(tdc);
goto out;
#endif
afs_PutVCache(tvc, WRITE_LOCK);
out:
- if (hasatsys) osi_FreeLargeSpace(bufp);
+ if (sysState.allocked) osi_FreeLargeSpace(bufp);
return code;
}
INSTALLro = ${INSTALL} -m 644
INSTALLex = ${INSTALL} -m 755
-CFLAGS = -g -I${SRCDIR}include ${XCFLAGS}
+CFLAGS = -g -I${TOP_SRCDIR}/config -I${SRCDIR}include ${XCFLAGS}
LDFLAGS = -g ${XLDFLAGS}
noversion: install
# useful for debugging as it prints _a lot_ of information.
VERBOSE=
-# AFSD_OPTIONS are the options passed to afsd.
-AFSD_OPTIONS="$OPTIONS $VERBOSE"
+# OPTIONS are the options passed to afsd.
+OPTIONS="$OPTIONS $VERBOSE"
# Sample server preferences function. Set server preferences using this.
+++ /dev/null
-# 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_OSTYPE = DUX
-
-MT_CC=cc
-XCFLAGS= -D_NO_PROTO -DOSF
-MT_CFLAGS=-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-XLIBS=
-MTLIBS=-pthread -lpthread -lmach -lexc -lc
-NON_SHARED=-non_shared
-TXLIBS= -lcurses
-LWP_OPTMZ=-O2
-OPTMZ=-O2
-DBG=-g3
-CSTATIC=-non_shared
-RANLIB=/bin/true
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-
-#this is for the vol package
-FS_CONV_OSF40D= $(DESTDIR)root.server/usr/afs/bin/fs_conv_dux40D
+++ /dev/null
-# 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_OSTYPE = DUX
-
-MT_CC=cc
-XCFLAGS= -D_NO_PROTO -DOSF
-MT_CFLAGS=-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-XLIBS=
-MTLIBS=-pthread -lpthread -lmach -lexc -lc
-NON_SHARED=-non_shared
-TXLIBS= -lcurses
-LWP_OPTMZ=-O2
-OPTMZ=-O2
-DBG=-g3
-CP=cp
-CSTATIC=-non_shared
-RANLIB=/bin/true
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-
-#this is for the vol package
-FS_CONV_OSF40D= $(DESTDIR)root.server/usr/afs/bin/fs_conv_dux40D
+++ /dev/null
-# Makefile for Linux 2.2.16 kernel on Alpha with glibc 2.2
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = LINUX
-# Base directory for linux kernel source. Actually a prefix which is complete
-# when LINUX_VERS is appended to it.
-LINUX_SRCDIR = /usr/src/linux-
-# Default list of Linux kernels to build. Build will run only if all
-# can be built. To build a different set, specify LINUX_VERS to make.
-LINUX_VERS = 2.2.16
-
-#
-# compilation and link editor flags
-DBG=-g
-OPTMZ=-O2
-PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
-# Put -O2 here to _ensure_ all Makefiles pick it up.
-XCFLAGS= -O2
-MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
-XLDFLAGS=
-SHARE_LDFLAGS = -shared -Xlinker -x
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# libraries
-MTLIBS=-lpthread
-TXLIBS= /usr/lib/libncurses.so
-XLIBS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-INSTALL=${SRCDIR}bin/install
-LD=ld
-MT_CC=cc
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${SRCDIR}bin/washtool
-#
-# Other OS specific requirements
-#
-YACC = bison -y
-LEX = flex -l
-# Used in des library.
-CRYPT_OBJ = crypt.o
+++ /dev/null
-# 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_OSTYPE = HPUX
-CC=/opt/ansic/bin/cc -Ae
-MT_CC=/opt/ansic/bin/cc -Ae
-XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE
-XCFLAGS=${XCFLAGS0} +DA1.0
-XCFLAGS64=${XCFLAGS0} +DA2.0W
-MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}
-XLIBS=
-XLIBELFA=
-TXLIBS=/usr/lib/libHcurses.a
-MTLIBS=-L/opt/dce/lib -ldce
-SHLIB_SUFFIX=sl
-LWP_OPTMZ=-O
-OPTMZ=-O
-DBG=-g
-RANLIB=ranlib
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-RM=/bin/rm
-CP=/bin/cp
-AR=/bin/ar
-AS=/usr/ccs/bin/as
-MV=/bin/mv
-LD=/bin/ld
-LEX=/opt/langtools/bin/lex
-DBM=/lib/libndbm.a
-PAM_CFLAGS=+DA1.0 +z -Wl,+k
-SHARE_LDFLAGS=-b -Bsymbolic
-PAMLIBS=/usr/lib/libpam.1
-YACC=/opt/langtools/bin/yacc
+++ /dev/null
-# 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_OSTYPE = HPUX
-CC=/opt/ansic/bin/cc
-MT_CC=/opt/ansic/bin/cc
-XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE
-XCFLAGS=${XCFLAGS0} +DA1.0
-XCFLAGS64=${XCFLAGS0} +DA2.0W
-MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}
-XLIBS=-lnsl
-XLIBELFA=-lelf
-TXLIBS=/usr/lib/libHcurses.a
-MTLIBS=-lpthread
-SHLIB_SUFFIX=sl
-LWP_OPTMZ=-O
-OPTMZ=-O
-DBG=-g
-RANLIB=ranlib
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-RM=/bin/rm
-CP=/bin/cp
-AR=/bin/ar
-AS=/usr/ccs/bin/as
-MV=/bin/mv
-LD=/bin/ld
-LEX=/opt/langtools/bin/lex
-DBM=/lib/libndbm.a
-PAM_CFLAGS=+DA1.0 +z -Wl,+k
-SHARE_LDFLAGS=-b -Bsymbolic
-PAMLIBS=/usr/lib/libpam.1
-YACC=/opt/langtools/bin/yacc
+++ /dev/null
-# Copyright 1998 Transarc Corporation
-#
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = FBSD
-# Pointers to destination and source directories
-DESTDIR=DEST/
-SRCDIR=DEST/
-# Base directory for linux kernel source. Actually a prefix which is complete
-# when LINUX_VERS is appended to it.
-# LINUX_SRCDIR = /usr/src/linux-
-# Default list of Linux kernels to build. Build will run only if all
-# can be built. To build a different set, specify LINUX_VERS to make.
-# LINUX_VERS = 2.2.5-15 2.2.10 2.2.12 2.2.12-20 2.2.13 2.2.14
-
-#
-# compilation and link editor flags
-DBG=-g
-OPTMZ=-O2
-PAM_CFLAGS = -O2 -pipe -fPIC
-# Put -O2 here to _ensure_ all Makefiles pick it up.
-XCFLAGS= -O2 -pipe
-MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
-XLDFLAGS=
-SHARE_LDFLAGS = -shared -Xlinker -x
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# libraries
-MTLIBS=-pthread
-TXLIBS= /usr/lib/libncurses.so
-XLIBS=-lcompat
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-INSTALL=${SRCDIR}bin/install
-LD=ld
-MT_CC=cc
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${SRCDIR}bin/washtool
-#
-# Other OS specific requirements
-#
-YACC = bison -y
-LEX = flex -l
-# Used in des library.
-CRYPT_OBJ = crypt.o
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = LINUX
-
-# Base directory for linux kernel source. Actually a prefix which is complete
-# when LINUX_VERS is appended to it.
-LINUX_SRCDIR = $(KSRC)
-# Default list of Linux kernels to build. Build will run only if all
-# can be built. To build a different set, specify LINUX_VERS to make.
-LINUX_VERS = $(KVERS)
-
-#
-# compilation and link editor flags
-DBG=-g
-OPTMZ=-O2
-PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
-# Put -O2 here to _ensure_ all Makefiles pick it up.
-XCFLAGS= -O2
-MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
-XLDFLAGS=
-SHARE_LDFLAGS = -shared -Xlinker -x
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# libraries
-MTLIBS=-lpthread
-TXLIBS= /usr/lib/libncurses.so
-XLIBS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-LD=ld
-MT_CC=cc
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# Other OS specific requirements
-#
-YACC = bison -y
-LEX = flex -l
-# Used in des library.
-CRYPT_OBJ = crypt.o
+++ /dev/null
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = LINUX
-
-# Base directory for linux kernel source. Actually a prefix which is complete
-# when LINUX_VERS is appended to it.
-LINUX_SRCDIR = $(KSRC)
-# Default list of Linux kernels to build. Build will run only if all
-# can be built. To build a different set, specify LINUX_VERS to make.
-LINUX_VERS = $(KVERS)
-
-#
-# compilation and link editor flags
-DBG=-g
-OPTMZ=-O2
-PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
-# Put -O2 here to _ensure_ all Makefiles pick it up.
-XCFLAGS= -O2
-MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
-XLDFLAGS=
-SHARE_LDFLAGS = -shared -Xlinker -x
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# libraries
-MTLIBS=-lpthread
-TXLIBS= /usr/lib/libncurses.so
-XLIBS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-LD=ld
-MT_CC=cc
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# Other OS specific requirements
-#
-YACC = bison -y
-LEX = flex -l
-# Used in des library.
-CRYPT_OBJ = crypt.o
+++ /dev/null
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = DARWIN
-#
-# Pointers to destination and source directories
-DESTDIR=DEST/
-DESTDIR=DEST/
-#
-# compilation and link editor flags
-XCFLAGS=-traditional-cpp
-#MT_CFLAGS=-D_REENTRANT -DAFS_PTHREAD_ENV ${XCFLAGS}
-#MT_CC=cc
-KROOT=
-KINCLUDES=-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers
-#SHARE_LDFLAGS =
-LWP_OPTMZ=-g
-OPTMZ=-g
-DBG=-g
-REGEX_OBJ=regex.o
-
-
-#
-# libraries
-#XLIBS=
-TXLIBS=
-#MTLIBS=
-#XLIBELFA=
-#XLIBKVM=
-#
-SHLIB_SUFFIX=
-SHLIB_CFLAGS=
-#
-# programs
-AR=ar
-AS=as
-CC=cc
-CP=cp
-INSTALL=${DESTDIR}bin/pinstall
-LEX=lex -l
-LD= ld
-LORDER = lorder
-MV=mv
-RANLIB=ranlib
-RM=rm
-STRIP= strip
+++ /dev/null
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = DARWIN
-#
-# Pointers to destination and source directories
-DESTDIR=DEST/
-DESTDIR=DEST/
-#
-# compilation and link editor flags
-XCFLAGS=-traditional-cpp
-#MT_CFLAGS=-D_REENTRANT -DAFS_PTHREAD_ENV ${XCFLAGS}
-#MT_CC=cc
-KROOT=
-KINCLUDES=-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers
-#SHARE_LDFLAGS =
-LWP_OPTMZ=-g
-OPTMZ=-g
-DBG=-g
-REGEX_OBJ=regex.o
-
-
-#
-# libraries
-#XLIBS=
-TXLIBS=
-#MTLIBS=
-#XLIBELFA=
-#XLIBKVM=
-#
-SHLIB_SUFFIX=
-SHLIB_CFLAGS=
-#
-# programs
-AR=ar
-AS=as
-CC=cc
-CP=cp
-INSTALL=${DESTDIR}bin/pinstall
-LEX=lex -l
-LD= ld
-LORDER = lorder
-MV=mv
-RANLIB=ranlib
-RM=rm
-STRIP= strip
+++ /dev/null
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = LINUX
-
-# Base directory for linux kernel source. Actually a prefix which is complete
-# when LINUX_VERS is appended to it.
-LINUX_SRCDIR = $(KSRC)
-# Default list of Linux kernels to build. Build will run only if all
-# can be built. To build a different set, specify LINUX_VERS to make.
-LINUX_VERS = $(KVERS)
-
-#
-# compilation and link editor flags
-DBG=-g
-OPTMZ=-O2
-PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
-# Put -O2 here to _ensure_ all Makefiles pick it up.
-XCFLAGS= -O2
-MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
-XLDFLAGS=
-SHARE_LDFLAGS = -shared -Xlinker -x
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# libraries
-MTLIBS=-lpthread
-TXLIBS= /usr/lib/libncurses.so
-XLIBS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-LD=ld
-MT_CC=cc
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# Other OS specific requirements
-#
-YACC = bison -y
-LEX = flex -l
-# Used in des library.
-CRYPT_OBJ = crypt.o
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = AIX
-
-# compilation and link editor flags
-OPTMZ=-O
-LWP_OPTMZ=-O
-DBG=
-XCFLAGS=-K -D_NO_PROTO -D_NONSTD_TYPES -D_MBI=void
-MT_CFLAGS=-DAFS_PTHREAD_ENV ${XCFLAGS}
-SHLIB_SUFFIX=o
-SHLIB_CFLAGS=
-#
-# libraries
-TXLIBS=-lcurses
-MTLIBS=-lpthreads
-XLIBS=-ldl
-#
-# programs
-MT_CC=xlc_r
-AR=ar
-AS=as
-CP=cp
-LD=ld
-LEX=lex
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# This is the XBSA make flag and pathname to XBSA header files (xbsa.h)
-XBSA_FLAGS=-Dxbsa
-XBSADIR=/usr/tivoli/tsm/client/api/bin/xopen
+++ /dev/null
-# Copyright 1998 Transarc Corporation
-#
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = LINUX
-
-# Base directory for linux kernel source. Actually a prefix which is complete
-# when LINUX_VERS is appended to it.
-LINUX_SRCDIR = /usr/src/linux-
-# Default list of Linux kernels to build. Build will run only if all
-# can be built. To build a different set, specify LINUX_VERS to make.
-LINUX_VERS = 2.2.16
-
-#
-# compilation and link editor flags
-DBG=-g
-OPTMZ=-O
-#PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
-PAM_CFLAGS= -O -Dlinux -DLINUX_PAM -fPIC
-# Put -O2 here to _ensure_ all Makefiles pick it up.
-XCFLAGS= -O -g
-MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
-XLDFLAGS=
-SHARE_LDFLAGS = -shared -Xlinker -x
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# libraries
-MTLIBS=-lpthread
-TXLIBS= /usr/lib/libncurses.so
-XLIBS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-LD=gcc
-MT_CC=gcc
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# Other OS specific requirements
-#
-YACC = bison -y
-LEX = flex -l
-# Used in des library.
-CRYPT_OBJ = crypt.o
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = IRIX
-
-# compilation and link editor flags
-DBG=-g
-FSINCLUDES=-I/usr/include/sys/fs -I../sgiefs
-LWP_OPTMZ=-O
-OPTMZ=-O
-XCFLAGS=-o32
-# The -mips3 for XCFLAGS64 allows code to run on R4000 as well as R8000+.
-XCFLAGS64 =-64 -mips3
-MT_CFLAGS=-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}
-XLDFLAGS=-o32
-XLDFLAGS64=-64
-#
-# libraries
-TXLIBS= -lcurses
-XLIBS=
-MTLIBS=-lpthread
-SHLIB_SUFFIX=so
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-MT_CC=cc
-LD=ld
-LEX=lex
-MV=mv
-RANLIB=/bin/true
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# This is for the vol package
-XFS_SIZE_CHECK = $(DESTDIR)root.server/usr/afs/bin/xfs_size_check
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = IRIX
-
-# compilation and link editor flags
-DBG=-g
-FSINCLUDES=-I/usr/include/sys/fs -I../sgiefs
-LWP_OPTMZ=-O
-OPTMZ=-O
-XCFLAGS=-D_OLD_TERMIOS -D_BSD_COMPAT -o32
-# The -mips3 for XCFLAGS64 allows code to run on R4000 as well as R8000+.
-XCFLAGS64 =-D_BSD_COMPAT -64 -mips3
-MT_CFLAGS=-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}
-XLDFLAGS=-o32
-XLDFLAGS64=-64
-#
-# libraries
-TXLIBS= -lcurses
-XLIBS=
-MTLIBS=-lpthread
-SHLIB_SUFFIX=so
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-MT_CC=cc
-LD=ld
-LEX=lex
-MV=mv
-RANLIB=/bin/true
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = IRIX
-
-# compilation and link editor flags
-DBG=-g
-FSINCLUDES=-I/usr/include/sys/fs -I../sgiefs
-LWP_OPTMZ=-O
-OPTMZ=-O
-XCFLAGS=-D_OLD_TERMIOS -D_BSD_COMPAT -n32 -woff 1009,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552
-# The -mips3 for XCFLAGS64 allows code to run on R4000 as well as R8000+.
-XCFLAGS64 =-D_BSD_COMPAT -64 -mips3
-XLDFLAGS=-n32
-XLDFLAGS64=-64
-MT_CFLAGS=-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}
-#
-# libraries
-TXLIBS= -lcurses
-XLIBS=
-MTLIBS=-lpthread
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-MT_CC=cc
-LD=ld
-LEX=lex
-MV=mv
-RANLIB=/bin/true
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# This is for the vol package
-XFS_SIZE_CHECK = $(DESTDIR)root.server/usr/afs/bin/xfs_size_check
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = IRIX
-# Pointers to destination and source directories
-
-# compilation and link editor flags
-DBG=-g
-FSINCLUDES=-I/usr/include/sys/fs -I../sgiefs
-OPTMZ=-O
-XCFLAGS=-n32 -mips3 -woff 1009,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552
-# The -mips3 for XCFLAGS64 allows code to run on R4000 as well as R8000+.
-XCFLAGS64 =-64 -mips3
-XLDFLAGS=-n32 -mips3
-XLDFLAGS64=-64 -mips3
-MT_CFLAGS=-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}
-#
-# libraries
-TXLIBS= -lcurses
-XLIBS=
-MTLIBS=-lpthread
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-MT_CC=/usr/bin/cc
-LD=/usr/bin/ld
-LEX=lex
-MV=mv
-RANLIB=/bin/true
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# This is for the vol package
-XFS_SIZE_CHECK = $(DESTDIR)root.server/usr/afs/bin/xfs_size_check
+++ /dev/null
-# Copyright 1998 Transarc Corporation
-#
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = LINUX
-
-# Base directory for linux kernel source. Actually a prefix which is complete
-# when LINUX_VERS is appended to it.
-LINUX_SRCDIR = /usr/src/linux-
-# Default list of Linux kernels to build. Build will run only if all
-# can be built. To build a different set, specify LINUX_VERS to make.
-LINUX_VERS = 2.2.14
-
-#
-# compilation and link editor flags
-DBG=-g
-OPTMZ=-O2
-PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
-# Put -O2 here to _ensure_ all Makefiles pick it up.
-XCFLAGS= -O2
-MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
-XLDFLAGS=
-SHARE_LDFLAGS = -shared -Xlinker -x
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# libraries
-MTLIBS=-lpthread
-TXLIBS= /usr/lib/libncurses.so
-XLIBS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-LD=ld
-MT_CC=cc
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# Other OS specific requirements
-#
-YACC = bison -y
-LEX = flex -l
-# Used in des library.
-CRYPT_OBJ = crypt.o
+++ /dev/null
-# Copyright 1998 Transarc Corporation
-#
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = LINUX
-
-# Base directory for linux kernel source. Actually a prefix which is complete
-# when LINUX_VERS is appended to it.
-LINUX_SRCDIR = $(KSRC)
-# Default list of Linux kernels to build. Build will run only if all
-# can be built. To build a different set, specify LINUX_VERS to make.
-LINUX_VERS = $(KVERS)
-
-#
-# compilation and link editor flags
-DBG=-g
-OPTMZ=-O2
-PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
-# Put -O2 here to _ensure_ all Makefiles pick it up.
-XCFLAGS= -O2
-MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
-XLDFLAGS=
-SHARE_LDFLAGS = -shared -Xlinker -x
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=
-#
-# libraries
-MTLIBS=-lpthread
-TXLIBS= /usr/lib/libncurses.so
-XLIBS=
-#
-# programs
-AR=ar
-AS=as
-CP=cp
-LD=ld
-MT_CC=cc
-MV=mv
-RANLIB=ranlib
-RM=rm
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# Other OS specific requirements
-#
-YACC = bison -y
-LEX = flex -l
-# Used in des library.
-CRYPT_OBJ = crypt.o
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = SOLARIS
-
-# compilation and link editor flags
-XCFLAGS=-dy -Bdynamic
-MT_CFLAGS=-mt -DAFS_PTHREAD_ENV ${XCFLAGS}
-LWP_OPTMZ=-g
-OPTMZ=-O
-DBG=-g
-#
-# libraries
-XLIBS=-lsocket -lnsl -lintl -ldl
-TXLIBS=-lcurses
-MTLIBS=-lpthread -lsocket
-XLIBELFA=-lelf
-XLIBKVM=-lkvm
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=-KPIC
-#
-# programs
-AR=/usr/ccs/bin/ar
-AS=as
-CC=/opt/SUNWspro/bin/cc
-MT_CC=/opt/SUNWspro/bin/cc
-CP=/bin/cp
-LEX=lex
-LD= /usr/ccs/bin/ld
-LORDER = /usr/ccs/bin/lorder
-MV=mv
-RANLIB=/bin/true
-RM=rm
-STRIP= /usr/ccs/bin/strip
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# this is for the vol package
-FS_CONV_SOL26= $(DESTDIR)root.server/usr/afs/bin/fs_conv_sol26
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = SOLARIS
-#
-# compilation and link editor flags
-XCFLAGS=-dy -Bdynamic
-MT_CFLAGS=-mt -DAFS_PTHREAD_ENV ${XCFLAGS}
-PAM_CFLAGS = -KPIC
-PAMLIBS= -lc -lpam -lsocket -lnsl -lm
-SHARE_LDFLAGS = -G -Bsymbolic
-LWP_OPTMZ=-g
-OPTMZ=-O
-DBG=-g
-#
-# libraries
-XLIBS=-lsocket -lnsl -lintl -ldl
-TXLIBS=-L/usr/ccs/lib -lcurses
-MTLIBS=-lpthread -lsocket
-XLIBELFA=-lelf
-XLIBKVM=-lkvm
-#
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=-KPIC
-#
-# programs
-AR=/usr/ccs/bin/ar
-AS=as
-CC=/opt/SUNWspro/bin/cc
-MT_CC=/opt/SUNWspro/bin/cc
-CP=/bin/cp
-LEX=lex
-LD= /usr/ccs/bin/ld
-LORDER = /usr/ccs/bin/lorder
-MV=mv
-RANLIB=/bin/true
-RM=rm
-STRIP= /usr/ccs/bin/strip
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# this is for the vol package
-FS_CONV_SOL26= $(DESTDIR)root.server/usr/afs/bin/fs_conv_sol26
-#
-# This is the XBSA make flag and pathname to XBSA header files (xbsa.h)
-XBSA_FLAGS=-Dxbsa
-XBSADIR=/opt/tivoli/tsm/client/api/bin/xopen
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = SOLARIS
-#
-# compilation and link editor flags
-XCFLAGS=-dy -Bdynamic
-MT_CFLAGS=-mt -DAFS_PTHREAD_ENV ${XCFLAGS}
-PAM_CFLAGS = -KPIC
-PAMLIBS= -lc -lpam -lsocket -lnsl -lm
-SHARE_LDFLAGS = -G -Bsymbolic
-LWP_OPTMZ=-g
-OPTMZ=-O
-DBG=-g
-
-## Compilation flags for 64 bit Solaris
-XCFLAGS64 = ${XCFLAGS} -xarch=v9
-
-#
-# libraries
-XLIBS=-lsocket -lnsl -lintl -ldl
-TXLIBS=-lcurses
-MTLIBS=-lpthread -lsocket
-XLIBELFA=-lelf
-XLIBKVM=-lkvm
-#
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=-KPIC
-#
-# programs
-AR=/usr/ccs/bin/ar
-AS=as
-CC=/opt/SUNWspro/bin/cc
-MT_CC=/opt/SUNWspro/bin/cc
-CP=/bin/cp
-LEX=lex
-LD= /usr/ccs/bin/ld
-LORDER = /usr/ccs/bin/lorder
-MV=mv
-RANLIB=/bin/true
-RM=rm
-STRIP= /usr/ccs/bin/strip
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# this is for the vol package
-FS_CONV_SOL26= $(DESTDIR)root.server/usr/afs/bin/fs_conv_sol26
-#
-# This is the XBSA make flag and pathname to XBSA header files (xbsa.h)
-XBSA_FLAGS=-Dxbsa
-XBSADIR=/opt/tivoli/tsm/client/api/bin/xopen
+++ /dev/null
-# Keep macros within each section in sorted order for clean diff displays.
-#
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = SOLARIS
-#
-# compilation and link editor flags
-XCFLAGS=-dy -Bdynamic
-MT_CFLAGS=-mt -DAFS_PTHREAD_ENV ${XCFLAGS}
-PAM_CFLAGS = -KPIC
-PAMLIBS= -lc -lpam -lsocket -lnsl -lm
-SHARE_LDFLAGS = -G -Bsymbolic
-LWP_OPTMZ=-g
-OPTMZ=-O
-DBG=-g
-
-## Compilation flags for 64 bit Solaris
-XCFLAGS64 = ${XCFLAGS} -xarch=v9
-
-#
-# libraries
-XLIBS=-lsocket -lnsl -lintl -ldl
-TXLIBS=-lcurses
-MTLIBS=-lpthread -lsocket
-XLIBELFA=-lelf
-XLIBKVM=-lkvm
-#
-SHLIB_SUFFIX=so
-SHLIB_CFLAGS=-KPIC
-#
-# programs
-AR=/usr/ccs/bin/ar
-AS=as
-CC=/opt/SUNWspro/bin/cc
-MT_CC=/opt/SUNWspro/bin/cc
-CP=/bin/cp
-LEX=lex
-LD= /usr/ccs/bin/ld
-LORDER = /usr/ccs/bin/lorder
-MV=mv
-RANLIB=/bin/true
-RM=rm
-STRIP= /usr/ccs/bin/strip
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
-#
-# this is for the vol package
-FS_CONV_SOL26= $(DESTDIR)root.server/usr/afs/bin/fs_conv_sol26
-#
-# This is the XBSA make flag and pathname to XBSA header files (xbsa.h)
-XBSA_FLAGS=-Dxbsa
-XBSADIR=/opt/tivoli/tsm/client/api/bin/xopen
+++ /dev/null
-# 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
-
-# Keep macros within each section in sorted order for clean diff displays.
-# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
-AFS_OSTYPE = NCR
-
-# compilation and link editor flags
-#
-# libraries
-#
-# programs
-AR = /usr/ccs/bin/ar
-LD = /usr/ccs/bin/ld
-LORDER = /usr/ccs/bin/lorder
-STRIP= /usr/ccs/bin/strip
-WASHTOOL=${DESTDIR}bin/washtool
-INSTALL=${DESTDIR}bin/install
+++ /dev/null
-#ifndef _PARAM_ALPHA_LINUX2216_22_H_
-#define _PARAM_ALPHA_LINUX2216_22_H_
-
-/* Linux 2.2.16 kernel on Alpha with glibc 2.2 */
-
-/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
- * it's a judgment call. If something is obviously sparc64 specific, use that
- * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
- * in the sysname is the current version of the client. This takes into
- * account the perferred OS user space configuration as well as the kernel.
- */
-
-#define AFS_LINUX20_ENV 1
-#define AFS_LINUX22_ENV 1
-#define AFS_ALPHA_LINUX20_ENV 1
-#define AFS_ALPHA_LINUX22_ENV 1
-#define __alpha 1
-#define AFS_LINUX_64BIT_KERNEL 1
-#define AFS_NONFSTRANS 1
-
-#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
-#define AFS_SYSCALL 338
-#define AFS_64BIT_IOPS_ENV 1
-#define AFS_NAMEI_ENV 1 /* User space interface to file system */
-
-#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */
-#define AFS_64BITPOINTER_ENV 1 /* pointers are 64 bits. */
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_USERSPACE_IP_ADDR 1
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-/* Machine / Operating system information */
-#define SYS_NAME "alpha_linux_22"
-#define SYS_NAME_ID SYS_NAME_ID_alpha_linux_22
-#define AFSLITTLE_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-
-#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
-#include <linux/config.h>
-#ifdef CONFIG_SMP
-#undef CONFIG_SMP
-#endif
-/* Using "AFS_SMP" to map to however many #define's are required to get
- * MP to compile for Linux
- */
-#ifdef AFS_SMP
-#define CONFIG_SMP
-#define __SMP__
-#define AFS_GLOBAL_SUNLOCK
-#endif
-
-#endif /* __KERNEL__ && !DUMP_KERNEL*/
-
-#ifdef KERNEL
-#ifndef MIN
-#define MIN(A,B) ((A) < (B) ? (A) : (B))
-#endif
-#ifndef MAX
-#define MAX(A,B) ((A) > (B) ? (A) : (B))
-#endif
-#endif /* KERNEL */
-
-#endif /* _PARAM_ALPHA_LINUX2216_22_H_ */
+++ /dev/null
-#ifndef _PARAM_ALPHA_LINUX2216_22_USR_H_
-#define _PARAM_ALPHA_LINUX2216_22_USR_H_
-
-/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
- * it's a judgment call. If something is obviously sparc64 specific, use that
- * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
- * in the sysname is the current version of the client. This takes into
- * account the perferred OS user space configuration as well as the kernel.
- */
-
-#define UKERNEL 1 /* user space kernel */
-#define AFS_ENV 1
-#define AFS_USR_LINUX20_ENV 1
-#define AFS_USR_LINUX22_ENV 1
-#define AFS_NONFSTRANS 1
-
-#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
-#define AFS_SYSCALL 338
-#define AFS_64BIT_IOPS_ENV 1
-#define AFS_64BIT_ENV 1
-#define AFS_NAMEI_ENV 1 /* User space interface to file system */
-#include <afs/afs_sysnames.h>
-
-#define AFS_USERSPACE_IP_ADDR 1
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-
-/* Machine / Operating system information */
-#define SYS_NAME "alpha_linux_22"
-#define SYS_NAME_ID SYS_NAME_ID_alpha_linux_22
-#define AFSLITTLE_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-
-#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
-
-#define AFS_DIRENT
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-
-#endif /* _PARAM_ALPHA_LINUX2216_22_USR_H_ */
#define AFS_SYSCALL 137
#define AFS_64BIT_IOPS_ENV 1
#define AFS_NAMEI_ENV 1 /* User space interface to file system */
-#include <afs/afs_sysnames.h>
-
-#define AFS_USERSPACE_IP_ADDR 1
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
/* Machine / Operating system information */
#define SYS_NAME "i386_linux22"
#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
+#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
+#define MODVERSIONS
+#include <linux/modversions.h>
+#endif
+
#include <linux/config.h>
#ifdef CONFIG_SMP
#undef CONFIG_SMP
#ifndef CONFIG_X86_LOCAL_APIC
#define CONFIG_X86_LOCAL_APIC
#endif
+#ifndef __SMP__
#define __SMP__
-#define AFS_GLOBAL_SUNLOCK
#endif
-
-#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
-#define MODVERSIONS
-#include <linux/modversions.h>
+#define AFS_GLOBAL_SUNLOCK
#endif
#endif /* __KERNEL__ && !DUMP_KERNEL*/
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+
+
+/* Machine / Operating system information */
+#define SYS_NAME "i386_linux22"
+#define SYS_NAME_ID SYS_NAME_ID_i386_linux22
+#define AFSLITTLE_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
#ifdef KERNEL
#ifndef MIN
#define AFS_SYSCALL 137
#define AFS_64BIT_IOPS_ENV 1
#define AFS_NAMEI_ENV 1 /* User space interface to file system */
-#include <afs/afs_sysnames.h>
-
-#define AFS_USERSPACE_IP_ADDR 1
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-
-/* Machine / Operating system information */
-#define SYS_NAME "i386_linux24"
-#define SYS_NAME_ID SYS_NAME_ID_i386_linux24
-#define AFSLITTLE_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
#include <linux/config.h>
#ifndef CONFIG_X86_LOCAL_APIC
#define CONFIG_X86_LOCAL_APIC
#endif
+#ifndef __SMP__
#define __SMP__
+#endif
#define AFS_GLOBAL_SUNLOCK
#endif
#endif /* __KERNEL__ && !DUMP_KERNEL*/
+#include <afs/afs_sysnames.h>
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+
+#define AFSLITTLE_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
+
#ifdef KERNEL
#ifndef MIN
#define MIN(A,B) ((A) < (B) ? (A) : (B))
#endif
#endif /* KERNEL */
+/* Machine / Operating system information */
+#define SYS_NAME "i386_linux24"
+#define SYS_NAME_ID SYS_NAME_ID_i386_linux24
+
#endif /* _PARAM_I386_LINUX24_H_ */
+
+
--- /dev/null
+#ifndef _PARAM_PPC_LINUX22_H_
+#define _PARAM_PPC_LINUX22_H_
+
+/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
+ * it's a judgment call. If something is obviously ppc specific, use that
+ * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
+ * in the sysname is the current version of the client. This takes into
+ * account the perferred OS user space configuration as well as the kernel.
+ */
+
+#define AFS_LINUX20_ENV 1
+#define AFS_LINUX22_ENV 1
+#define AFS_PPC_LINUX20_ENV 1
+#define AFS_PPC_LINUX22_ENV 1
+#define AFS_NONFSTRANS 1
+
+#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
+#define AFS_SYSCALL 137
+#define AFS_64BIT_IOPS_ENV 1
+#define AFS_NAMEI_ENV 1 /* User space interface to file system */
+
+#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
+#include <linux/config.h>
+#ifdef CONFIG_SMP
+#undef CONFIG_SMP
+#endif
+/* Using "AFS_SMP" to map to however many #define's are required to get
+ * MP to compile for Linux
+ */
+#ifdef AFS_SMP
+#define CONFIG_SMP
+#ifndef __SMP__
+#define __SMP__
+#endif
+#define AFS_GLOBAL_SUNLOCK
+#endif
+
+#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
+#define MODVERSIONS
+#include <linux/modversions.h>
+#endif
+
+#endif /* __KERNEL__ && !DUMP_KERNEL*/
+
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+
+
+/* Machine / Operating system information */
+#define SYS_NAME "ppc_linux22"
+#define SYS_NAME_ID SYS_NAME_ID_ppc_linux22
+#define AFSBIG_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
+
+#ifdef KERNEL
+#ifndef MIN
+#define MIN(A,B) ((A) < (B) ? (A) : (B))
+#endif
+#ifndef MAX
+#define MAX(A,B) ((A) > (B) ? (A) : (B))
+#endif
+#endif /* KERNEL */
+
+#endif /* _PARAM_PPC_LINUX22_H_ */
--- /dev/null
+#ifndef _PARAM_USR_PPC_LINUX22_H_
+#define _PARAM_USR_PPC_LINUX22_H_
+
+/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
+ * it's a judgment call. If something is obviously ppc specific, use that
+ * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
+ * in the sysname is the current version of the client. This takes into
+ * account the perferred OS user space configuration as well as the kernel.
+ */
+
+#define UKERNEL 1 /* user space kernel */
+#define AFS_ENV 1
+#define AFS_USR_LINUX20_ENV 1
+#define AFS_USR_LINUX22_ENV 1
+#define AFS_NONFSTRANS 1
+
+#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
+#define AFS_SYSCALL 137
+#define AFS_64BIT_IOPS_ENV 1
+#define AFS_NAMEI_ENV 1 /* User space interface to file system */
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+
+
+/* Machine / Operating system information */
+#define SYS_NAME "ppc_linux22"
+#define SYS_NAME_ID SYS_NAME_ID_ppc_linux22
+#define AFSBIG_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
+
+#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
+
+#define AFS_DIRENT
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+
+#endif /* _PARAM_USR_PPC_LINUX22_H_ */
#define AFS_SYSCALL 137
#define AFS_64BIT_IOPS_ENV 1
#define AFS_NAMEI_ENV 1 /* User space interface to file system */
-#include <afs/afs_sysnames.h>
-
-#define AFS_USERSPACE_IP_ADDR 1
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-
-/* Machine / Operating system information */
-#define SYS_NAME "ppc_linux24"
-#define SYS_NAME_ID SYS_NAME_ID_ppc_linux24
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
#include <linux/config.h>
*/
#ifdef AFS_SMP
#define CONFIG_SMP
+#ifndef __SMP__
#define __SMP__
+#endif
#define AFS_GLOBAL_SUNLOCK
#endif
+#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
+#define MODVERSIONS
+#include <linux/modversions.h>
+#endif
#endif /* __KERNEL__ && !DUMP_KERNEL*/
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+
+
+/* Machine / Operating system information */
+#define SYS_NAME "ppc_linux24"
+#define SYS_NAME_ID SYS_NAME_ID_ppc_linux24
+#define AFSBIG_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
+
#ifdef KERNEL
#ifndef MIN
#define MIN(A,B) ((A) < (B) ? (A) : (B))
#define AFS_32BIT_USR_ENV 1 /* user level processes are 32bit */
#define AFS_64BITPOINTER_ENV 1 /* pointers are 64 bits. */
-#include <afs/afs_sysnames.h>
-
-#define AFS_USERSPACE_IP_ADDR 1
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-/* Machine / Operating system information */
-#define SYS_NAME "sparc64_linux22"
-#define SYS_NAME_ID SYS_NAME_ID_sparc64_linux22
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-
#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
#include <linux/config.h>
#ifdef CONFIG_SMP
*/
#ifdef AFS_SMP
#define CONFIG_SMP
+#ifndef __SMP__
#define __SMP__
+#endif
#define AFS_GLOBAL_SUNLOCK
#endif
+#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
+#define MODVERSIONS
+#include <linux/modversions.h>
+#endif
+
#endif /* __KERNEL__ && !DUMP_KERNEL*/
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+
+/* Machine / Operating system information */
+#define SYS_NAME "sparc64_linux22"
+#define SYS_NAME_ID SYS_NAME_ID_sparc64_linux22
+#define AFSBIG_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
+
#ifdef KERNEL
#ifndef MIN
#define MIN(A,B) ((A) < (B) ? (A) : (B))
#define AFS_SYSCALL 227
#define AFS_64BIT_IOPS_ENV 1
#define AFS_NAMEI_ENV 1 /* User space interface to file system */
-#include <afs/afs_sysnames.h>
-
-#define AFS_USERSPACE_IP_ADDR 1
-#define RXK_LISTENER_ENV 1
-#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
-
-
-/* Machine / Operating system information */
-#define SYS_NAME "sparc_linux22"
-#define SYS_NAME_ID SYS_NAME_ID_sparc_linux22
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
#include <linux/config.h>
*/
#ifdef AFS_SMP
#define CONFIG_SMP
+#ifndef __SMP__
#define __SMP__
+#endif
#define AFS_GLOBAL_SUNLOCK
#endif
+#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
+#define MODVERSIONS
+#include <linux/modversions.h>
+#endif
#endif /* __KERNEL__ && !DUMP_KERNEL*/
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+
+/* Machine / Operating system information */
+#define SYS_NAME "sparc_linux22"
+#define SYS_NAME_ID SYS_NAME_ID_sparc_linux22
+#define AFSBIG_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
+
#ifdef KERNEL
#ifndef MIN
#define MIN(A,B) ((A) < (B) ? (A) : (B))
SHELL=/bin/sh
DESTDIR = DEST/
SRCDIR = DEST/
-INCLUDE= -I. -I/usr/include
+INCLUDE= -I. -I/usr/include -I${TOP_SRCDIR}/config
Aobj=COMMON
Dobj=DYNEL
Cobj=CLIENT
clean:
-rm -rf STATIC* MODLOAD*
- -rm -f h net netinet rpc ufs machine inet nfs sys
+ -rm -rf h net netinet rpc ufs machine inet nfs sys afs afsint asm asm-generic config rx
+++ /dev/null
-# 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
-
-# MakefileProto for AIX systems
-#
-
-DESTDIR=DEST/
-include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
-
-# OS specific object files:
-AFS_OS_OBJS = \
- osi_assem.o \
- osi_config.o \
- osi_groups.o \
- osi_file.o \
- osi_inode.o \
- osi_misc.o \
- osi_sleep.o \
- osi_timeout.o \
- osi_vm.o \
- xdr.o \
- xdr_array.o
-
-AFSNOIAUTHOBJS = \
- afs_call.o \
- afs_pioctl.o \
- osi_vfsops.o \
- osi_vnodeops.o
-
-
-# Object files for iauth NFS->AFS authenticator.
-AFSIAUTHOBJS = \
- afs_call_iauth.o \
- afs_nfsclnt_iauth.o \
- afs_pioctl_iauth.o \
- osi_vfsops_iauth.o \
- osi_vnodeops_iauth.o
-
-# System specific build commands
-STRIP = /bin/strip
-DBUG = -g
-#OPT = -O
-OPT2 = -O
-
-IMPORTS = -bI:/lib/kernex.exp -bI:/lib/syscalls.exp -bI:/lib/sockets.exp \
- -bI:/lib/netinet.exp \
- -bI:${DESTDIR}lib/afs/extras.exp -bI:${DESTDIR}lib/afs/export.exp
-KDEFS = -U_IBMR2 -D_POWER -D_AIX -DNLS -D_NLS -DMSG -D__STR31__ -Daiws \
- -D_POWER_RS -D_POWER_PC -D_POWER_RS1 -D_POWER_RS2 -D_POWER_RSC \
- -D_POWER_601 -D_POWER_603 -D_POWER_604 -D_THREADS -M -D_KERNEL \
- -D_POWER_MP -UKOFF -DAFSDEBUG -DVICE -DNFS -DUFS -DINET -DQUOTA \
- -DGETMOUNT -H8 -DAFS -DAFS_COMMON -D_VOPS -D_SUN -DKERNEL
-LDSTUFF= -b"binder:/usr/lib/bind glink:/usr/lib/glink.o" -bnoentry -b h:4 \
- -D0 -T512
-LDFLAGS = -m -eafs_config -bexport:${DESTDIR}/lib/afs/afs.exp ${IMPORTS} \
- -lsys -lcsys
-
-CFLAGS=-I. -I.. ${FSINCLUDES} $(KDEFS) $(KOPTS) ${DBUG}
-
-# Name of directory to hold object files and libraries.
-KOBJ = MODLOAD
-
-# This tells Makefile.common to use it's single directory build target.
-COMPDIRS = single_compdir
-
-include Makefile.common
-
-setup:
- -mkdir $(KOBJ)
- -rm $(KOBJ)/Makefile $(KOBJ)/Makefile.common
- ln -s ../Makefile $(KOBJ)/Makefile
- ln -s ../Makefile.common $(KOBJ)/Makefile.common
- -rm -f h net netinet rpc ufs nfs machine sys
- ln -s /usr/include/sys h
- ln -s /usr/include/net net
- ln -s /usr/include/netinet netinet
- ln -s /usr/include/rpc rpc
- ln -s /usr/include/sys sys
- ln -s /usr/include/nfs nfs
- ln -s /usr/include/jfs ufs
-
-
-
-
-
-# Standard AFS->NFS translator support is removed in AFS 3.5 in favor of
-# the iauth authentication mechanism. The model was changed by IBM in the
-# middle of an OS release. So iauth is only supported on AIX 4.1.5 and
-# later 4.1.x (if they are ever made) and AIX 4.2.1 (and later AIX 4.2.x if
-# they are ever made. AIX 4.3 also uses the iauth translator.
-
-CLIENTDIR = $(DESTDIR)root.client/usr/vice/etc/dkload
-LIBAFSIAUTH = afs.ext.iauth
-LIBAFS = afs.ext
-
-DEST_LIBAFSIAUTH = $(CLIENTDIR)/$(LIBAFSIAUTH)
-DEST_LIBAFS = $(CLIENTDIR)/$(LIBAFS)
-
-$(DEST_LIBAFS): $(LIBAFS)
- $(INSTALL) -f $? $@
- -${STRIP} $@
- $(INSTALL) -f $?.map $@.map
-
-$(DEST_LIBAFSIAUTH): $(LIBAFSIAUTH)
- $(INSTALL) -f $? $@
- -${STRIP} $@
- $(INSTALL) -f $?.map $@.map
-
-
-
-$(LIBAFSIAUTH): $(AFSAOBJS) $(AFSIAUTHOBJS)
- ${LD} ${LDSTUFF} -bloadmap:afs.ext.iauth.loadmap \
- -bmap:afs.ext.iauth.map -o afs.ext.iauth \
- ${AFSAOBJS} ${AFSIAUTHOBJS} ${LIBS} ${LDFLAGS}
-
-$(LIBAFS): $(AFSAOBJS) $(AFSNOIAUTHOBJS)
- ${LD} ${LDSTUFF} -bloadmap:afs.ext.loadmap \
- -bmap:afs.ext.map -o afs.ext \
- ${AFSAOBJS} $(AFSNOIAUTHOBJS) ${LIBS} ${LDFLAGS}
-
-libafs: $(DEST_LIBAFS) $(DEST_LIBAFSIAUTH)
-
-
-# Object build rules:
-# Common objects
-xdr.o: $(RX)/xdr.c
- $(CRULE1);
-xdr_int64.o: $(RX)/xdr_int64.c
- $(CRULE1);
-
-xdr_array.o: $(RX)/xdr_array.c
- $(CRULE1);
-
-osi_assem.o: ${AFS}/osi_assem.s
- ${AS} -o osi_assem.o ${AFS}/osi_assem.s
-osi_config.o: $(AFS)/osi_config.c
- $(CRULE1);
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1);
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1);
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1);
-osi_misc.o: $(AFS)/osi_misc.c
- $(CRULE1);
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1);
-osi_timeout.o: $(AFS)/osi_timeout.c
- $(CRULE1);
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1);
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1);
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1);
-
-
-# Build rules for iauth objects.
-afs_call_iauth.o: $(AFS)/afs_call.c
- $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_call_iauth.o;
-afs_nfsclnt_iauth.o: $(AFS)/afs_nfsclnt.c
- $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_nfsclnt_iauth.o;
-afs_pioctl_iauth.o: $(AFS)/afs_pioctl.c
- $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o afs_pioctl_iauth.o;
-osi_vfsops_iauth.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o osi_vfsops_iauth.o;
-osi_vnodeops_iauth.o: $(AFS)/osi_vnodeops.c
- $(CRULE1) -DAFS_NONFSTRANS -DAFS_AIX_IAUTH_ENV -o osi_vnodeops_iauth.o;
+++ /dev/null
-#/* Copyright (C) 1995, 1989 Transarc Corporation - All rights reserved */
-# $Header: /tmp/cvstemp/openafs/src/libafs/Attic/MakefileProto.DARWIN,v 1.1 2001/04/23 18:43:17 hartmans Exp $
-#
-# MakefileProto for Digital Unix systems
-#
-
-DESTDIR=DEST/
-include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
-
-
-# OS specific object files:
-AFS_OS_OBJS = \
- osi_misc.o \
- osi_file.o \
- osi_inode.o \
- osi_groups.o \
- osi_sleep.o \
- osi_vm.o \
- osi_vnodeops.o \
- osi_module.o \
- xdr.o \
- xdr_array.o
-
-
-#AFS_OS_NFSOBJS = osi_vfsops_nfs.o
-
-AFS_OS_NONFSOBJS = osi_vfsops.o
-
-
-# System specific build commands and flags
-KDEFS=
-DBUG = -g
-DEFINES= -D_KERNEL -DKERNEL -DKERNEL_PRIVATE -DDIAGNOSTIC -DUSE_SELECT -DMACH_USER_API -DMACH_KERNEL
-OPTF=${OPT}
-OPTF2=${OPT2}
-KOPTS=-traditional-cpp -static -fno-common -finline -fno-keep-inline-functions -force_cpusubtype_ALL -msoft-float -mlong-branch
-#CFLAGS=-Werror-implicit-function-declaration -I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
-#CFLAGS=-framework Kernel -I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
-CFLAGS=-I. -I.. ${KINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
-
-
-# Name of directory to hold object files and libraries.
-KOBJ = MODLOAD
-
-# This tells Makefile.common to use it's single directory build target.
-COMPDIRS = single_compdir
-
-include Makefile.common
-
-setup:
- -mkdir $(KOBJ)
- -rm $(KOBJ)/Makefile $(KOBJ)/Makefile.common
- ln -s ../Makefile $(KOBJ)/Makefile
- ln -s ../Makefile.common $(KOBJ)/Makefile.common
- -rm -f h net netinet rpc ufs nfs machine sys vm mach kern
- -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/net net
- -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/machine machine
- -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/netinet netinet
- -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/nfs nfs
- -ln -s /usr/include/rpc rpc
- -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/sys sys
- -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/ufs ufs
- -ln -s $(KROOT)/System/Library/Frameworks/Kernel.framework/Headers/sys h
-
-
-# Below this line are targets when in the COMMON directory:
-LIBAFS = libafs.o
-LIBAFSNONFS = libafs.nonfs.o
-
-DEST_LIBAFS = ${DESTDIR}/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs-nfs
-DEST_LIBAFSNONFS = ${DESTDIR}/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs
-
-
-libafs: $(DEST_LIBAFSNONFS) ;
-
-
-$(DEST_LIBAFS): $(LIBAFS)
- $(INSTALL) -f $? $@
-
-$(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
- $(INSTALL) -f $? $@
-
-${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
- $(LD) -r -o ${LIBAFS} ${AFSAOBJS} ${AFSNFSOBJS}
-
-${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(LD) -r -o ${LIBAFSNONFS} ${AFSAOBJS} ${AFSNONFSOBJS}
-
-
-# Object build rules:
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1)
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1)
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1)
-osi_misc.o: $(AFS)/osi_misc.c
- $(CRULE1)
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1)
-osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -o osi_vfsops_nfs.o
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -DAFS_NONFSTRANS
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1)
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1)
-osi_module.o: $(AFS)/osi_module.c
- $(CRULE1)
-xdr.o: $(RX)/xdr.c
- $(CRULE1);
-xdr_array.o: $(RX)/xdr_array.c
- $(CRULE1);
-
+++ /dev/null
-# 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
-
-# MakefileProto for Digital Unix systems
-#
-
-DESTDIR=DEST/
-include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
-
-
-# OS specific object files:
-AFS_OS_OBJS = \
- osi_groups.o \
- osi_file.o \
- osi_inode.o \
- osi_misc.o \
- osi_sleep.o \
- osi_vm.o \
- osi_vnodeops.o
-
-AFS_OS_NFSOBJS = \
- osi_vfsops_nfs.o
-
-AFS_OS_NONFSOBJS = \
- osi_vfsops.o
-
-
-# System specific build commands and flags
-KDEFS=-DLANGUAGE_C -G 4 -I/usr/sys/include -I../include \
- -I/usr/sys/${HEADER_RT} -I/usr/sys/BINARY -I/usr/sys/AFS \
- -DDEC3000_500 -DSWAPTYPE=1 -DUERF -DOSF -DCOMPAT_43 -DMACH -DUFS \
- -DRT -DKERNEL -D_KERNEL -signed -no_excpt -Wb,-static -Wco,-nofloat \
- -Olimit 1000 -D__alpha -Umips -UMIPS
-DBUG = -O2 -g3
-DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
-OPTF=${OPT}
-OPTF2=${OPT2}
-CFLAGS=-I. -I.. ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
-
-
-# Name of directory to hold object files and libraries.
-KOBJ = STATIC
-
-# This tells Makefile.common to use it's single directory build target.
-COMPDIRS = single_compdir
-
-include Makefile.common
-
-setup:
- -mkdir $(KOBJ)
- -rm $(KOBJ)/Makefile $(KOBJ)/Makefile.common
- ln -s ../Makefile $(KOBJ)/Makefile
- ln -s ../Makefile.common $(KOBJ)/Makefile.common
- -rm -f h net netinet rpc ufs nfs machine sys vm
- -ln -s /usr/sys/include/net net
- -ln -s /usr/sys/include/machine machine
- -ln -s /usr/sys/include/netinet netinet
- -ln -s /usr/sys/include/nfs nfs
- -ln -s /usr/sys/include/rpc rpc
- -ln -s /usr/sys/include/sys sys
- -ln -s /usr/sys/include/ufs ufs
- -ln -s /usr/sys/include/sys h
- -ln -s /usr/sys/include/vm vm
- -touch $(KOBJ)/sec_net.h
-
-
-# Below this line are targets when in the COMMON directory:
-LIBAFS = libafs.o
-LIBAFSNONFS = libafs.nonfs.o
-
-DEST_LIBAFS = ${DESTDIR}/root.client/bin/${LIBAFS}
-DEST_LIBAFSNONFS = ${DESTDIR}/root.client/bin/${LIBAFSNONFS}
-
-
-# libafs: $(DEST_LIBAFS) $(DEST_LIBAFSNONFS)
-
-.PHONY: libafs
-libafs: $(DEST_LIBAFSNONFS)
-
-
-$(DEST_LIBAFS): $(LIBAFS)
- $(INSTALL) -f $? $@
-
-$(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
- $(INSTALL) -f $? $@
-
-${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
- $(LD) -r -o ${LIBAFS} ${AFSAOBJS} ${AFSNFSOBJS}
-
-${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(LD) -r -o ${LIBAFSNONFS} ${AFSAOBJS} ${AFSNONFSOBJS}
-
-
-# Object build rules:
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1)
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1)
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1)
-osi_misc.o: $(AFS)/osi_misc.c
- $(CRULE1)
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1)
-osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -o osi_vfsops_nfs.o
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -DAFS_NONFSTRANS
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1)
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1)
+++ /dev/null
-#/* Copyright (C) 1995, 1989 Transarc Corporation - All rights reserved */
-#
-# MakefileProto for Digital Unix systems
-#
-
-DESTDIR=DEST/
-# include $(DESTDIR)/../obj/config/Makefile.${SYS_NAME}
-
-
-# OS specific object files:
-AFS_OS_OBJS = \
- osi_groups.o \
- osi_file.o \
- osi_inode.o \
- osi_misc.o \
- osi_sleep.o \
- osi_vm.o \
- osi_vnodeops.o
-
-AFS_OS_NFSOBJS = \
- osi_vfsops_nfs.o
-
-AFS_OS_NONFSOBJS = \
- osi_vfsops.o
-
-
-# System specific build commands and flags
-# KDEFS=-DLANGUAGE_C -I/usr/sys/include -I../include \
-# -I/usr/src/sys/${HEADER_RT} -I/usr/src/sys/sys \
-# -DSWAPTYPE=1 -DUERF -DOSF -DCOMPAT_43 -DUFS \
-# -DRT -DKERNEL -D_KERNEL
-KDEFS=-Wall -fformat-extensions -ansi -nostdinc -I/usr/include -D_KERNEL \
- -elf -mpreferred-stack-boundary=2 -I/usr/src/sys/sys -I../afs
-DBUG = -O2
-DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
-OPTF=${OPT}
-OPTF2=${OPT2}
-CFLAGS=-I. -I.. ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
-
-
-# Name of directory to hold object files and libraries.
-KOBJ = STATIC
-
-# This tells Makefile.common to use it's single directory build target.
-COMPDIRS = single_compdir
-
-include Makefile.common
-
-setup:
- -mkdir $(KOBJ)
- -rm $(KOBJ)/Makefile $(KOBJ)/Makefile.common
- ln -s ../Makefile $(KOBJ)/Makefile
- ln -s ../Makefile.common $(KOBJ)/Makefile.common
- -rm -f h net netinet rpc ufs nfs machine sys vm
- -ln -s /usr/src/sys/net net
- -ln -s /usr/src/sys/i386/include machine
- -ln -s /usr/src/sys/netinet netinet
- -ln -s /usr/src/sys/nfs nfs
- -ln -s /usr/include/rpc rpc
- -ln -s /usr/src/sys/sys sys
- -ln -s /usr/src/sys/ufs/ufs ufs
- -ln -s /usr/src/sys/sys h
- -ln -s /usr/src/sys/vm vm
- -touch $(KOBJ)/sec_net.h
-
-
-# Below this line are targets when in the COMMON directory:
-LIBAFS = libafs.o
-LIBAFSNONFS = libafs.nonfs.o
-
-DEST_LIBAFS = ${DESTDIR}/root.client/bin/${LIBAFS}
-DEST_LIBAFSNONFS = ${DESTDIR}/root.client/bin/${LIBAFSNONFS}
-
-
-# libafs: $(DEST_LIBAFS) $(DEST_LIBAFSNONFS)
-# libafs: $(DEST_LIBAFSNONFS)
-libafs:
- echo WARNING: No kernel module for ${SYS_NAME}
-
-
-$(DEST_LIBAFS): $(LIBAFS)
- $(INSTALL) -f $? $@
-
-$(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
- $(INSTALL) -f $? $@
-
-${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
- $(LD) -r -o ${LIBAFS} ${AFSAOBJS} ${AFSNFSOBJS}
-
-${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(LD) -r -o ${LIBAFSNONFS} ${AFSAOBJS} ${AFSNONFSOBJS}
-
-
-# Object build rules:
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1)
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1)
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1)
-osi_misc.o: $(AFS)/osi_misc.c
- $(CRULE1)
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1)
-osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -o osi_vfsops_nfs.o
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -DAFS_NONFSTRANS
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1)
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1)
+++ /dev/null
-# 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
-
-# MakefileProto for HP systems
-#
-
-DESTDIR=DEST/
-include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
-
-# OS specific object files:
-AFS_OS_OBJS = \
- osi_debug.o \
- osi_groups.o \
- osi_inode.o \
- osi_file.o \
- osi_misc.o \
- osi_sleep.o \
- osi_vnodeops.o \
- osi_vm.o
-
-AFS_OS_NFSOBJS = \
- osi_vfsops_nfs.o
-
-AFS_OS_NONFSOBJS = \
- osi_vfsops.o
-
-
-# System specific build commands and flags
-#
-# Note: the online document
-#
-# Developing Dynamically Loadable Kernel Modules
-# Issue 1.0
-# HP-UX 11.0
-# October 12, 1998
-#
-# mentioned on http://docs.hp.com/hpux/os/index.html
-# with URL http://docs.hp.com/hpux/content/dlkm_v1.2.pdf
-#
-# recommends the undocumented +ES1.Xindirect_calls option for both
-# 32-bit and 64-bit kernel code, but it appears to be absolutely vital
-# for compiling 64-bit kernel code. In 64-bit mode, the ANSI C compiler
-# has the +Z (PIC) option on by default, and there is no documented way
-# to turn it off. However, kernel code does not work properly when
-# compiled with +Z (i.e. calling a function through a function pointer
-# seems to hang). When the compiler sees the +ES1.Xindirect_calls
-# option, however, it issues a warning and turns off +Z.
-#
-KDEFS= +ES1.Xindirect_calls +XixdU +Hx0 +ESlit +ESsfc +ESssf -Wp,-H300000 -D_KERNEL -D_KERNEL_BUILD -D_UNSUPPORTED \
- -DMP +R500 -Wl,+k $(CPU_KDEFS)
-KDEFS_32 = +DA1.0 +DS1.0
-# add +M2 to $(KDEFS_64) for 64-bit migration warnings
-# warning 478: "+Z" and "+ES1.Xindirect_calls" are mutually exclusive. "+Z" ignored.
-# warning 530: LP64 migration: Casting from loose to strict alignment: Resulting pointer may be misaligned.
-KDEFS_64 = +DA2.0W +DS2.0 +M2 +W 478,530
-DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT -DHPONCPLUS
-OPTF=${OPT}
-OPTF2=${OPT2}
-CFLAGS=-I. -I.. -I../h -I../nfs ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
-
-# Name of directory to hold object files and libraries.
-KOBJ=STATIC
-
-# This tells Makefile.common to use its single directory build target.
-#COMPDIRS = single_compdir
-# This is the hpux multiple directory target.
-COMPDIRS = hpux_compdirs
-
-include Makefile.common
-
-BITS = 64 32
-
-setup:
- -rm -f h net dux machine netinet nfs rpc s200 ufs sys
- ln -s /usr/include/sys h
- ln -s /etc/conf/net net
- ln -s /etc/conf/dux dux
- ln -s /etc/conf/machine machine
- ln -s /etc/conf/netinet netinet
- ln -s /etc/conf/nfs nfs
- ln -s /usr/include/rpc rpc
- ln -s /etc/conf/machine s200
- ln -s /etc/conf/ufs ufs
- ln -s /usr/include/sys sys
- for b in $(BITS); do \
- for t in $(KOBJ); do \
- dir=$$t.$$b; \
- echo Making directory: $$dir; \
- mkdir -p $$dir; \
- rm -f $$dir/Makefile $$dir/Makefile.common; \
- ln -s ../Makefile $$dir/Makefile; \
- ln -s ../Makefile.common $$dir/Makefile.common; \
- done; \
- done
- echo Setup complete.
-
-# Compile the clients.
-${COMPDIRS}:
- if false; then \
- for b in $(BITS); do \
- for t in $(KOBJ); do \
- dir=$$t.$$b; \
- echo Building directory: $$dir; \
- case $$b in \
- 32) bopts="$(KDEFS_32)"; bsuff="";; \
- 64) bopts="$(KDEFS_64)"; bsuff="64";; \
- esac; \
- cd $$dir; \
- $(MAKE) BITSUFFIX=$$bsuff CPU_KDEFS="$$bopts" DESTDIR=${DESTDIR} libafs || exit $$?; \
- cd ..; \
- done; \
- done; \
- fi
-
-
-# Below this line are targets when in the static directory:
-LIBAFS = libafs$(BITSUFFIX).a
-LIBAFSNONFS = libafs$(BITSUFFIX).nonfs.a
-
-
-DEST_LIBAFS = ${DESTDIR}root.client/bin/${LIBAFS}
-DEST_LIBAFSNONFS = ${DESTDIR}root.client/bin/${LIBAFSNONFS}
-
-
-# libafs: ${DEST_LIBAFS} ${DEST_LIBAFSNONFS}
-libafs: ${DEST_LIBAFSNONFS}
-
-$(DEST_LIBAFS): $(LIBAFS)
- ${INSTALL} -f $? $@
-
-$(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
- ${INSTALL} -f $? $@
-
-${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
- $(AR) cru $@ $?
- $(RANLIB) $@
-
-${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(AR) cru $@ $?
- $(RANLIB) $@
-
-
-# HP specific objects
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1)
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1)
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1)
-osi_misc.o: $(AFS)/osi_misc.c
- $(CRULE1)
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1)
-osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -o osi_vfsops_nfs.o
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -DAFS_NONFSTRANS
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1)
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1)
-
-# This is a list of header files compiled with the -g option. It allows
-# examination of AFS structures in a dump.
-osi_debug.o: $(AFS)/osi_debug.c
- $(CRULE4)
-
+++ /dev/null
-# 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
-
-# MakefileProto for IRIX systems
-#
-
-DESTDIR=DEST/
-include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
-
-
-# OS specific object files:
-AFS_OS_OBJS = \
- afs_base64.o \
- osi_groups.o \
- osi_idbg.o \
- osi_file.o \
- osi_inode.o \
- osi_misc.o \
- osi_sleep.o \
- osi_vm.o \
- osi_vnodeops.o
-
-AFS_OS_NFSOBJS = \
- osi_vfsops_nfs.o
-
-AFS_OS_NONFSOBJS = \
- osi_vfsops.o
-
-
-# System specific build commands and flags
-DBUG=-g
-
-<sgi_62>
-MPS=MP SP
-<sgi_63>
-MPS=SP
-<sgi_64>
-MPS=MP
-
-<sgi_61>
-# Turning off warnings regarding constant conditionals and not prototyped.
-KDEFS=-D_K64U64 -D_KERNEL -DSTATIC=static -D_PAGESZ=16384 -D_MIPS3_ADDRSPACE \
- -DTFP -non_shared -elf -xansi -64 -mips4 -TENV:kernel \
- -TENV:misalignment=1 -OPT:space \
- -D${CPUBOARD} -D${MPSP} -D${CPUARCH} -DAFS_SGIMP_ENV ${NODYNOPT} \
- -jalr -woff 1209,1196,1496
-<sgi_62>
-# Turning off warnings regarding constant conditionals and not prototyped.
-KDEFS_64BIT= -64 -D_K64U64 -D_PAGESZ=16384 -TENV:kernel -OPT:space \
- -TENV:misalignment=1
-R4000_LDFLAGS = -mips3 -64
-R4000_KDEFS = -mips3 -DR4000_DADDIU_WAR -DFAST_LOCORE_TFAULT -DUSE_LGPAGES \
- -DR4000 -DEVEREST -DBADVA_WAR -DMP_R4000_BADVA_WAR \
- -DECC_RECOVER -DCLOCK_CTIME_IS_ABSOLUTE -D_SHAREII -D_HIBERNATORII \
- -DPIOMEMOPS -DULI ${KDEFS_64BIT}
-R8000_KDEFS = -mips4 -DTFP -DR8000 ${KDEFS_64BIT}
-R8000_LDFLAGS = -mips4 -64
-KDEFS= -I/usr/include -I/usr/include/sys -D_KERNEL -DSTATIC=static \
- -D_MIPS3_ADDRSPACE -non_shared -elf -xansi \
- ${CPU_KDEFS} \
- -D${CPUBOARD} -D${MPSP} -DAFS_SGIMP_ENV ${NODYNOPT} \
- -jalr -woff 1209,1196,1496
-R10000_KDEFS = -mips4 -DR10000 -DEXPRESS -DIP28 -DI2_64 -DFAST_LOCORE_FAULT \
- -DSCACHE_SET_ASSOC=2 -D_NO_UNCACHED_MEM_WAR -DMIPS4_ISA \
- -DR10000_SPECULATION_WAR \
- -OPT:quad_align_branch_targets=FALSE \
- -OPT:quad_align_with_memops=FALSE -OPT:unroll_times=0 \
- -DDEFAULTSEMAMETER=1 ${KDEFS_64BIT}
-R10000_LDFLAGS = -mips4 -64
-R4000_32_LDFLAGS = -mips2 -o32
-R4000_32_KDEFS = -mips2 -o32 -elf -DEXPRESS -D_K32U64 -xansi\
- -D_PAGESZ=4096 -D_KERNEL \
- -DSTATIC=static -DBADVA_WAR -DJUMP_WAR -DPROBE_WAR -D_MEM_PARITY_WAR \
- -D_TLB_LOOP_LIMIT -DTLBMOD_BADVADDR_WAR -D_VCE_AVOIDANCE \
- -D_R4600_CACHEOP_WAR -D_R4600_2_0_CACHEOP_WAR -D_IRIX5_MIPS3 \
- -D_IRIX5_MIPS4 -D_R5000_BADVADDR_WAR -D_R5000_JUMP_WAR -DMIPS4_ISA \
- -DR4000 -DR4000PC -DR4600 -DR4600SC -DTRITON -DTRITON_INDYSC \
- -Wc,-pic0 -fullwarn -non_shared -nostdinc -Wf,-XNp12000 \
- -woff 1685,515,608,658,799,803,835,852,1048,1233,1499,1501 \
- -DDEFAULTSEMAMETER=1
-<sgi_63>
-# Turning off warnings regarding constant conditionals and not prototyped.
-# NOTE: Only for R5000 at the moment.
-KDEFS= -I/usr/include -I/usr/include/sys -D_KERNEL -DSTATIC=static \
- -non_shared -elf -xansi \
- ${CPU_KDEFS} \
- -D${CPUBOARD} -D${MPSP} -DAFS_SGIMP_ENV ${NODYNOPT} \
- -jalr -woff 1209,1196,1496
-R5000_LDFLAGS = -mips2 -o32
-R5000_KDEFS = -DCRIME -DIP32 -DCRM -D_K32U64 -xansi -D_PAGESZ=4096 \
- -D_KERNEL -DSTATIC=static -DPROBE_WAR -D_VCE_AVOIDANCE -DTILE_DATA \
- -D_VCE_AVOIDANCE_DEBUG -D_R4600_CACHEOP_WAR -D_TLB_LOOP_LIMIT \
- -D_R4600_2_0_CACHEOP_WAR -DP0_WAR -D_IRIX5_MIPS4 -D_IRIX5_MIPS3 \
- -D_R5000_BADVADDR_WAR -DMIPS4_ISA -DSW_FAST_CACHE_SYNCH -DSWASH \
- -D_R5000_CVT_WAR=1 -D_MTEXT_VFS -DR4000 -DR4000PC -DR4600 \
- -DR4600SC -DTRITON -g -elf -mips2 -fullwarn -non_shared -nostdinc \
- -mips2 -o32 -woff 1685,515,608,658,799,803,852,1048,1233,1499,1501 \
- -Wf,-XNp12000 -DDEFAULTSEMAMETER=1
-R10000_LDFLAGS = -mips2 -o32
-R10000_KDEFS = -DCRIME -DIP32 -DCRM -D_K32U64 -xansi -D_K32U64 -D_PAGESZ=4096 \
- -D_KERNEL -DSTATIC=static -D_VCE_AVOIDANCE -DTILE_DATA \
- -DTLBMOD_BADVADDR_WAR -D_VCE_AVOIDANCE_DEBUG -D_TLB_LOOP_LIMIT \
- -DP0_WAR -D_IRIX5_MIPS4 -D_IRIX5_MIPS3 -D_R5000_BADVADDR_WAR \
- -DMIPS4_ISA -DSW_FAST_CACHE_SYNCH -DSWASH -DSCACHE_SET_ASSOC=2 \
- -D_R5000_CVT_WAR=1 -D_MTEXT_VFS -DR10000_SPECULATION_WAR \
- -DMH_R10000_SPECULATION_WAR -DSP -DIP32 -DR4000 -DR4000PC -DR4600 \
- -DR4600SC -DTRITON -DR10000 -D_NO_R4000 -g -elf -mips2 -fullwarn \
- -non_shared -nostdinc -mips2 -o32 \
- -woff 1685,515,608,658,799,803,852,1048,1233,1499,1501 \
- -Wf,-XNp12000 -DDEFAULTSEMAMETER=1
-<sgi_64>
-KDEFS= -I/usr/include -I/usr/include/sys -D_KERNEL -DSTATIC=static \
- -non_shared -elf -xansi \
- ${CPU_KDEFS} \
- -D${CPUBOARD} -D${MPSP} -DAFS_SGIMP_ENV ${NODYNOPT} \
- -jalr -woff 1209,1196,1496
-R10000_LDFLAGS = -mips4 -64
-R10000_KDEFS = -DKONA -DIP27 -DIP27 -DDISCONTIG_PHYSMEM -DNUMA_BASE -DNUMA_PM \
- -DNUMA_TBORROW -DNUMA_MIGR_CONTROL -DNUMA_REPLICATION \
- -DNUMA_REPL_CONTROL -DNUMA_SCHED -DLARGE_CPU_COUNT -DHUB2_NACK_WAR \
- -DBRIDGE_ERROR_INTR_WAR -DMAPPED_KERNEL -DBHV_SYNCH -DHUB_ERR_STS_WAR \
- -DHUB_MIGR_WAR -DNCR16C550 -DTL16PIR552 -DSN0_INTR_BROKEN -DFRU \
- -DFORCE_ERRORS -DSN0_USE_BTE -DBTE_BZERO_WAR -DREV1_BRIDGE_SUPPORTED \
- -DHUB_II_IFDR_WAR -xansi -DDISCONTIG_PHYSMEM -DNUMA_BASE -DNUMA_PM \
- -DNUMA_TBORROW -DNUMA_MIGR_CONTROL -DNUMA_REPLICATION \
- -DNUMA_REPL_CONTROL -DNUMA_SCHED -DLARGE_CPU_COUNT -DHUB2_NACK_WAR \
- -DBRIDGE_ERROR_INTR_WAR -DMAPPED_KERNEL -DBHV_SYNCH \
- -DHUB_ERR_STS_WAR -DHUB_MIGR_WAR -DNCR16C550 -DTL16PIR552 \
- -DSN0_INTR_BROKEN -DFRU -DFORCE_ERRORS -DSN0_USE_BTE -DBTE_BZERO_WAR \
- -DREV1_BRIDGE_SUPPORTED -DHUB_II_IFDR_WAR -D_PAGESZ=16384 -D_KERNEL \
- -DSTATIC=static -D_MIPS3_ADDRSPACE -DSN0 -DMIPS4_ISA \
- -DCLOCK_CTIME_IS_ABSOLUTE -DFAST_LOCORE_TFAULT -DULI -DCKPT \
- -DIDLESTACK_FASTINT -DR10K_LLSC_WAR -DPTE_64BIT -DRMAPS \
- -DPAGE_MIGRATION -DSW_FAST_CACHE_SYNCH -DINTR_KTHREADS \
- -DMRSP_AS_MR -D_MP_NETLOCKS -DMP_STREAMS=1 -DIP27 -DR10000 \
- -g -TENV:kernel -TENV:misalignment=1 -OPT:space \
- -OPT:quad_align_branch_targets=FALSE \
- -OPT:quad_align_with_memops=FALSE \
- -OPT:unroll_times=0 -OPT:Olimit=5000 -TARG:processor=r10000 \
- -FE:pointer_readonly -use_readonly_const -fullwarn \
- -non_shared -mips4 -64 \
- -woff 1685,515,608,658,799,803,852,1048,1233,1499,1501 \
- -DDEFAULTSEMAMETER=1
-<sgi_65>
-# For Irix 6.5 we are building based on cpu board number rather than CPU number
-# While -G 8 is recommended for space, we know that the table overflows when
-# both AFS and DFS are compiled into the kernel. For Irix 6.5, define MP
-# so we pick up locks.
-KDEFS= -I/usr/include -I/usr/include/sys -DSTATIC=static -DAFS_SGIMP_ENV \
- -DMP -D_KERNEL -DMP_STREAMS -D_MP_NETLOCKS -DMRSP_AS_MR \
- -fullwarn -non_shared -G 0 \
- -TENV:kernel -OPT:space -OPT:Olimit=0 -CG:unique_exit=on \
- -TENV:X=1 -OPT:IEEE_arithmetic=1 -OPT:roundoff=0 \
- -OPT:wrap_around_unsafe_opt=off \
- ${CPU_KDEFS} -woff 1209,1196,1496
-# 32 bit specific flags:
-KDEFS_32 = -n32 -D_PAGESZ=4096 -mips3
-# 64 bit specific flags:
-KDEFS_64 = -64 -D_PAGESZ=16384 -D_MIPS3_ADDRSPACE -mips4
-
-# CPU board specific flags:
-IP19_KDEFS = -DIP19 -DEVEREST -DMP -DR4000 \
- -mips3 -D_PAGESZ=16384 -D_MIPS3_ADDRSPACE -64
-IP20_KDEFS = -DIP20 -DR4000 -DJUMP_WAR -DBADVA_WAR -DTRITON -DUSE_PCI_PIO \
- $(KDEFS_32)
-IP21_KDEFS = -DIP21 -DEVEREST -DMP -DTFP -TARG:processor=r8000 $(KDEFS_64)
-IP25_KDEFS = -DIP25 -DEVEREST -DMP -DR10000 -TARG:processor=r10000 $(KDEFS_64)
-IP26_KDEFS = -DIP26 -DTFP -TARG:sync=off -TARG:processor=r8000 $(KDEFS_64)
-IP27_KDEFS = -DIP27 -DR10000 -DMP -DSN -DSN0 -DMAPPED_KERNEL \
- -DLARGE_CPU_COUNT \
- -DPTE_64BIT -DULI -DCKPT -DMIPS4_ISA -DR10K_LLSC_WAR -DNUMA_BASE \
- -DNUMA_PM -DNUMA_TBORROW -DNUMA_MIGR_CONTROL -DNUMA_REPLICATION \
- -DNUMA_REPL_CONTROL -DNUMA_SCHED -DCELL_PREPARE -DBHV_PREPARE \
- -TARG:processor=r10000 $(KDEFS_64)
-IP28_KDEFS = -DIP28 -DR10000 -DSCACHE_SET_ASSOC=2 -D_NO_UNCACHED_MEM_WAR \
- -DR10000_SPECULATION_WAR -TARG:processor=r10000 \
- -TARG:t5_no_spec_stores $(KDEFS_64)
-IP30_KDEFS = -DIP30 -DR10000 -DMP -DCELL_PREPARE -DBHV_PREPARE \
- -TARG:processor=r10000 $(KDEFS_64)
-# Loader flags
-LDFLAGS_64 = -64
-LDFLAGS_32 = -n32
-
-
-<all>
-DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
-OPTF=${OPT}
-OPTF2=${OPT2}
-CFLAGS=-I. -I.. ${FSINCLUDES} $(DEFINES) -G 0 $(KDEFS) $(KOPTS) ${DBUG}
-
-# This tells Makefile.common to use it's single directory build target.
-#COMPDIRS = single_compdir
-# This is the irix multiple directory target.
-COMPDIRS = irix_compdirs
-
-include Makefile.common
-
-# Make all the directories, even if only building one.
-<sgi_62>
-PROCESSORS=R4000 R4000_32 R8000 R10000
-<sgi_63>
-PROCESSORS = R5000 R1000
-<sgi_64>
-PROCESSORS = R10000
-<sgi_65>
-PROCESSORS = IP19 IP20 IP21 IP25 IP26 IP27 IP28 IP30
-<all>
-
-KOBJ = STATIC MODLOAD
-
-
-setup:
- -rm -f h net netinet rpc ufs nfs machine sys sgiefs
- -ln -s /usr/include/sys h
- -ln -s /usr/include/net /usr/include/netinet .
- -ln -s /usr/include/rpc /usr/include/sys .
- -ln -s /usr/include/sys/fs .
- -mkdir ${DESTDIR}root.client/bin
- -mkdir ${DESTDIR}root.client/usr/vice/etc/sgiload
-<all -sgi_65>
- BUILDPROCS="${PROCESSORS}" ; \
- BUILDMPS="${MPS}" ; \
- if [ "${CPUARCH}" != "" ] ; then \
- BUILDPROCS=${CPUARCH}; \
- BUILDMPS=${MPSP}; \
- fi ; \
- for p in $${BUILDPROCS} ; do \
- for n in $${BUILDMPS} ; do \
- for t in ${KOBJ} ; do \
- dir=$$t.$$n.$$p ; \
- echo Making directory: $$dir; \
- mkdir -p $$dir; \
- rm -f $$dir/Makefile.common $$dir/Makefile; \
- ln -s ../Makefile.common $$dir/Makefile.common; \
- ln -s ../Makefile $$dir/Makefile; \
- done; \
- done; \
- done
-<sgi_65>
- BUILDPROCS="${PROCESSORS}" ; \
- if [ "${IPNO}" != "" ] ; then \
- BUILDPROCS="${IPNO}"; \
- fi ; \
- for p in $${BUILDPROCS} ; do \
- for t in ${KOBJ} ; do \
- dir=$$t.$$p ; \
- echo Making directory: $$dir; \
- mkdir -p $$dir; \
- rm -f $$dir/Makefile.common $$dir/Makefile; \
- ln -s ../Makefile.common $$dir/Makefile.common; \
- ln -s ../Makefile $$dir/Makefile; \
- done; \
- done
-<all>
- echo Setup compelete.
-
-
-# Compile static and modload versions of the clients.
-<all -sgi_65>
-${COMPDIRS}:
- BUILDPROCS="${PROCESSORS}" ; \
- if [ "${CPUARCH}" != "" ] ; then \
- BUILDPROCS=${CPUARCH}; \
- BUILDMPS=${MPSP}; \
- fi ; \
- for p in $${BUILDPROCS} ; do \
- for n in $${BUILDMPS} ; do \
- for t in ${KOBJ} ; do \
- dir=$$t.$$n.$$p ; \
- echo Building directory: $$dir; \
- case $$p in \
- R4000) \
- CPUBOARD=IP19; \
- CPU_KDEFS="${R4000_KDEFS}"; \
- LDFLAGS="${R4000_LDFLAGS}";; \
- R4000_32) \
- CPUBOARD=IP22; \
- CPU_KDEFS="${R4000_32_KDEFS}"; \
- LDFLAGS="${R4000_32_LDFLAGS}";; \
- R5000) \
- CPUBOARD=IP32; \
- CPU_KDEFS="${R5000_KDEFS}"; \
- LDFLAGS="${R5000_LDFLAGS}";; \
- R8000) \
- CPUBOARD=IP26; \
- CPU_KDEFS="${R8000_KDEFS}"; \
- LDFLAGS="${R8000_LDFLAGS}";; \
- R10000) \
-<sgi_62>
- CPUBOARD=IP28; \
-<sgi_63>
- CPUBOARD=IP32; \
-<sgi_64>
- CPUBOARD=IP27; \
-<sgi_62 sgi_63 sgi_64>
- CPU_KDEFS="${R10000_KDEFS}"; \
- LDFLAGS="${R10000_LDFLAGS}";; \
- *) echo "Unknown CPUARCH <$$p>" ; exit 1 ;; \
- esac ;\
- export CPUBOARD ;\
- export CPU_KDEFS ;\
- export LDFLAGS; \
- cd $$dir ; \
- $(MAKE) CPUARCH=$$p MPSP=$$n DESTDIR=../${DESTDIR} $$t.libafs || exit $$?;\
- cd ../ ; \
- done; \
- done; \
- done
-<sgi_65>
-${COMPDIRS}:
- BUILDPROCS="${PROCESSORS}" ; \
- if [ "${IPNO}" != "" ] ; then \
- BUILDPROCS="${IPNO}"; \
- fi ; \
- for p in $${BUILDPROCS} ; do \
- for t in ${KOBJ} ; do \
- dir=$$t.$$p ; \
- echo Building directory: $$dir; \
- LDFLAGS="${LDFLAGS_64}"; \
- case $$p in \
- IP19) CPU_KDEFS="${IP19_KDEFS}";; \
- IP20) CPU_KDEFS="${IP20_KDEFS}"; \
- LDFLAGS="${LDFLAGS_32}";; \
- IP21) CPU_KDEFS="${IP21_KDEFS}";; \
- IP25) CPU_KDEFS="${IP25_KDEFS}";; \
- IP26) CPU_KDEFS="${IP26_KDEFS}";; \
- IP27) CPU_KDEFS="${IP27_KDEFS}";; \
- IP28) CPU_KDEFS="${IP28_KDEFS}";; \
- IP30) CPU_KDEFS="${IP30_KDEFS}";; \
- *) echo Unknown IP number $$p ; exit 1 ;; \
- esac ;\
- case $$t in \
- MODLOAD) CPU_KDEFS="$${CPU_KDEFS} -TARG:force_jalr";; \
- esac ;\
- case $$t in \
- STATIC) echo X $${CPU_KDEFS} | sed 's/^X//' > $$dir/CPU_KDEFS;; \
- esac ;\
- export CPU_KDEFS ;\
- export LDFLAGS ;\
- cd $$dir ; \
- $(MAKE) IPNO=$$p DESTDIR=${DESTDIR} $$t.libafs || exit $$?; \
- cd ../ ; \
- done; \
- done
-<all>
-
-
-LIBAFSNONFSA = libafs.nonfs.a
-COPYFILES = copyfiles
-LINKFILES = linkfiles
-
-STATICCLIENTDIR = ${DESTDIR}root.client/bin
-MODLOADCLIENTDIR = ${DESTDIR}root.client/usr/vice/etc/sgiload
-
-# Make the NFS and no-NFS clients for this directory.
-# STATIC.libafs: ${LIBAFSNONFSA} ${COPYFILES} ${LINKFILES}
-STATIC.libafs: ${LIBAFSNONFSA} ${COPYFILES} ${LINKFILES}
-<all -sgi_65>
- ${CP} ${LIBAFSNONFSA} \
- ${STATICCLIENTDIR}/libafs.${MPSP}.${CPUARCH}.nonfs.a
-<sgi_65>
- ${CP} ${LIBAFSNONFSA} \
- ${STATICCLIENTDIR}/libafs.${IPNO}.nonfs.a
-<all>
-
-${LIBAFSNONFSA}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(AR) cru $@ $?
-
-LIBAFSNONFSO = libaf.nonfs.o
-
-# MODLOAD.libafs: ${LIBAFSNONFSO} ${COPYFILES} ${LINKFILES}
-MODLOAD.libafs: ${LIBAFSNONFSO} ${COPYFILES} ${LINKFILES}
-<all -sgi_65>
- ${CP} ${LIBAFSNONFSO} \
- ${MODLOADCLIENTDIR}/libafs.${MPSP}.${CPUARCH}.nonfs.o
-<sgi_65>
- ${CP} ${LIBAFSNONFSO} \
- ${MODLOADCLIENTDIR}/libafs.${IPNO}.nonfs.o
-<all>
-
-${LIBAFSNONFSO}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(LD) ${LDFLAGS} -elf -r -d -G 0 -o ${LIBAFSNONFSO} \
- $(AFSAOBJS) $(AFSNONFSOBJS)
-
-${COPYFILES}:
- ${CP} ../sgi_system ${STATICCLIENTDIR}/afs.sm
- chmod 644 ${STATICCLIENTDIR}/afs.sm
- ${CP} ../sgi_master ${STATICCLIENTDIR}/afs
- chmod 644 ${STATICCLIENTDIR}/afs
-
-# Create symlinks to clients we don't need to build.
-# If this changes, also change the kdump symlinks.
-${LINKFILES}:
-<sgi_65>
- ln -fs libafs.IP20.a ${DESTDIR}root.client/bin/libafs.IP22.a
- ln -fs libafs.IP20.a ${DESTDIR}root.client/bin/libafs.IP32.a
- ln -fs libafs.IP20.nonfs.a ${DESTDIR}root.client/bin/libafs.IP22.nonfs.a
- ln -fs libafs.IP20.nonfs.a ${DESTDIR}root.client/bin/libafs.IP32.nonfs.a
- ln -fs libafs.IP20.o ${DESTDIR}root.client/usr/vice/etc/sgiload/libafs.IP22.o
- ln -fs libafs.IP20.o ${DESTDIR}root.client/usr/vice/etc/sgiload/libafs.IP32.o
- ln -fs libafs.IP20.nonfs.o ${DESTDIR}root.client/usr/vice/etc/sgiload/libafs.IP22.nonfs.o
- ln -fs libafs.IP20.nonfs.o ${DESTDIR}root.client/usr/vice/etc/sgiload/libafs.IP32.nonfs.o
-
-
-
-
-# Object build rules:
-# Common objects
-afs_base64.o: $(AFS)/afs_base64.c
- $(CRULE1);
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1);
-osi_idbg.o: $(AFS)/osi_idbg.c
- $(CRULE1);
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1);
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1);
-osi_misc.o: $(AFS)/osi_misc.c
- $(CRULE1);
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1);
-osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -o osi_vfsops_nfs.o;
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -DAFS_NONFSTRANS;
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1);
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1);
-
-
+++ /dev/null
-# 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
-
-# MakefileProto for Linux i386 systems
-#
-
-DESTDIR=DEST/
-include ../config/Makefile.${SYS_NAME}
-
-# OS specific object files:
-AFS_OS_OBJS = \
- osi_alloc.o \
- osi_cred.o \
- osi_groups.o \
- osi_inode.o \
- osi_file.o \
- osi_misc.o \
- osi_module.o \
- osi_sleep.o \
- osi_vfsops.o \
- osi_vm.o \
- osi_vnodeops.o \
- xdr.o \
- xdr_array.o
-
-AFS_OS_NFSOBJS =
-
-AFS_OS_NONFSOBJS =
-
-
-# System specific build commands and flags
-CC = gcc
-LD = ld
-# -Wall
-<i386_linux22 i386_linux24>
-CCFLAGS = -O2 -fomit-frame-pointer \
- -fno-strength-reduce -pipe -march=i486 -malign-loops=2 -malign-jumps=2 \
- -malign-functions=2
-DEFINES = -D__KERNEL__ -DCPU=586 -DKERNEL -D_KERNEL -DMODULE ${SMP_DEF} ${KDEFINES}
-<alpha_linux_22 alpha_linux_24>
-CCFLAGS = -O2 -fomit-frame-pointer -fno-strength-reduce -pipe -mno-fp-regs -ffixed-8
-DEFINES = -D__KERNEL__ -DKERNEL -D_KERNEL -DMODULE ${SMP_DEF}
-<s390_linux22 s390_linux24>
-CCFLAGS = -O -fomit-frame-pointer -fno-strength-reduce \
- -fno-strict-aliasing -fsigned-char
-DEFINES = -D__KERNEL__ -D__s390__ -DKERNEL -D_KERNEL -DMODULE ${SMP_DEF}
-
-<sparc_linux22 sparc_linux24>
-LD = ld -m elf32_sparc
-CCFLAGS = -O2 -fomit-frame-pointer \
- -fno-strength-reduce -pipe -mcpu=v8 -mno-fpu -fcall-used-g5 -fcall-used-g7
-DEFINES = -D__KERNEL__ -DCPU=sparc -DKERNEL -D_KERNEL -DMODULE ${SMP_DEF}
-<sparc64_linux22 sparc64_linux24>
-CC = sparc64-linux-gcc
-LD = ld -m elf64_sparc
-CCFLAGS = -O2 -fomit-frame-pointer \
- -fno-strength-reduce -pipe -mcpu=ultrasparc -m64 -mno-fpu -mcmodel=medlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare
-DEFINES = -D__KERNEL__ -DCPU=sparc64 -DKERNEL -D_KERNEL -DMODULE ${SMP_DEF}
-<ppc_linux22 ppc_linux24>
-CCFLAGS = -O2 -fomit-frame-pointer -fno-strength-reduce \
- -fno-strict-aliasing -fsigned-char -msoft-float -pipe \
- -fno-builtin -ffixed-r2
-DEFINES = -D__KERNEL__ -D__powerpc__ -DKERNEL -D_KERNEL -DMODULE ${SMP_DEF}
-<all>
-INCLUDES = -I. -I../
-
-CFLAGS = $(CCFLAGS) $(DEFINES) $(INCLUDES)
-
-# Name of directory to hold object files and libraries.
-KOBJ = MODLOAD
-MPS = MP SP
-
-# To pick up anything we might have missed
-include Makefile.extradefs
-
-# COMPDIRS is called in Makefile.common to do the actual builds.
-COMPDIRS=linux_compdirs
-
-
-include Makefile.common
-
-setup:
- -rm -f h net netinet sys rpc
- -ln -s rx rpc
- for v in notused; do \
- for m in ${MPS} ; do \
- KDIR=$(KOBJ)-$$m; \
- mkdir -p $${KDIR}; \
- ln -fs ../Makefile $${KDIR}/Makefile ; \
- ln -fs ../Makefile.common $${KDIR}/Makefile.common; \
- sh ./redhat.sh ${LINUX_SRCDIR} $${KDIR}/Makefile.extradefs; \
- done \
- done
-
-# Compile SP and MP clients as requested
-
-LINUX_INCDIR=include/linux
-
-${COMPDIRS}:
- for v in notused ; do \
- IDIR=${LINUX_SRCDIR}/${LINUX_INCDIR}; \
- rm -f h; \
- ln -s $${IDIR} h; \
- rm -f linux; \
- ln -s $${IDIR} linux; \
- rm -f asm-generic; \
- ln -s ${LINUX_SRCDIR}/include/asm-generic asm-generic; \
- rm -f net; \
- ln -s $${IDIR} net; \
- rm -f netinet; \
- ln -s $${IDIR} netinet; \
- rm -f sys; \
- ln -s $${IDIR} sys; \
- rm -f asm; \
-<alpha_linux_22 alpha_linux_24>
- ln -s ${LINUX_SRCDIR}/include/asm-alpha asm ; \
-<i386_linux22 i386_linux24>
- ln -s ${LINUX_SRCDIR}/include/asm-i386 asm ; \
-<s390_linux22 s390_linux24>
- ln -s ${LINUX_SRCDIR}/include/asm-s390 asm ; \
-<ppc_linux22 ppc_linux24>
- ln -s ${LINUX_SRCDIR}/include/asm-ppc asm ; \
-<sparc_linux22 sparc_linux24>
- ln -s ${LINUX_SRCDIR}/include/asm-sparc asm ; \
-<sparc64_linux22 sparc64_linux24>
- ln -s ${LINUX_SRCDIR}/include/asm-sparc64 asm ; \
-<all>
- for m in ${MPS} ; do \
- KDIR=${KOBJ}-$$m ; \
- echo Building in directory: $${KDIR} ; \
- if [ "$$m" = "MP" ] ; then \
- SMP_DEF="-DAFS_SMP -D__BOOT_KERNEL_SMP=1 -D__BOOT_KERNEL_UP=0 -D__SMP__" ; \
- TARG="libafs.mp" ; \
- else \
- SMP_DEF="-D__BOOT_KERNEL_SMP=0 -D__BOOT_KERNEL_UP=1 -U__SMP__" ; \
- TARG=libafs ; \
- fi ; \
- cd $${KDIR} ; \
- $(MAKE) DESTDIR=${DESTDIR} SMP_DEF="$${SMP_DEF}" $${TARG} CLIENT= || exit $$?; \
- cd ../ ; \
- done \
- done
-
-
-# Below this line are targets when in the COMMON directory:
-# For Linux there is no kernel NFS server.
-LIBAFS = openafs${CLIENT}.o
-LIBAFS_MP = openafs${CLIENT}.mp.o
-
-DEST_LIBAFS = ${DESTDIR}/root.client/usr/vice/etc/modload/${LIBAFS}
-DEST_LIBAFS_MP = ${DESTDIR}/root.client/usr/vice/etc/modload/${LIBAFS_MP}
-
-
-libafs: $(DEST_LIBAFS)
- echo SP Build Complete
-
-libafs.mp: $(DEST_LIBAFS_MP)
- echo MP Build Complete
-
-$(DEST_LIBAFS): $(LIBAFS)
- ${INSTALL} $? $@
-
-$(DEST_LIBAFS_MP): $(LIBAFS_MP)
- ${INSTALL} $? $@
-
-${LIBAFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(RM) -f $@
- $(LD) -r -o $@ $(AFSAOBJS) $(AFSNONFSOBJS)
-
-${LIBAFS_MP}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(RM) -f $@
- $(LD) -r -o $@ $(AFSAOBJS) $(AFSNONFSOBJS)
-
-
-# Linux specific objects
-osi_alloc.o: $(AFS)/osi_alloc.c
- $(CRULE1);
-osi_cred.o: $(AFS)/osi_cred.c
- $(CRULE1);
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1);
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1);
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1);
-osi_misc.o: $(AFS)/osi_misc.c
- $(CRULE1);
-osi_module.o: $(AFS)/osi_module.c
- $(CRULE1);
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1);
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1);
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1);
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1);
-xdr.o: $(RX)/xdr.c
- $(CRULE1);
-xdr_int64.o: $(RX)/xdr_int64.c
- $(CRULE1);
-xdr_array.o: $(RX)/xdr_array.c
- $(CRULE1);
+++ /dev/null
-# 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
-
-# MakefileProto for Solaris systems
-#
-
-include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
-
-
-# OS specific object files:
-AFS_OS_OBJS = \
- osi_groups.o \
- osi_inode.o \
- osi_file.o \
- osi_sleep.o \
- osi_vm.o \
- osi_vnodeops.o
-
-AFS_OS_NFSOBJS = \
- osi_vfsops_nfs.o
-
-AFS_OS_NONFSOBJS = \
- osi_vfsops.o
-
-# System specific build commands and flags
-DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
-#These are redundant
-#LD = /usr/ccs/bin/ld
-#LORDER = /usr/ccs/bin/lorder
-#CC = /opt/SUNWspro/bin/cc
-KDEFS= -Dsun4c -DSUN4C_60 -DNFSCLIENT -DSYSACCT -DOLDSCSI -DVDDRV -D_KERNEL \
- -DSYSV -dn ${ARCH_DEFS}
-
-<sun4x_57 sun4x_58>
-KDEFS_32 =
-KDEFS_64 = -xarch=v9
-
-<all>
-CFLAGS=-I. -I.. ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
-
-# Name of directory to hold object files and libraries.
-<all -sun4x_57 -sun4x_58>
-KOBJ = MODLOAD
-<sun4x_57 sun4x_58>
-KOBJ = MODLOAD32 MODLOAD64
-
-
-# This tells Makefile.common to use it's single directory build target.
-<all -sun4x_57 -sun4x_58>
-COMPDIRS = single_compdir
-
-<sun4x_57 sun4x_58>
-COMPDIRS = solaris_compdirs
-
-<all>
-include Makefile.common
-
-
-setup:
- -rm -f h net netinet rpc ufs nfs machine sys inet
- -ln -s /usr/include/sys h
- -ln -s /usr/include/net net
- -ln -s /usr/include/netinet netinet
- -ln -s /usr/include/rpc rpc
- -ln -s /usr/include/sys sys
- -ln -s /usr/include/nfs nfs
- -ln -s /usr/include/inet inet
- -ln -s /usr/include/ufs ufs
- for t in ${KOBJ} ; do \
- echo Making directory: $$t; \
- mkdir -p $$t; \
- rm -f $$t/Makefile.common $$t/Makefile ; \
- ln -s ../Makefile.common $$t/Makefile.common ; \
- ln -s ../Makefile $$t/Makefile ;\
- done
-
-
-## 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>
-${COMPDIRS}:
- for t in ${KOBJ} ; do \
- echo Building directory: $$t ; \
- case $$t in \
- MODLOAD32) \
- ARCH_DEFS="${KDEFS_32}" ; \
- BITS="" ;; \
- MODLOAD64) \
- ARCH_DEFS="${KDEFS_64}" ; \
- BITS="64" ;; \
- esac ; \
- export ARCH_DEFS ; \
- export BITS ; \
- cd $$t ; \
- $(MAKE) DESTDIR=${DESTDIR} libafs ; \
- cd ../ ;\
- done
-
-<all>
-
-# Below this line are targets when in the COMMON directory:
-LIBAFS = libafs.o
-LIBAFSNONFS = libafs.nonfs.o
-
-<all -sun4x_57 -sun4x_58>
-DEST_LIBAFS = ${DESTDIR}/root.client/usr/vice/etc/modload/${LIBAFS}
-DEST_LIBAFSNONFS = ${DESTDIR}/root.client/usr/vice/etc/modload/${LIBAFSNONFS}
-
-# Without this line, gmake tries to build libafs.o
-.PHONY: libafs
-
-# libafs: $(DEST_LIBAFS) $(DEST_LIBAFSNONFS)
-libafs: $(DEST_LIBAFSNONFS)
-
-
-$(DEST_LIBAFS): $(LIBAFS)
- ${INSTALL} -f $? $@
-
-$(DEST_LIBAFSNONFS): $(LIBAFSNONFS)
- ${INSTALL} -f $? $@
-
-<all>
-${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
- $(RM) -f $@
- $(LD) -r -o $@ $(AFSAOBJS) ${AFSNFSOBJS}
-
-${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
- $(RM) -f $@
- $(LD) -r -o $@ $(AFSAOBJS) ${AFSNONFSOBJS}
-
-<sun4x_57 sun4x_58>
-MODLOADDIR = ${DESTDIR}root.client/usr/vice/etc/modload
-
-libafs: ${LIBAFSNONFS}
- ${INSTALL} -f ${LIBAFSNONFS} ${MODLOADDIR}/libafs${BITS}.nonfs.o
-
-<all>
-
-# Solaris specific objects
-osi_groups.o: $(AFS)/osi_groups.c
- $(CRULE1);
-osi_inode.o: $(AFS)/osi_inode.c
- $(CRULE1);
-osi_file.o: $(AFS)/osi_file.c
- $(CRULE1);
-osi_sleep.o: $(AFS)/osi_sleep.c
- $(CRULE1);
-osi_vfsops_nfs.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -o osi_vfsops_nfs.o;
-osi_vfsops.o: $(AFS)/osi_vfsops.c
- $(CRULE1) -DAFS_NONFSTRANS;
-osi_vm.o: $(AFS)/osi_vm.c
- $(CRULE1);
-osi_vnodeops.o: $(AFS)/osi_vnodeops.c
- $(CRULE1);
/* Minimum stack size */
int lwp_MinStackSize=0;
-static lwp_remove(p, q)
+static int lwp_remove(p, q)
register PROCESS p;
register struct QUEUE *q;
{
if (q->head == p) q -> head = p -> next;
q->count--;
p -> next = p -> prev = NULL;
+ return 0;
}
-static insert(p, q)
+static int insert(p, q)
register PROCESS p;
register struct QUEUE *q;
{
p -> next = q -> head;
}
q->count++;
+ return 0;
}
-static move(p, from, to)
+static int move(p, from, to)
PROCESS p;
struct QUEUE *from, *to;
{
lwp_remove(p, from);
insert(p, to);
-
+ return 0;
}
/* Iterator macro */
}
#ifdef DEBUG
-Dump_Processes()
+int Dump_Processes()
{
if (lwp_init) {
register int i;
for_all_elts(x, blocked, { Dump_One_Process(x); })
} else
printf("***LWP: LWP support not initialized\n");
+ return 0;
}
#endif
Exit_LWP();
else
savecontext(Exit_LWP, &tempcontext, LWPANCHOR.outersp);
+ return;
}
static int Create_Process_Part2 () /* creates a context for the new process */
savecontext(Dispatcher, &temp->context, NULL);
(*temp->ep)(temp->parm);
LWP_DestroyProcess(temp);
+ return 0;
}
-static Delete_PCB(pid) /* remove a PCB from the process list */
+static int Delete_PCB(pid) /* remove a PCB from the process list */
register PROCESS pid;
{
Debug(4, ("Entered Delete_PCB"))
? &blocked
: &runnable[pid->priority]));
LWPANCHOR.processcnt--;
+ return 0;
}
#ifdef DEBUG
-static Dump_One_Process(pid)
+static int Dump_One_Process(pid)
PROCESS pid;
{
int i;
}
if (pid->wakevent>0)
printf("***LWP: Number of last wakeup event: %d\n", pid->wakevent);
+ return 0;
}
#endif
-static purge_dead_pcbs()
+static int purge_dead_pcbs()
{
for_all_elts(cur, blocked, { if (cur->status == DESTROYED) Dispose_of_Dead_PCB(cur); })
+ return 0;
}
int LWP_TraceProcesses = 0;
-static Dispatcher() /* Lightweight process dispatcher */
+static int Dispatcher() /* Lightweight process dispatcher */
{
register int i;
#ifdef DEBUG
*/
}
-static Exit_LWP()
+static int Exit_LWP()
{
abort();
}
#else
*(afs_int32 *)stackptr = STACKMAGIC;
#endif
+ return 0;
}
static int Stack_Used(stackptr, stacksize)
/* External function declarations. */
#ifdef AFS_NT40_ENV
+#ifndef _MFC_VER /*skip if doing Microsoft foundation class*/
#include <winsock2.h>
+#endif
#elif defined(AFS_LINUX20_ENV)
#include <unistd.h>
#include <time.h>
extern int IOMGR_Cancel(PROCESS pid);
extern int IOMGR_Initialize(void);
extern void IOMGR_FreeFDSet(fd_set * fds);
-static void SignalTimeout(int code, struct timeval *timeout);
+extern int IOMGR_SoftSig( int (*aproc)(), char *arock);
+
/* fasttime.c */
extern int FT_GetTimeOfDay(struct timeval *tv, struct timezone *tz);
extern int LWP_INTERNALSIGNAL(void *event, int yield);
extern int LWP_QWait(void);
extern int LWP_QSignal(PROCESS pid);
+#else
+extern int LWP_CurrentProcess();
+extern int LWP_INTERNALSIGNAL();
+extern int LWP_InitializeProcessSupport();
+extern int LWP_CreateProcess();
+extern int LWP_DestroyProcess();
+extern int LWP_WaitProcess();
+extern PROCESS LWP_ThreadId();
#endif
/* max time we are allowed to spend in a select call on NT */
#define IOMGR_MAXWAITTIME 5 /* seconds */
+/* max time we spend on a select in a Win95 DOS box */
+#define IOMGR_WIN95WAITTIME 5000 /* microseconds */
+
#endif /* __LWP_INCLUDE_ */
#endif /* !KERNEL && !_KMEMUSER */
\*******************************************************************/
#include <afs/param.h>
-#if defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#if defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV) || defined(AFS_DJGPP_ENV)
int PRE_Block = 0;
#else
#include <sys/time.h>
#include <stdio.h>
#include <assert.h>
#include "lwp.h"
+#include <afsconfig.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
#if defined(AFS_OSF_ENV) || defined(AFS_S390_LINUX20_ENV)
extern int PRE_Block; /* used in lwp.c and process.s */
static char (*EP)();
static int rc;
static jmp_buf_type *jmpBuffer;
-static int code;
-savecontext(ep, savearea, sp)
+afs_int32 savecontext(ep, savearea, sp)
char (*ep)();
struct lwp_context *savearea;
char* sp;
perror("Error in setjmp2 : restoring\n");
exit(3);
}
+ return 0;
}
-returnto(savearea)
+afs_int32 returnto(savearea)
struct lwp_context *savearea;
{
#if defined(DEBUG)
#endif
PRE_Block = 0;
longjmp(savearea->setjmp_buffer, 2);
+ return 0;
}
#ifdef KERNEL
#include "../afs/param.h"
+#include <afsconfig.h>
#include "../afs/sysincludes.h"
#include "../afs/afsincludes.h"
#ifndef UKERNEL
# include "../afsint/rxgen_consts.h"
#else /* KERNEL */
# include <afs/param.h>
+# include <afsconfig.h>
# include <sys/types.h>
# include <errno.h>
#ifdef AFS_NT40_ENV
# include <netinet/in.h>
# include <sys/time.h>
#endif
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#else
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#endif
# include "rx.h"
# include "rx_user.h"
# include "rx_clock.h"
# include <afs/rxgen_consts.h>
#endif /* KERNEL */
-#ifdef RXDEBUG
-extern afs_uint32 LWP_ThreadId();
-#endif /* RXDEBUG */
-
int (*registerProgram)() = 0;
int (*swapNameProgram)() = 0;
#define INIT_PTHREAD_LOCKS
#endif
-extern void rxi_DeleteCachedConnections(void);
-
/* Variables for handling the minProcs implementation. availProcs gives the
* number of threads available in the pool at this moment (not counting dudes
* to manipulate the queue.
*/
-extern void rxi_Delay(int);
-
-static int rxi_ServerThreadSelectingCall;
-
#ifdef RX_ENABLE_LOCKS
+static int rxi_ServerThreadSelectingCall;
static afs_kmutex_t rx_rpc_stats;
void rxi_StartUnlocked();
#endif
#define CLEAR_CALL_QUEUE_LOCK(C)
#endif /* RX_ENABLE_LOCKS */
static void rxi_DestroyConnectionNoLock();
-void rxi_DestroyConnection();
-void rxi_CleanupConnection();
struct rx_serverQueueEntry *rx_waitForPacket = 0;
/* ------------Exported Interfaces------------- */
char *htable, *ptable;
int tmp_status;
+#if defined(AFS_DJGPP_ENV) && !defined(DEBUG)
+ __djgpp_set_quiet_socket(1);
+#endif
+
SPLVAR;
INIT_PTHREAD_LOCKS
}
#else /* RX_ENABLE_LOCKS */
-static QuotaOK(aservice)
+static int QuotaOK(aservice)
register struct rx_service *aservice; {
int rc=0;
/* under min quota, we're OK */
void rx_StartServer(donateMe)
{
register struct rx_service *service;
- register int i, nProcs;
+ register int i, nProcs=0;
SPLVAR;
clock_NewTime();
if (donateMe) {
#ifndef AFS_NT40_ENV
#ifndef KERNEL
- int code;
char name[32];
#ifdef AFS_PTHREAD_ENV
pid_t pid;
- pid = pthread_self();
+ pid = (pid_t) pthread_self();
#else /* AFS_PTHREAD_ENV */
PROCESS pid;
- code = LWP_CurrentProcess(&pid);
+ LWP_CurrentProcess(&pid);
#endif /* AFS_PTHREAD_ENV */
sprintf(name,"srv_%d", ++nProcs);
MUTEX_EXIT(&rx_stats_mutex);
}
- if (conn->refCount > 0) {
+ if ((conn->refCount > 0) || (conn->flags & RX_CONN_BUSY)) {
/* Busy; wait till the last guy before proceeding */
MUTEX_EXIT(&conn->conn_data_lock);
USERPRI;
return call;
}
+int
rxi_HasActiveCalls(aconn)
register struct rx_connection *aconn; {
register int i;
NETPRI;
for(i=0; i<RX_MAXCALLS; i++) {
- if (tcall = aconn->call[i]) {
+ if ((tcall = aconn->call[i])) {
if ((tcall->state == RX_STATE_ACTIVE)
|| (tcall->state == RX_STATE_PRECALL)) {
USERPRI;
return 0;
}
+int
rxi_GetCallNumberVector(aconn, aint32s)
register struct rx_connection *aconn;
register afs_int32 *aint32s; {
return 0;
}
+int
rxi_SetCallNumberVector(aconn, aint32s)
register struct rx_connection *aconn;
register afs_int32 *aint32s; {
{
struct rx_serverQueueEntry *sq;
register struct rx_call *call = (struct rx_call *) 0, *choice2;
- struct rx_service *service;
+ struct rx_service *service = NULL;
SPLVAR;
MUTEX_ENTER(&freeSQEList_lock);
- if (sq = rx_FreeSQEList) {
+ if ((sq = rx_FreeSQEList)) {
rx_FreeSQEList = *(struct rx_serverQueueEntry **)sq;
MUTEX_EXIT(&freeSQEList_lock);
} else { /* otherwise allocate a new one and return that */
{
struct rx_serverQueueEntry *sq;
register struct rx_call *call = (struct rx_call *) 0, *choice2;
- struct rx_service *service;
+ struct rx_service *service = NULL;
SPLVAR;
NETPRI;
AFS_RXGLOCK();
MUTEX_ENTER(&freeSQEList_lock);
- if (sq = rx_FreeSQEList) {
+ if ((sq = rx_FreeSQEList)) {
rx_FreeSQEList = *(struct rx_serverQueueEntry **)sq;
MUTEX_EXIT(&freeSQEList_lock);
} else { /* otherwise allocate a new one and return that */
MUTEX_ENTER(&conn->conn_call_lock);
MUTEX_ENTER(&call->lock);
MUTEX_ENTER(&conn->conn_data_lock);
+ conn->flags |= RX_CONN_BUSY;
if (conn->flags & RX_CONN_MAKECALL_WAITING) {
conn->flags &= (~RX_CONN_MAKECALL_WAITING);
MUTEX_EXIT(&conn->conn_data_lock);
CALL_RELE(call, RX_CALL_REFCOUNT_BEGIN);
MUTEX_EXIT(&call->lock);
- if (conn->type == RX_CLIENT_CONNECTION)
+ if (conn->type == RX_CLIENT_CONNECTION) {
MUTEX_EXIT(&conn->conn_call_lock);
+ conn->flags &= ~RX_CONN_BUSY;
+ }
AFS_RXGUNLOCK();
USERPRI;
/*
afs_uint32 serial;
/* because there are CM's that are bogus, sending weird values for this. */
afs_uint32 skew = 0;
- int needRxStart = 0;
int nbytes;
int missing;
int acked;
if (rx_Log) {
fprintf( rx_Log,
"RACK: reason %x previous %u seq %u serial %u skew %d first %u",
- ap->reason, ntohl(ap->previousPacket), np->header.seq, serial,
- skew, ntohl(ap->firstPacket));
+ ap->reason, ntohl(ap->previousPacket),
+ (unsigned int) np->header.seq, (unsigned int) serial,
+ (unsigned int) skew, ntohl(ap->firstPacket));
if (nAcks) {
int offset;
for (offset = 0; offset < nAcks; offset++)
#ifdef RXDEBUG
if (rx_Log) {
fprintf(rx_Log, "SACK: reason %x previous %u seq %u first %u",
- ap->reason, ntohl(ap->previousPacket), p->header.seq,
- ntohl(ap->firstPacket));
+ ap->reason, ntohl(ap->previousPacket),
+ (unsigned int) p->header.seq, ntohl(ap->firstPacket));
if (ap->nAcks) {
for (offset = 0; offset < ap->nAcks; offset++)
putc(ap->acks[offset] == RX_ACK_TYPE_NACK? '-' : '*', rx_Log);
struct timeval temptime;
#endif
register int rtt_timeout;
- static char id[]="@(#)adaptive RTO";
#if defined(AFS_ALPHA_LINUX20_ENV) && defined(AFS_PTHREAD_ENV) && !defined(KERNEL)
/* yet again. This was the worst Heisenbug of the port - stroucki */
{
struct clock now;
clock_GetTime(&now);
- fprintf(rx_Log, " %u.%.3u:", now.sec, now.usec/1000);
+ fprintf(rx_Log, " %u.%.3u:", (unsigned int) now.sec, (unsigned int) now.usec/1000);
fprintf(rx_Log, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
putc('\n', rx_Log);
}
}
fprintf(file,
- "rx stats: free packets %d, "
- "allocs %d, ",
- freePackets,
+ "rx stats: free packets %d, allocs %d, ",
+ (int) freePackets,
s->packetRequests);
if (version >= RX_DEBUGI_VERSION_W_NEWPACKETTYPES) {
" \t(these should be small) sendFailed %d, "
"fatalErrors %d\n",
s->netSendFailures,
- s->fatalErrors);
+ (int) s->fatalErrors);
if (s->nRttSamples) {
fprintf(file,
"Burst size %d, "
"burst wait %u.%d.\n",
ntohl(peer->host),
- peer->port,
- peer->burstSize,
- peer->burstWait.sec,
- peer->burstWait.usec);
+ (int) peer->port,
+ (int) peer->burstSize,
+ (int) peer->burstWait.sec,
+ (int) peer->burstWait.usec);
fprintf(file,
" Rtt %d, "
"total sent %d, "
"resent %d\n",
peer->rtt,
- peer->timeout.sec,
- peer->timeout.usec,
+ (int) peer->timeout.sec,
+ (int) peer->timeout.usec,
peer->nSent,
peer->reSends);
"max in packet skew %d, "
"max out packet skew %d\n",
peer->ifMTU,
- peer->inPacketSkew,
- peer->outPacketSkew);
+ (int) peer->inPacketSkew,
+ (int) peer->outPacketSkew);
}
#ifdef AFS_PTHREAD_ENV
{
struct rx_debugIn in;
afs_int32 rc = 0;
- int i;
/*
* supportedValues is currently unused, but added to allow future
MUTEX_ENTER(&freeSQEList_lock);
- while (np = rx_FreeSQEList) {
+ while ((np = rx_FreeSQEList)) {
rx_FreeSQEList = *(struct rx_serverQueueEntry **)np;
MUTEX_DESTROY(&np->lock);
rxi_Free(np, sizeof(*np));
* queue.
*/
- if ((rpc_stat == NULL) ||
+ if (queue_IsEnd(stats, rpc_stat) ||
+ (rpc_stat == NULL) ||
(rpc_stat->stats[0].interfaceId != rxInterface) ||
(rpc_stat->stats[0].remote_is_server != isServer)) {
int i;
ptr = *stats = (afs_uint32 *) rxi_Alloc(space);
if (ptr != NULL) {
- register struct rx_peer *pp;
- int i;
- int num_copied = 0;
rx_interface_stat_p rpc_stat, nrpc_stat;
ptr = *stats = (afs_uint32 *) rxi_Alloc(space);
if (ptr != NULL) {
- int i;
- int num_copied = 0;
rx_interface_stat_p rpc_stat, nrpc_stat;
char *fix_offset;
#endif /* AFS_PTHREAD_ENV */
/* Some comparison operators for clock values */
-#define clock_Gt(a, b) ((a)->sec>(b)->sec || (a)->sec==(b)->sec && (a)->usec>(b)->usec)
-#define clock_Ge(a, b) ((a)->sec>(b)->sec || (a)->sec==(b)->sec && (a)->usec>=(b)->usec)
+#define clock_Gt(a, b) ((a)->sec>(b)->sec || ((a)->sec==(b)->sec && (a)->usec>(b)->usec))
+#define clock_Ge(a, b) ((a)->sec>(b)->sec || ((a)->sec==(b)->sec && (a)->usec>=(b)->usec))
#define clock_Eq(a, b) ((a)->sec==(b)->sec && (a)->usec==(b)->usec)
-#define clock_Le(a, b) ((a)->sec<(b)->sec || (a)->sec==(b)->sec && (a)->usec<=(b)->usec)
-#define clock_Lt(a, b) ((a)->sec<(b)->sec || (a)->sec==(b)->sec && (a)->usec<(b)->usec)
+#define clock_Le(a, b) ((a)->sec<(b)->sec || ((a)->sec==(b)->sec && (a)->usec<=(b)->usec))
+#define clock_Lt(a, b) ((a)->sec<(b)->sec || ((a)->sec==(b)->sec && (a)->usec<(b)->usec))
/* Is the clock value zero? */
#define clock_IsZero(c) ((c)->sec == 0 && (c)->usec == 0)
INSTALLex = ${INSTALL} -m 755
CCXPG2= /usr/xpg2bin/cc
-CFLAGS = ${OPTMZ} -I${DESTDIR}include -I${SRCDIR}include ${XCFLAGS}
+CFLAGS = ${OPTMZ} -I${DESTDIR}include -I${TOP_SRCDIR}/config -I${SRCDIR}include ${XCFLAGS}
INCLS = ${DESTDIR}include/afs/afsint.h \
${DESTDIR}include/afs/cmd.h \
esac
clean:
- rm -f *.o *.a up fs core cmdebug AFS_component_version_number.c
+ rm -f *.o *.a up fs core cmdebug AFS_component_version_number.c fstrace gcpags
beancount:
wc -l *.c *.h
Log("This program is compiled without AFS_NAMEI_ENV, but partition %s seems to contain volumes which use the namei-interface; aborting\n", part);
return -1;
}
-#endif /* AFS_NAMEI_ENV */f
+#endif /* AFS_NAMEI_ENV */
#endif
#ifdef AFS_SGI_XFS_IOPS_ENV
else {
printf("volserver: unrecognized flag '%s'\n", argv[code]);
usage:
+#ifndef AFS_NT40_ENV
printf("Usage: volserver [-log] [-p <number of processes>] "
"[-udpsize <size of socket buffer in bytes>] "
-#ifndef AFS_NT40_ENV
"[-syslog[=FACILITY]] "
-#endif
- /* "[-enable_peer_stats] [-enable_process_stats] " */
+ "[-enable_peer_stats] [-enable_process_stats] "
+ "[-help]\n");
+#else
+ printf("Usage: volserver [-log] [-p <number of processes>] "
+ "[-udpsize <size of socket buffer in bytes>] "
+ "[-enable_peer_stats] [-enable_process_stats] "
"[-help]\n");
+#endif
VS_EXIT(1);
}
}