diff options
Diffstat (limited to 'usr.sbin/amd/config')
55 files changed, 5423 insertions, 0 deletions
diff --git a/usr.sbin/amd/config/Configure b/usr.sbin/amd/config/Configure new file mode 100644 index 0000000..2851786 --- /dev/null +++ b/usr.sbin/amd/config/Configure @@ -0,0 +1,60 @@ +#!/bin/sh - +# +# Copyright (c) 1989 Jan-Simon Pendry +# Copyright (c) 1989 Imperial College of Science, Technology & Medicine +# Copyright (c) 1989, 1993 +# The Regents of the University of California. All rights reserved. +# +# This code is derived from software contributed to Berkeley by +# Jan-Simon Pendry at Imperial College, London. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# @(#)Configure 8.1 (Berkeley) 6/6/93 +# +# $Id: Configure,v 5.2.1.2 91/05/07 22:20:26 jsp Alpha $ +# +echo "Making ./arch and ./os-type executable ..." +until chmod +x ./arch ./os-type; do echo "Error: chmod command failed" >&2; exit 1; done +echo "Checking ./arch and ./os-type ..." +echo "" +arch="`sh ./arch 2>/dev/null`" +os="`sh ./os-type 2>/dev/null`" +case "$arch" in +"") echo "./arch doesn't produce an answer - please check it" >&2; exit 1;; +esac +case "$os" in +"") echo "./os-type doesn't produce an answer - please check it" >&2; exit 1;; +esac +cat << % +This machine appears to be a "$arch" running "$os". +If that is correct just run make. +If those are incorrect please edit ./arch and ./os-type +% +exit 0 diff --git a/usr.sbin/amd/config/Makefile.aix3 b/usr.sbin/amd/config/Makefile.aix3 new file mode 100644 index 0000000..c4bdd3a --- /dev/null +++ b/usr.sbin/amd/config/Makefile.aix3 @@ -0,0 +1,5 @@ +# @(#)Makefile.aix3 8.1 (Berkeley) 6/6/93 +# +# $Id: Makefile.aix3,v 5.2.2.1 1992/02/09 15:10:06 jsp beta $ +# +SYSLIB = -lbsd diff --git a/usr.sbin/amd/config/Makefile.bsd44 b/usr.sbin/amd/config/Makefile.bsd44 new file mode 100644 index 0000000..a41ff2d --- /dev/null +++ b/usr.sbin/amd/config/Makefile.bsd44 @@ -0,0 +1,8 @@ +# @(#)Makefile.bsd44 8.1 (Berkeley) 6/6/93 +# +# $Id: Makefile.bsd44,v 5.2.2.1 1992/02/09 15:10:12 jsp beta $ +# +# Extra Makefile definitions for 4.4 BSD +# + +RPCLIB = -lrpc diff --git a/usr.sbin/amd/config/Makefile.config b/usr.sbin/amd/config/Makefile.config new file mode 100644 index 0000000..0c4d7be --- /dev/null +++ b/usr.sbin/amd/config/Makefile.config @@ -0,0 +1,91 @@ +# @(#)Makefile.config 8.1 (Berkeley) 6/6/93 +# +# $Id: Makefile.config,v 5.2.2.1 1992/02/09 15:11:17 jsp beta $ +# + +# +# Comment/uncomment the following lines as required +# + +# +# Where local include files are stored +# +#XINCLUDE = -I/usr/local/athena/include + +# +# Define RESOLV if your C library does not include support +# for Hesiod and/or Named. +# +#RESOLV = -lhesiod -lresolv + +# +# Define XLIBDIR if you have libraries not on the standard +# search path. +# +#XLIBDIR = -L/usr/local/athena/lib + +# +# Define DBM if your C library does not include +# support for gdbm and/or ndbm. +# +#DBM = -lgdbm #-lndbm + +# +# Define RPCLIB if your C library does not include +# support for RPC +# +#RPCLIB = -lrpc + +# +# Include support for Network Information Service (NIS) +# Also define HAS_NIS_RELOAD to include map +# enumeration code implementing "cache:=all" +# +#HAS_NIS_MAPS = -DHAS_NIS_MAPS -DHAS_NIS_RELOAD + +# +# Include support for file maps +# +HAS_FILE_MAPS = -DHAS_FILE_MAPS + +# +# Include support for Hesiod +# Also define HAS_HESIOD_RELOAD to include zone +# transfer code implementing "cache:=all" +# +#HAS_HESIOD_MAPS = -DHAS_HESIOD_MAPS -DHAS_HESIOD_RELOAD + +# +# Include support for /etc/passwd +# +HAS_PASSWD_MAPS = -DHAS_PASSWD_MAPS + +# +# Include support for union maps +# +HAS_UNION_MAPS = -DHAS_UNION_MAPS + +# +# Include support for ndbm. +# This removes support for gdbm and is only supported +# if your operating system supports ndbm +# +#HAS_NDBM_MAPS = -DHAS_NDBM_MAPS + +# +# Include support for "regexp" maps +# +HAS_REGEXP = -DHAS_REGEXP + +# +# Make sure that the hostname passed in RPC authentication packets +# contains a fully qualified domain name. See nfs_ops.c +# +#HAS_NFS_QUALIFIED_NAMES = -DHAS_NFS_QUALIFIED_NAMES + +############################################################## +# Do NOT edit the following lines +# +CONFIG = ${XINCLUDE} ${HAS_NIS_MAPS} ${HAS_FILE_MAPS} ${HAS_HESIOD_MAPS} \ + ${HAS_NDBM_MAPS} ${HAS_MOUNTD_MAPS} ${HAS_PASSWD_MAPS} ${HAS_UNION_MAPS} \ + ${HAS_REGEXP} ${HAS_NFS_QUALIFIED_NAMES} diff --git a/usr.sbin/amd/config/Makefile.hpux b/usr.sbin/amd/config/Makefile.hpux new file mode 100644 index 0000000..dd92f9e --- /dev/null +++ b/usr.sbin/amd/config/Makefile.hpux @@ -0,0 +1,13 @@ +# @(#)Makefile.hpux 8.1 (Berkeley) 6/6/93 +# +# $Id: Makefile.hpux,v 5.2.2.1 1992/02/09 15:10:26 jsp beta $ +# +# Extra Makefile definitions for HP-UX +# + +#CC = gcc ${GCCOPTS} +# Works only on HP300 +CC = cc -Wc,-Nd2000 +SYSCC = $(CC) +# Works only Hp800 +# CC = cc diff --git a/usr.sbin/amd/config/Makefile.irix b/usr.sbin/amd/config/Makefile.irix new file mode 100644 index 0000000..e936b45 --- /dev/null +++ b/usr.sbin/amd/config/Makefile.irix @@ -0,0 +1,10 @@ +# @(#)Makefile.irix 8.1 (Berkeley) 6/6/93 +# +# $Id: Makefile.irix,v 5.2.2.1 1992/02/09 15:10:31 jsp beta $ +# +# Extra Makefile definitions for IRIX +# + +DEBUG = #-g -DDEBUG +CCOPTS = -I/usr/include/sun -I/usr/include/bsd -DIRIX +RESOLV = -lrpcsvc -lsun -lbsd diff --git a/usr.sbin/amd/config/Makefile.irix3 b/usr.sbin/amd/config/Makefile.irix3 new file mode 100644 index 0000000..165e0e4 --- /dev/null +++ b/usr.sbin/amd/config/Makefile.irix3 @@ -0,0 +1,13 @@ +# @(#)Makefile.irix3 8.1 (Berkeley) 6/6/93 +# +# $Id: Makefile.irix3,v 5.2 1992/05/31 16:40:22 jsp Exp $ +# +# Extra Makefile definitions for IRIX +# + +# For 3.3.x and earlier we might need to indicate the Sun and BSD include +# paths. + +DEBUG = #-g -DDEBUG +CCOPTS = -I/usr/include/sun -I/usr/include/bsd +RESOLV = -lrpcsvc -lsun -lbsd diff --git a/usr.sbin/amd/config/Makefile.irix4 b/usr.sbin/amd/config/Makefile.irix4 new file mode 100644 index 0000000..4480e93 --- /dev/null +++ b/usr.sbin/amd/config/Makefile.irix4 @@ -0,0 +1,14 @@ +# @(#)Makefile.irix4 8.1 (Berkeley) 6/6/93 +# +# $Id: Makefile.irix4,v 5.2 1992/05/31 16:40:22 jsp Exp $ +# +# Extra Makefile definitions for IRIX +# + +# For 4.0.X and later we need to specify the -cckr option - although amd +# has prototypes - some of the rpc prototypes clash. The special include +# paths are not required. -lsun always comes before -lbsd. + +DEBUG = -g +CCOPTS = -cckr +RESOLV = -lrpcsvc -lsun -lbsd diff --git a/usr.sbin/amd/config/Makefile.stellix b/usr.sbin/amd/config/Makefile.stellix new file mode 100644 index 0000000..0bcfff6 --- /dev/null +++ b/usr.sbin/amd/config/Makefile.stellix @@ -0,0 +1,10 @@ +# @(#)Makefile.stellix 8.1 (Berkeley) 6/6/93 +# +# $Id: Makefile.stellix,v 5.2.2.1 1992/02/09 15:10:45 jsp beta $ +# +# Extra Makefile definitions for STELLIX +# + +DEBUG = #-g -DDEBUG +CCOPTS = -DSTELLIX +RESOLV = -lrpcsvc diff --git a/usr.sbin/amd/config/RELEASE b/usr.sbin/amd/config/RELEASE new file mode 100644 index 0000000..36f8f1f --- /dev/null +++ b/usr.sbin/amd/config/RELEASE @@ -0,0 +1 @@ +$Revision: 5.2.3.1 $ of $Date: 1993/06/01 11:43:31 $ bsd44 diff --git a/usr.sbin/amd/config/arch b/usr.sbin/amd/config/arch new file mode 100644 index 0000000..71c9224 --- /dev/null +++ b/usr.sbin/amd/config/arch @@ -0,0 +1,126 @@ +#! /bin/sh +# +# Copyright (c) 1989 Jan-Simon Pendry +# Copyright (c) 1989 Imperial College of Science, Technology & Medicine +# Copyright (c) 1989, 1993 +# The Regents of the University of California. All rights reserved. +# +# This code is derived from software contributed to Berkeley by +# Jan-Simon Pendry at Imperial College, London. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# @(#)arch 8.1 (Berkeley) 6/6/93 +# +# $Id: arch,v 5.2.2.2 1992/05/31 16:45:35 jsp Exp $ +# +# Figure out machine architecture +# + +PATH=/bin:/usr/bin:/usr/ucb:/etc:/usr/local/bin:${PATH} export PATH + +# +# First try to find a standard command +# +a=arch # Sun compat +m=machine # BSD compat +u=uname # Sys5 compat + +if [ -f /etc/$a -o -f /bin/$a -o -f /usr/bin/$a -o -f /usr/local/bin/$a ] +then + exec $a +elif [ -f /etc/$m -o -f /bin/$m -o -f /usr/bin/$m -o -f /usr/ucb/$m -o -f /usr/local/bin/$m ] +then + exec $m +elif [ -f /etc/$u -o -f /bin/$u -o -f /usr/bin/$u -o -f /usr/local/bin/$u ] +then + ARCH="`uname`" + case "$ARCH" in + "HP-UX") echo hp9000; exit 0;; + AIX*) MACH="`uname -m`" + case "$MACH" in + 00*) echo ibm6000; exit 0;; + 10*) echo ibm032; exit 0;; + 20*) echo ibm032; exit 0;; + esac + ;; + A/UX) echo macII ; exit 0 ;; + dgux) MACH="`uname -m`" + case "$MACH" in + AViiON) echo aviion; exit 0;; + esac + ;; + *) MACH="`uname -m`" + case "$MACH" in + IP6) echo mips; exit 0;; + IP7) echo mips; exit 0;; + *) ;; + esac + ;; + esac +fi + +# +# Take a pot-shot at your machine architecture +# +echo "# ... No ARCH= option specified; dynamically determining architecture" >&2 + +case "`exec 2>/dev/null; head -2 /etc/motd`" in +*"HP-UX"*) ARCH=hp9000;; +*"Iris"*) ARCH=iris4d;; +*"Ultrix"*) ARCH=vax;; +*"RISC iX"*) ARCH=arm;; +*"Umax 4.2"*) ARCH=encore;; +*"Alliant Concentrix"*) ARCH=alliant;; +*"FPS Model 500"*) ARCH=fps500;; +*"HCX/UX"*) ARCH=harris;; +*) ARCH=unknown; + if [ -d /usr/include/caif ]; then + ARCH=ibm032 + elif [ -f /bin/pyr ]; then + if /bin/pyr; then + ARCH=pyr + fi + elif [ -d /NextApps ]; then + ARCH=next + elif [ -f /etc/comply ]; then + # Tex 4300 is essentially a sun 3. + ARCH=sun3 + fi + ;; +esac + +echo "# ... architecture appears to be \"${ARCH}\"" >&2 +echo $ARCH + +case "$ARCH" in +unknown) exit 1 +esac + +exit 0 diff --git a/usr.sbin/amd/config/misc-aix3.h b/usr.sbin/amd/config/misc-aix3.h new file mode 100644 index 0000000..2c97d81 --- /dev/null +++ b/usr.sbin/amd/config/misc-aix3.h @@ -0,0 +1,96 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)misc-aix3.h 8.1 (Berkeley) 6/6/93 + * + * $Id: misc-aix3.h,v 5.2.2.1 1992/02/09 15:10:05 jsp beta $ + * + */ + +struct ufs_args { + char *fspec; /* Block device */ +}; + +struct nfs_args { + struct sockaddr_in addr; /* file server address */ + fhandle_t fh; /* File handle to be mounted */ + int flags; /* flags */ + int wsize; /* write size in bytes */ + int rsize; /* read size in bytes */ + int timeo; /* initial timeout in .1 secs */ + int retrans; /* times to retry send */ + char *hostname; /* server's hostname */ + int acregmin; /* attr cache file min secs */ + int acregmax; /* attr cache file max secs */ + int acdirmin; /* attr cache dir min secs */ + int acdirmax; /* attr cache dir max secs */ + char *netname; /* server's netname */ + int biods; /* number of BIODS */ +}; + +/* + * NFS mount option flags + */ +#define MNTOPT_RO "ro" /* read only */ +#define MNTOPT_RW "rw" /* read/write */ +#define MNTOPT_SOFT "soft" /* soft mount */ +#define MNTOPT_HARD "hard" /* hard mount */ +#define MNTOPT_NOSUID "nosuid"/* no set uid allowed */ +#define MNTOPT_NOAUTO "noauto"/* hide entry from mount -a */ +#define MNTOPT_INTR "intr" /* allow interrupts on hard mount */ +#define MNTOPT_SECURE "secure"/* use secure RPC for NFS */ +#define MNTOPT_GRPID "grpid" /* SysV-compatible group-id on create */ +#define MNTOPT_NOSUB "nosub" /* disallow mounts beneath this one */ +#define MNTOPT_MULTI "multi" /* Do multi-component lookup */ +#define MNTOPT_NOAC "noac" /* don't cache attributes */ + +#define NFSMNT_SOFT 0x001 /* soft mount (hard is default) */ +#define NFSMNT_WSIZE 0x002 /* set write size */ +#define NFSMNT_RSIZE 0x004 /* set read size */ +#define NFSMNT_TIMEO 0x008 /* set initial timeout */ +#define NFSMNT_RETRANS 0x010 /* set number of request retrys */ +#define NFSMNT_HOSTNAME 0x020 /* set hostname for error printf */ +#define NFSMNT_INT 0x040 /* allow interrupts on hard mount */ +#define NFSMNT_NOAC 0x080 /* don't cache attributes */ +#define NFSMNT_ACREGMIN 0x0100 /* set min secs for file attr cache */ +#define NFSMNT_ACREGMAX 0x0200 /* set max secs for file attr cache */ +#define NFSMNT_ACDIRMIN 0x0400 /* set min secs for dir attr cache */ +#define NFSMNT_ACDIRMAX 0x0800 /* set max secs for dir attr cache */ +#define NFSMNT_SECURE 0x1000 /* secure mount */ +#define NFSMNT_BIODS 0x10000 /* Number of biods for the file system */ + +#define DEF_BIODS 6 diff --git a/usr.sbin/amd/config/misc-hpux.h b/usr.sbin/amd/config/misc-hpux.h new file mode 100644 index 0000000..d808627 --- /dev/null +++ b/usr.sbin/amd/config/misc-hpux.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)misc-hpux.h 8.1 (Berkeley) 6/6/93 + * + * $Id: misc-hpux.h,v 5.2.2.1 1992/02/09 15:10:24 jsp beta $ + * + */ + +/* + * These definitions are from <nfs/nfs.h> + * Unfortunately, that file cannot be included + * because it contains lots of structure definitions + * that are not wanted (they produce name clashes). + * Isn't HP-UX wonderful! + */ + +/* + * HP-UX specific definitions + */ +struct nfs_args { + struct sockaddr_in *addr; /* file server address */ + fhandle_t *fh; /* File handle to be mounted */ + int flags; /* flags */ + int wsize; /* write size in bytes */ + int rsize; /* read size in bytes */ + int timeo; /* initial timeout in .1 secs */ + int retrans; /* times to retry send */ + char *hostname; /* server's name */ +#ifdef __hp9000s700 /* XXX for HPUX 8.0 */ + char *fsname; /* server's filesystem name */ +#endif +}; + +/* + * NFS mount option flags + */ +#define NFSMNT_SOFT 0x001 /* soft mount (hard is default) */ +#define NFSMNT_WSIZE 0x002 /* set write size */ +#define NFSMNT_RSIZE 0x004 /* set read size */ +#define NFSMNT_TIMEO 0x008 /* set initial timeout */ +#define NFSMNT_RETRANS 0x010 /* set number of request retrys */ +#define NFSMNT_HOSTNAME 0x020 /* set hostname for error printf */ +#define NFSMNT_INT 0x040 /* set option to have interruptable mounts */ +#define NFSMNT_NODEVS 0x080 /* turn off device file access (default on) */ diff --git a/usr.sbin/amd/config/misc-irix.h b/usr.sbin/amd/config/misc-irix.h new file mode 100644 index 0000000..f7d6682 --- /dev/null +++ b/usr.sbin/amd/config/misc-irix.h @@ -0,0 +1,50 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)misc-irix.h 8.1 (Berkeley) 6/6/93 + * + * $Id: misc-irix.h,v 5.2.2.1 1992/02/09 15:10:30 jsp beta $ + * + */ + +#include <sys/fs/nfs_clnt.h> +#include <sys/fsid.h> +#include <sys/fstyp.h> + +struct ufs_args { + char *fspec; +}; diff --git a/usr.sbin/amd/config/misc-next.h b/usr.sbin/amd/config/misc-next.h new file mode 100644 index 0000000..46a498e --- /dev/null +++ b/usr.sbin/amd/config/misc-next.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)misc-next.h 8.1 (Berkeley) 6/6/93 + * + * $Id: misc-next.h,v 5.2.2.1 1992/02/09 15:10:34 jsp beta $ + * + */ + +#include <nfs/nfs_mount.h> diff --git a/usr.sbin/amd/config/misc-stellix.h b/usr.sbin/amd/config/misc-stellix.h new file mode 100644 index 0000000..275a853 --- /dev/null +++ b/usr.sbin/amd/config/misc-stellix.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)misc-stellix.h 8.1 (Berkeley) 6/6/93 + * + */ + +#include <sys/fstyp.h> + +struct ufs_args { + char *fspec; +}; + +struct nfs_args { + struct sockaddr_in *addr; /* file server address */ + fhandle_t *fh; /* File handle to be mounted */ + int flags; /* flags */ + int wsize; /* write size in bytes */ + int rsize; /* read size in bytes */ + int timeo; /* initial timeout in .1 secs * +/ + int retrans; /* times to retry send */ + char *hostname; /* server's name */ +}; +#define NFSMNT_SOFT 0x001 /* soft mount (hard is default) */ +#define NFSMNT_WSIZE 0x002 /* set write size */ +#define NFSMNT_RSIZE 0x004 /* set read size */ +#define NFSMNT_TIMEO 0x008 /* set initial timeout (= 1.6 sec) */ +#define NFSMNT_RETRANS 0x010 /* set number of request retrys */ +#define NFSMNT_HOSTNAME 0x020 /* set hostname for error printf */ +#define NFSMNT_INT 0x040 /* allow interrupts on hard mount */ diff --git a/usr.sbin/amd/config/misc-ultrix.h b/usr.sbin/amd/config/misc-ultrix.h new file mode 100644 index 0000000..640c5a7 --- /dev/null +++ b/usr.sbin/amd/config/misc-ultrix.h @@ -0,0 +1,55 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)misc-ultrix.h 8.1 (Berkeley) 6/6/93 + * + * $Id: misc-ultrix.h,v 5.2.2.1 1992/02/09 15:10:49 jsp beta $ + * + */ + +#include <nfs/nfs_gfs.h> +#define KERNEL +#include <sys/fs_types.h> +#undef KERNEL + +#ifndef HOSTNAMESZ +#include <nfs/nfs_clnt.h> +#endif + +#include <ufs/ufs_mount.h> + +#define ufs_args ufs_specific diff --git a/usr.sbin/amd/config/mount_aix.c b/usr.sbin/amd/config/mount_aix.c new file mode 100644 index 0000000..07d9e80 --- /dev/null +++ b/usr.sbin/amd/config/mount_aix.c @@ -0,0 +1,153 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)mount_aix.c 8.1 (Berkeley) 6/6/93 + * + * $Id: mount_aix.c,v 5.2.2.1 1992/02/09 15:10:08 jsp beta $ + * + */ + + +/* + * AIX 3 Mount helper + */ + +#include "misc-aix3.h" + +static int aix3_mkvp(p, gfstype, flags, object, stub, host, info, info_size, args) +char *p; +int gfstype; +int flags; +char *object; +char *stub; +char *host; +char *info; +int info_size; +char *args; +{ + struct vmount *vp = (struct vmount *) p; + bzero((voidp) vp, sizeof(*vp)); + /* + * Fill in standard fields + */ + vp->vmt_revision = VMT_REVISION; + vp->vmt_flags = flags; + vp->vmt_gfstype = gfstype; + +#define VMT_ROUNDUP(len) (4 * ((len + 3) / 4)) +#define VMT_ASSIGN(vp, idx, data, size) \ + vp->vmt_data[idx].vmt_off = p - (char *) vp; \ + vp->vmt_data[idx].vmt_size = size; \ + bcopy(data, p, size); \ + p += VMT_ROUNDUP(size); + + /* + * Fill in all variable length data + */ + p += sizeof(*vp); + + VMT_ASSIGN(vp, VMT_OBJECT, object, strlen(object) + 1); + VMT_ASSIGN(vp, VMT_STUB, stub, strlen(stub) + 1); + VMT_ASSIGN(vp, VMT_HOST, host, strlen(host) + 1); + VMT_ASSIGN(vp, VMT_HOSTNAME, host, strlen(host) + 1); + VMT_ASSIGN(vp, VMT_INFO, info, info_size); + VMT_ASSIGN(vp, VMT_ARGS, args, strlen(args) + 1); + +#undef VMT_ASSIGN +#undef VMT_ROUNDUP + + /* + * Return length + */ + return vp->vmt_length = p - (char *) vp; +} + +/* + * Map from conventional mount arguments + * to AIX 3-style arguments. + */ +aix3_mount(fsname, dir, flags, type, data, args) +char *fsname; +char *dir; +int flags; +int type; +void *data; +char *args; +{ + char buf[4096]; + int size; + +#ifdef DEBUG + dlog("aix3_mount: fsname %s, dir %s, type %d", fsname, dir, type); +#endif /* DEBUG */ + +/* aix3_mkvp(p, gfstype, flags, object, stub, host, info, info_size, args) */ + + switch (type) { + + case MOUNT_TYPE_NFS: { + char *host = strdup(fsname); + char *rfs = strchr(host, ':'); + int free_rfs = 0; + if (rfs) { + *rfs++ = '\0'; + } else { + rfs = host; + free_rfs = 1; + host = strdup(hostname); + } + + size = aix3_mkvp(buf, type, flags, rfs, dir, host, data, sizeof(struct nfs_args), args); + if (free_rfs) + free((voidp) rfs); + free(host); + + } break; + + case MOUNT_TYPE_UFS: + /* Need to open block device and extract log device info from sblk. */ + return EINVAL; + + default: + return EINVAL; + } +#ifdef DEBUG + /*dlog("aix3_mkvp: flags %#x, size %d, args %s", flags, size, args);*/ +#endif /* DEBUG */ + + return vmount(buf, size); +} diff --git a/usr.sbin/amd/config/mount_irix.c b/usr.sbin/amd/config/mount_irix.c new file mode 100644 index 0000000..9926960 --- /dev/null +++ b/usr.sbin/amd/config/mount_irix.c @@ -0,0 +1,83 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)mount_irix.c 8.1 (Berkeley) 6/6/93 + * + * $Id: mount_irix.c,v 5.2.2.1 1992/02/09 15:10:32 jsp beta $ + * + */ + + +/* + * IRIX Mount helper + */ + +#include "misc-irix.h" + +/* + * Map from conventional mount arguments + * to IRIX style arguments. + */ +irix_mount(fsname, dir, flags, type, data) +char *fsname; +char *dir; +int flags; +int type; +void *data; +{ + int size; + +#ifdef DEBUG + dlog("irix_mount: fsname %s, dir %s, type %d", fsname, dir, type); +#endif /* DEBUG */ + + if (type == MOUNT_TYPE_NFS) { + + size = sizeof (struct nfs_args); + + return mount(dir, dir, (MS_FSS|MS_DATA|flags), + type, (struct nfs_args *) data, size); + + } else if (type == MOUNT_TYPE_UFS) { + + return mount(fsname, dir, (MS_FSS|flags), type); + + } else { + return EINVAL; + } + +} diff --git a/usr.sbin/amd/config/mount_stellix.c b/usr.sbin/amd/config/mount_stellix.c new file mode 100644 index 0000000..45703db --- /dev/null +++ b/usr.sbin/amd/config/mount_stellix.c @@ -0,0 +1,76 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)mount_stellix.c 8.1 (Berkeley) 6/6/93 + */ + +/* + * IRIX Mount helper + */ + +#include "misc-stellix.h" + +/* + * Map from conventional mount arguments + * to IRIX style arguments. + */ +stellix_mount(fsname, dir, flags, type, data) +char *fsname; +char *dir; +int flags; +int type; +void *data; +{ + +#ifdef DEBUG + dlog("stellix_mount: fsname %s, dir %s, type %d", fsname, dir, type); +#endif /* DEBUG */ + + if (type == MOUNT_TYPE_NFS) { + + return mount(dir, dir, (MS_FSS|MS_NFS|flags), + type, (caddr_t) data ); + + } else if (type == MOUNT_TYPE_UFS) { + + return mount(fsname, dir, (MS_FSS|flags), type); + + } else { + return EINVAL; + } + +} diff --git a/usr.sbin/amd/config/mtab_aix.c b/usr.sbin/amd/config/mtab_aix.c new file mode 100644 index 0000000..78bf941 --- /dev/null +++ b/usr.sbin/amd/config/mtab_aix.c @@ -0,0 +1,137 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)mtab_aix.c 8.1 (Berkeley) 6/6/93 + * + * $Id: mtab_aix.c,v 5.2.2.1 1992/02/09 15:10:07 jsp beta $ + * + */ + +#include "am.h" + +#ifdef READ_MTAB_AIX3_STYLE + +#include <sys/mntctl.h> +#include <sys/vmount.h> + +static struct mntent *mnt_dup(mp) +struct vmount *mp; +{ + struct mntent *new_mp = ALLOC(mntent); + + char *ty; + new_mp->mnt_fsname = strdup(vmt2dataptr(mp, VMT_OBJECT)); + new_mp->mnt_dir = strdup(vmt2dataptr(mp, VMT_STUB)); + new_mp->mnt_opts = strdup(vmt2dataptr(mp, VMT_ARGS)); + switch (mp->vmt_gfstype) { + case MNT_JFS: ty = MTAB_TYPE_UFS; break; + case MNT_NFS: + ty = MTAB_TYPE_NFS; + new_mp->mnt_fsname = str3cat(new_mp->mnt_fsname, + vmt2dataptr(mp, VMT_HOSTNAME), + ":", new_mp->mnt_fsname); + break; + default: ty = "unknown"; break; + } + new_mp->mnt_type = strdup(ty); + new_mp->mnt_passno = mp->vmt_vfsnumber; + new_mp->mnt_freq = 0; + + return new_mp; +} + +/* + * Read a mount table into memory + */ +mntlist *read_mtab(fs) +char *fs; +{ + mntlist **mpp, *mhp; + + int i; + char *mntinfo = 0, *cp; + struct vmount *vp; + int ret; + + /* + * First figure out size of mount table + * and allocate space for a copy... + * Then get mount table for real. + */ + ret = mntctl(MCTL_QUERY, sizeof(i), &i); + if (ret == 0) { + mntinfo = xmalloc(i); + ret = mntctl(MCTL_QUERY, i, mntinfo); + } + + if (ret <= 0) { + plog(XLOG_ERROR, "mntctl: %m"); + goto out; + } +#ifdef DEBUG + /*dlog("mntctl returns %d structures", ret);*/ +#endif /* DEBUG */ + + mpp = &mhp; + for (i = 0, cp = mntinfo; i < ret; i++, cp += vp->vmt_length) { + vp = (struct vmount *) cp; + + /* + * Allocate a new slot + */ + *mpp = ALLOC(mntlist); + + /* + * Copy the data returned by mntctl + */ + (*mpp)->mnt = mnt_dup(vp); + + /* + * Move to next pointer + */ + mpp = &(*mpp)->mnext; + } + + *mpp = 0; + +out: + if (mntinfo) + free(mntinfo); + return mhp; +} + +#endif /* READ_MTAB_AIX3_STYLE */ diff --git a/usr.sbin/amd/config/mtab_bsd.c b/usr.sbin/amd/config/mtab_bsd.c new file mode 100644 index 0000000..1d81127 --- /dev/null +++ b/usr.sbin/amd/config/mtab_bsd.c @@ -0,0 +1,114 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)mtab_bsd.c 8.1 (Berkeley) 6/6/93 + * + * $Id: mtab_bsd.c,v 5.2.2.1 1992/02/09 15:10:13 jsp beta $ + * + */ + +#include "am.h" + +#ifdef READ_MTAB_BSD_STYLE + +#include <sys/mount.h> + +static struct mntent *mnt_dup(mp) +struct statfs *mp; +{ + struct mntent *new_mp = ALLOC(mntent); + char *ty; + + new_mp->mnt_fsname = strdup(mp->f_mntfromname); + new_mp->mnt_dir = strdup(mp->f_mntonname); + switch (mp->f_type) { + case MOUNT_UFS: ty = MTAB_TYPE_UFS; break; + case MOUNT_NFS: ty = MTAB_TYPE_NFS; break; + case MOUNT_MFS: ty = MTAB_TYPE_MFS; break; + default: ty = "unknown"; break; + } + new_mp->mnt_type = strdup(ty); + new_mp->mnt_opts = strdup("unset"); + new_mp->mnt_freq = 0; + new_mp->mnt_passno = 0; + + return new_mp; +} + +/* + * Read a mount table into memory + */ +mntlist *read_mtab(fs) +char *fs; +{ + mntlist **mpp, *mhp; + struct statfs *mntbufp, *mntp; + + int nloc = getmntinfo(&mntbufp, MNT_NOWAIT); + + if (nloc == 0) { + plog(XLOG_ERROR, "Can't read mount table"); + return 0; + } + + mpp = &mhp; + for (mntp = mntbufp; mntp < mntbufp + nloc; mntp++) { + /* + * Allocate a new slot + */ + *mpp = ALLOC(mntlist); + + /* + * Copy the data returned by getmntent + */ + (*mpp)->mnt = mnt_dup(mntp); + + /* + * Move to next pointer + */ + mpp = &(*mpp)->mnext; + } + + /* + * Terminate the list + */ + *mpp = 0; + + return mhp; +} + +#endif /* READ_MTAB_BSD_STYLE */ diff --git a/usr.sbin/amd/config/mtab_file.c b/usr.sbin/amd/config/mtab_file.c new file mode 100644 index 0000000..8101f71 --- /dev/null +++ b/usr.sbin/amd/config/mtab_file.c @@ -0,0 +1,472 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)mtab_file.c 8.1 (Berkeley) 6/6/93 + * + * $Id: mtab_file.c,v 5.2.2.1 1992/02/09 15:10:42 jsp beta $ + * + */ + +#include "am.h" + +#ifdef READ_MTAB_FROM_FILE + +#ifdef USE_FCNTL +#include <fcntl.h> +#else +#include <sys/file.h> +#endif /* USE_FCNTL */ + +#ifdef UPDATE_MTAB + +/* + * Do strict /etc/mtab locking + */ +#define MTAB_LOCKING + +/* + * Firewall mtab entries + */ +#define MTAB_STRIPNL + +#include <sys/stat.h> +static FILE *mnt_file; + +/* + * If the system is being trashed by something, then + * opening mtab may fail with ENFILE. So, go to sleep + * for a second and try again. (Yes - this has happened to me.) + * + * Note that this *may* block the automounter, oh well. + * If we get to this state then things are badly wrong anyway... + * + * Give the system 10 seconds to recover but then give up. + * Hopefully something else will exit and free up some file + * table slots in that time. + */ +#define NFILE_RETRIES 10 /* seconds */ + +#ifdef MTAB_LOCKING +#ifdef LOCK_FCNTL +static int lock(fd) +{ + int rc; + struct flock lk; + + lk.l_type = F_WRLCK; + lk.l_whence = 0; + lk.l_start = 0; + lk.l_len = 0; + +again: + rc = fcntl(fd, F_SETLKW, (caddr_t) &lk); + if (rc < 0 && (errno == EACCES || errno == EAGAIN)) { +#ifdef DEBUG + dlog("Blocked, trying to obtain exclusive mtab lock"); +#endif /* DEBUG */ + sleep(1); + goto again; + } + return rc; +} +#else +#define lock(fd) (flock((fd), LOCK_EX)) +#endif /* LOCK_FCNTL */ +#endif /* MTAB_LOCKING */ + +static FILE *open_locked_mtab(mtab_file, mode, fs) +char *mtab_file; +char *mode; +char *fs; +{ + FILE *mfp = 0; + +#ifdef UPDATE_MTAB + /* + * There is a possible race condition if two processes enter + * this routine at the same time. One will be blocked by the + * exclusive lock below (or by the shared lock in setmntent) + * and by the time the second process has the exclusive lock + * it will be on the wrong underlying object. To check for this + * the mtab file is stat'ed before and after all the locking + * sequence, and if it is a different file then we assume that + * it may be the wrong file (only "may", since there is another + * race between the initial stat and the setmntent). + * + * Simpler solutions to this problem are invited... + */ + int racing = 2; +#ifdef MTAB_LOCKING + int rc; + int retries = 0; + struct stat st_before, st_after; +#endif /* MTAB_LOCKING */ + + if (mnt_file) { +#ifdef DEBUG + dlog("Forced close on %s in read_mtab", mtab_file); +#endif /* DEBUG */ + endmntent(mnt_file); + mnt_file = 0; + } + +#ifdef MTAB_LOCKING +again: + if (mfp) { + endmntent(mfp); + mfp = 0; + } + + clock_valid = 0; + if (stat(mtab_file, &st_before) < 0) { + plog(XLOG_ERROR, "%s: stat: %m", mtab_file); + if (errno == ESTALE) { + /* happens occasionally */ + sleep(1); + goto again; + } + return 0; + } +#endif /* MTAB_LOCKING */ +#endif /* UPDATE_MTAB */ + +eacces: + mfp = setmntent(mtab_file, mode); + if (!mfp) { + /* + * Since setmntent locks the descriptor, it + * is possible it can fail... so retry if + * needed. + */ + if (errno == EACCES || errno == EAGAIN) { +#ifdef DEBUG + dlog("Blocked, trying to obtain exclusive mtab lock"); +#endif /* DEBUG */ + goto eacces; + } else if (errno == ENFILE && retries++ < NFILE_RETRIES) { + sleep(1); + goto eacces; + } + + plog(XLOG_ERROR, "setmntent(\"%s\", \"%s\"): %m", mtab_file, mode); + return 0; + } + +#ifdef MTAB_LOCKING +#ifdef UPDATE_MTAB + /* + * At this point we have an exclusive lock on the mount list, + * but it may be the wrong one so... + */ + + /* + * Need to get an exclusive lock on the current + * mount table until we have a new copy written + * out, when the lock is released in free_mntlist. + * flock is good enough since the mount table is + * not shared between machines. + */ + do + rc = lock(fileno(mfp)); + while (rc < 0 && errno == EINTR); + if (rc < 0) { + plog(XLOG_ERROR, "Couldn't lock %s: %m", mtab_file); + endmntent(mfp); + return 0; + } + /* + * Now check whether the mtab file has changed under our feet + */ + if (stat(mtab_file, &st_after) < 0) { + plog(XLOG_ERROR, "%s: stat", mtab_file); + goto again; + } + + if (st_before.st_dev != st_after.st_dev || + st_before.st_ino != st_after.st_ino) { + struct timeval tv; + if (racing == 0) { + /* Sometimes print a warning */ + plog(XLOG_WARNING, + "Possible mount table race - retrying %s", fs); + } + racing = (racing+1) & 3; + /* + * Take a nap. From: Doug Kingston <dpk@morgan.com> + */ + tv.tv_sec = 0; + tv.tv_usec = (mypid & 0x07) << 17; + if (tv.tv_usec) + if (select(0, (voidp) 0, (voidp) 0, (voidp) 0, &tv) < 0) + plog(XLOG_WARNING, "mtab nap failed: %m"); + + goto again; + } +#endif /* UPDATE_MTAB */ +#endif /* MTAB_LOCKING */ + + return mfp; +} + +/* + * Unlock the mount table + */ +void unlock_mntlist P((void)); +void unlock_mntlist() +{ + /* + * Release file lock, by closing the file + */ + if (mnt_file) { + endmntent(mnt_file); + mnt_file = 0; + } +} + +/* + * Write out a mount list + */ +void rewrite_mtab(mp) +mntlist *mp; +{ + FILE *mfp; + int error = 0; + + /* + * Concoct a temporary name in the same + * directory as the target mount table + * so that rename() will work. + */ + char tmpname[64]; + int retries; + int tmpfd; + char *cp; + char *mcp = mtab; + cp = strrchr(mcp, '/'); + if (cp) { + bcopy(mcp, tmpname, cp - mcp); + tmpname[cp-mcp] = '\0'; + } else { + plog(XLOG_WARNING, "No '/' in mtab (%s), using \".\" as tmp directory", mtab); + tmpname[0] = '.'; tmpname[1] = '\0'; + } + strcat(tmpname, "/mtabXXXXXX"); + mktemp(tmpname); + retries = 0; +enfile1: + if ((tmpfd = open(tmpname, O_RDWR|O_CREAT|O_TRUNC, 0644)) < 0) { + if (errno == ENFILE && retries++ < NFILE_RETRIES) { + sleep(1); + goto enfile1; + } + plog(XLOG_ERROR, "%s: open: %m", tmpname); + return; + } + if (close(tmpfd) < 0) + plog(XLOG_ERROR, "Couldn't close tmp file descriptor: %m"); + + retries = 0; +enfile2: + mfp = setmntent(tmpname, "w"); + if (!mfp) { + if (errno == ENFILE && retries++ < NFILE_RETRIES) { + sleep(1); + goto enfile2; + } + plog(XLOG_ERROR, "setmntent(\"%s\", \"w\"): %m", tmpname); + error = 1; + goto out; + } + + while (mp) { + if (mp->mnt) { + if (addmntent(mfp, mp->mnt)) { + plog(XLOG_ERROR, "Can't write entry to %s", tmpname); + error = 1; + goto out; + } + } + mp = mp->mnext; + } + + /* + * SunOS 4.1 manuals say that the return code from entmntent() + * is always 1 and to treat as a void. That means we need to + * call fflush() to make sure the new mtab file got written. + */ + if (fflush(mfp)) { + plog(XLOG_ERROR, "flush new mtab file: %m"); + error = 1; + goto out; + } + + (void) endmntent(mfp); + + /* + * Rename temporary mtab to real mtab + */ + if (rename(tmpname, mtab) < 0) { + plog(XLOG_ERROR, "rename %s to %s: %m", tmpname, mtab); + error = 1; + goto out; + } + +out: + if (error) + (void) unlink(tmpname); +} + +#ifdef MTAB_STRIPNL +static void mtab_stripnl(s) +char *s; +{ + do { + s = strchr(s, '\n'); + if (s) + *s++ = ' '; + } while (s); +} +#endif /* MTAB_STRIPNL */ + +/* + * Append a mntent structure to the + * current mount table. + */ +void write_mntent(mp) +struct mntent *mp; +{ + int retries = 0; + FILE *mfp; +enfile: + mfp = open_locked_mtab(mtab, "a", mp->mnt_dir); + if (mfp) { +#ifdef MTAB_STRIPNL + mtab_stripnl(mp->mnt_opts); +#endif /* MTAB_STRIPNL */ + if (addmntent(mfp, mp)) + plog(XLOG_ERROR, "Couldn't write %s: %m", mtab); + if (fflush(mfp)) + plog(XLOG_ERROR, "Couldn't flush %s: %m", mtab); + (void) endmntent(mfp); + } else { + if (errno == ENFILE && retries < NFILE_RETRIES) { + sleep(1); + goto enfile; + } + plog(XLOG_ERROR, "setmntent(\"%s\", \"a\"): %m", mtab); + } +} + +#endif /* UPDATE_MTAB */ + +static struct mntent *mnt_dup(mp) +struct mntent *mp; +{ + struct mntent *new_mp = ALLOC(mntent); + + new_mp->mnt_fsname = strdup(mp->mnt_fsname); + new_mp->mnt_dir = strdup(mp->mnt_dir); + new_mp->mnt_type = strdup(mp->mnt_type); + new_mp->mnt_opts = strdup(mp->mnt_opts); + + new_mp->mnt_freq = mp->mnt_freq; + new_mp->mnt_passno = mp->mnt_passno; + +#ifdef FIXUP_MNTENT_DUP + /* + * Additional fields get dup'ed here + */ + FIXUP_MNTENT_DUP(new_mp, mp); +#endif + + return new_mp; +} + +/* + * Read a mount table into memory + */ +mntlist *read_mtab(fs) +char *fs; +{ + mntlist **mpp, *mhp; + + struct mntent *mep; + FILE *mfp = open_locked_mtab(mtab, "r+", fs); + + if (!mfp) + return 0; + + mpp = &mhp; + +/* + * XXX - In SunOS 4 there is (yet another) memory leak + * which loses 1K the first time getmntent is called. + * (jsp) + */ + while (mep = getmntent(mfp)) { + /* + * Allocate a new slot + */ + *mpp = ALLOC(mntlist); + + /* + * Copy the data returned by getmntent + */ + (*mpp)->mnt = mnt_dup(mep); + + /* + * Move to next pointer + */ + mpp = &(*mpp)->mnext; + } + *mpp = 0; + +#ifdef UPDATE_MTAB + /* + * If we are not updating the mount table then we + * can free the resources held here, otherwise they + * must be held until the mount table update is complete + */ + mnt_file = mfp; +#else + endmntent(mfp); +#endif /* UPDATE_MTAB */ + + return mhp; +} + +#endif /* READ_MTAB_FROM_FILE */ diff --git a/usr.sbin/amd/config/mtab_ultrix.c b/usr.sbin/amd/config/mtab_ultrix.c new file mode 100644 index 0000000..241ea88 --- /dev/null +++ b/usr.sbin/amd/config/mtab_ultrix.c @@ -0,0 +1,115 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)mtab_ultrix.c 8.1 (Berkeley) 6/6/93 + * + * $Id: mtab_ultrix.c,v 5.2.2.1 1992/02/09 15:10:50 jsp beta $ + * + */ + +#include "am.h" + +#ifdef READ_MTAB_ULTRIX_STYLE + +#include <sys/mount.h> +#include <sys/fs_types.h> + +static struct mntent *mnt_dup(mp) +struct fs_data *mp; +{ + struct mntent *new_mp = ALLOC(mntent); + + new_mp->mnt_fsname = strdup(mp->fd_devname); + new_mp->mnt_dir = strdup(mp->fd_path); + if (mp->fd_fstype >= GT_NUMTYPES) + mp->fd_fstype = GT_UNKWN; + else if (gt_names[mp->fd_fstype] == 0) + mp->fd_fstype = GT_UNKWN; + new_mp->mnt_type = strdup(gt_names[mp->fd_fstype]); + new_mp->mnt_opts = strdup("unset"); + + new_mp->mnt_freq = 0; + new_mp->mnt_passno = mp->fd_dev; + + return new_mp; +} + +/* + * Read a mount table into memory + */ +mntlist *read_mtab(fs) +char *fs; +{ + mntlist **mpp, *mhp; + +/* From: Piete Brooks <pb@cl.cam.ac.uk> */ + + int loc=0; +#undef NMOUNT +#define NMOUNT 20 + struct fs_data mountbuffer[NMOUNT], *fs_data; + int ret; + + mpp = &mhp; + while ((ret = getmountent(&loc, mountbuffer, NMOUNT)) > 0) { + for (fs_data = mountbuffer; fs_data < &mountbuffer[ret]; fs_data++) { + /* + * Allocate a new slot + */ + *mpp = ALLOC(mntlist); + + /* + * Copy the data returned by getmntent + */ + (*mpp)->mnt = mnt_dup(fs_data); + + /* + * Move to next pointer + */ + mpp = &(*mpp)->mnext; + } + } + if (ret < 0) { + plog(XLOG_ERROR, "getmountent: %m"); + return 0; + } + *mpp = 0; + + return mhp; +} + +#endif /* READ_MTAB_ULTRIX_STYLE */ diff --git a/usr.sbin/amd/config/newvers.sh b/usr.sbin/amd/config/newvers.sh new file mode 100644 index 0000000..a510966 --- /dev/null +++ b/usr.sbin/amd/config/newvers.sh @@ -0,0 +1,88 @@ +#!/bin/sh - +# +# Copyright (c) 1989 Jan-Simon Pendry +# Copyright (c) 1989 Imperial College of Science, Technology & Medicine +# Copyright (c) 1989, 1993 +# The Regents of the University of California. All Rights Reserved. +# +# This code is derived from software contributed to Berkeley by +# Jan-Simon Pendry at Imperial College, London. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# @(#)newvers.sh 8.1 (Berkeley) 6/6/93 +# +# $Id: newvers.sh,v 5.2.2.1 1992/02/09 15:11:19 jsp beta $ +# +PATH=/usr/ucb:/bin:/usr/bin:$PATH +if [ $# -ne 3 ]; then echo "Usage: newvers program arch os" >&2; exit 1; fi +version="version.$1" +if [ ! -r $version ]; then echo 0 > $version; chmod 444 $version; fi +v=`cat $version` +u=${USER-${LOGNAME-root}} +h=`hostname` +#h=`expr "$h" : '\([^.]*\)'` +t=`date` +if [ ! -s "$d../config/RELEASE" -o ! -s "$d../text/COPYRIGHT" ]; then + echo ERROR: config file missing >&2 + exit 1 +fi +rm -f vers.$1.c +( +cat << %% +char copyright[] = "\\ +%% +sed 's/$/\\n\\/' $d../text/COPYRIGHT +cat << %% +"; +char version[] = "\\ +%% +cat << %% +$1 \\ +%% +sed \ + -e 's/\$//g' \ + -e 's/[A-Z][a-z]*://g' \ + -e 's/ */ /g' \ + -e 's/^ //' \ + -e 's/$/\\/' \ + $d../config/RELEASE +cat << %% + #${v}: ${t}\\n\\ +Built by ${u}@${h} for \\ +%% +case "$2" in +[aeiou]*) echo "an \\" ;; +*) echo "a \\";; +esac +echo "$2 running $3\";" +) > vers.$1.c +rm -f $version +expr ${v} + 1 > $version +chmod 444 $version diff --git a/usr.sbin/amd/config/os-acis43.h b/usr.sbin/amd/config/os-acis43.h new file mode 100644 index 0000000..bcc44d5 --- /dev/null +++ b/usr.sbin/amd/config/os-acis43.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-acis43.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-acis43.h,v 5.2.2.1 1992/02/09 15:10:02 jsp beta $ + * + * IBM RT ACIS4.3 definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Does this OS have NDBM support? + */ +#define OS_HAS_NDBM + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "ufs" + +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * Need precise symlink lengths +#define PRECISE_SYMLINKS + */ diff --git a/usr.sbin/amd/config/os-aix3.h b/usr.sbin/amd/config/os-aix3.h new file mode 100644 index 0000000..c70b159 --- /dev/null +++ b/usr.sbin/amd/config/os-aix3.h @@ -0,0 +1,181 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-aix3.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-aix3.h,v 5.2.2.2 1992/05/31 16:38:49 jsp Exp $ + * + * AIX 3.1 definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_4 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_AIX3 + +/* + * Does this OS have NDBM support? + */ +#define OS_HAS_NDBM + +/* + * The mount table is obtained from the kernel + */ +#undef UPDATE_MTAB + +/* + * Pick up BSD bits from include files + * Try for 4.4 compatibility if available (AIX 3.2 and later) + */ +#define _BSD 44 + +/* + * No mntent info on AIX 3 + */ +#undef MNTENT_HDR +#define MNTENT_HDR <sys/mntctl.h> + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MNT_NFS +#define MOUNT_TYPE_UFS MNT_JFS +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "jfs" + +/* + * How to unmount filesystems + */ +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flag, mnt_data) \ + aix3_mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data, mnt->mnt_opts) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) uvmount(mnt->mnt_passno, 0) + + +/* + * Byte ordering + */ +#ifndef BYTE_ORDER +#include <sys/machine.h> +#endif /* BYTE_ORDER */ + +#undef ARCH_ENDIAN +#if BYTE_ORDER == LITTLE_ENDIAN +#define ARCH_ENDIAN "little" +#else +#if BYTE_ORDER == BIG_ENDIAN +#define ARCH_ENDIAN "big" +#else +XXX - Probably no hope of running Amd on this machine! +#endif /* BIG */ +#endif /* LITTLE */ + +/* + * Miscellaneous AIX 3 bits + */ +#define NEED_MNTOPT_PARSER +#define SHORT_MOUNT_NAME + +#define MNTMAXSTR 128 + +#define MNTTYPE_UFS "jfs" /* Un*x file system */ +#define MNTTYPE_NFS "nfs" /* network file system */ +#define MNTTYPE_IGNORE "ignore" /* No type specified, ignore this entry */ + +struct mntent { + char *mnt_fsname; /* name of mounted file system */ + char *mnt_dir; /* file system path prefix */ + char *mnt_type; /* MNTTYPE_* */ + char *mnt_opts; /* MNTOPT* */ + int mnt_freq; /* dump frequency, in days */ + int mnt_passno; /* pass number on parallel fsck */ +}; + +#define NFS_HDR "misc-aix3.h" +#define UFS_HDR "misc-aix3.h" +#undef NFS_FH_DREF +#define NFS_FH_DREF(dst, src) { (dst) = *(src); } +#undef NFS_SA_DREF +#define NFS_SA_DREF(dst, src) { (dst).addr = *(src); } +#define M_RDONLY MNT_READONLY + +/* + * How to get a mount list + */ +#undef READ_MTAB_FROM_FILE +#define READ_MTAB_AIX3_STYLE + +/* + * The data for the mount syscall needs the path in addition to the + * host name since that is the only source of information about the + * mounted filesystem. +#define NFS_ARGS_NEEDS_PATH + */ + +#define NFS_LOMAP 34 +#define NFS_HIMAP 99 +#define NFS_ERROR_MAPPING \ +static nfs_errormap[] = { 0,75,77,99,99,99, \ + 99,99,99,99,99,78,99,99,99,79, \ + 99,99,70,99,35,36,37,38,39,40, \ + 41,42,43,44,45,46,47,48,49,50, \ + 51,52,53,54,55,56,57,58,60,61, \ + 64,65,99,67,68,62,63,66,69,68, \ + 99,99,99,71,99,99,99,99,99,99 \ + }; + +#define MOUNT_HELPER_SOURCE "mount_aix.c" + +/* + * Need this too + */ +#include <time.h> diff --git a/usr.sbin/amd/config/os-aux.h b/usr.sbin/amd/config/os-aux.h new file mode 100644 index 0000000..edd85a4 --- /dev/null +++ b/usr.sbin/amd/config/os-aux.h @@ -0,0 +1,117 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-aux.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-aux.h,v 5.2.2.1 1992/02/09 15:10:10 jsp beta $ + * + * A/UX macII definitions for Amd (automounter) + * Contributed by Julian Onions <jpo@cs.nott.ac.uk> + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * No support for ndbm + */ +#undef OS_HAS_NDBM + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS MOUNT_UFS +#define MOUNT_TYPE_NFS MOUNT_NFS + +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "5.2" + +#define SIGCHLD SIGCLD +#define SYS5_SIGNALS + +/* + * Use <fcntl.h> rather than <sys/file.h> + */ +#define USE_FCNTL + +/* + * Use fcntl() rather than flock() + */ +#define LOCK_FCNTL + +#ifdef __GNUC__ +#define alloca(sz) __builtin_alloca(sz) +#endif + +#define bzero(ptr, len) memset(ptr, 0, len) +#define bcopy(from, to, len) memcpy(to, from, len) +#define getpagesize() (2048) +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + fsmount(type, mnt->mnt_dir, flags, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) unmount(mnt->mnt_dir) +#define NFDS 30 /* conservative */ + +/* not included in sys/param.h */ +#include <sys/types.h> +/* not part of sys/time.h */ +#include <time.h> +/* for NMOUNT */ +#include <sys/config.h> diff --git a/usr.sbin/amd/config/os-bsd44.h b/usr.sbin/amd/config/os-bsd44.h new file mode 100644 index 0000000..837d596 --- /dev/null +++ b/usr.sbin/amd/config/os-bsd44.h @@ -0,0 +1,191 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-bsd44.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-bsd44.h,v 5.2.2.1 1992/02/09 15:10:11 jsp beta $ + * + * 4.4 BSD definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_4 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_44 +#define HAS_TCP_NFS + +/* + * Does this OS have NDBM support? + */ +#define OS_HAS_NDBM + +/* + * 4.4 doesn't provide NIS. + */ +#undef HAS_NIS_MAPS + +/* + * OS provides strerror() + */ +#define HAS_STRERROR + +/* + * The mount table is obtained from the kernel + */ +#undef UPDATE_MTAB + +/* + * No mntent info on 4.4 BSD + */ +#undef MNTENT_HDR + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "ufs" +#define MTAB_TYPE_MFS "mfs" + +/* + * How to unmount filesystems + */ +#undef UNMOUNT_TRAP +#undef NEED_UMOUNT_FS +#define NEED_UMOUNT_BSD + +/* + * How to copy an address into an NFS filehandle + */ +#undef NFS_SA_DREF +#define NFS_SA_DREF(dst, src) { \ + (dst).addr = (struct sockaddr *) (src); \ + (dst).addrlen = sizeof(*src); \ + (dst).sotype = SOCK_DGRAM; \ + (dst).proto = 0; \ + } + +/* + * Byte ordering + */ +#ifndef BYTE_ORDER +#include <machine/endian.h> +#endif /* BYTE_ORDER */ + +#undef ARCH_ENDIAN +#if BYTE_ORDER == LITTLE_ENDIAN +#define ARCH_ENDIAN "little" +#else +#if BYTE_ORDER == BIG_ENDIAN +#define ARCH_ENDIAN "big" +#else +XXX - Probably no hope of running Amd on this machine! +#endif /* BIG */ +#endif /* LITTLE */ + +/* + * Miscellaneous 4.4 BSD bits + */ +#define NEED_MNTOPT_PARSER +#define SHORT_MOUNT_NAME + +#define MNTMAXSTR 128 + +#define MNTTYPE_UFS "ufs" /* Un*x file system */ +#define MNTTYPE_NFS "nfs" /* network file system */ +#define MNTTYPE_MFS "mfs" /* memory file system */ +#define MNTTYPE_IGNORE "ignore" /* No type specified, ignore this entry */ + +#define M_RDONLY MNT_RDONLY +#define M_SYNC MNT_SYNCHRONOUS +#define M_NOEXEC MNT_NOEXEC +#define M_NOSUID MNT_NOSUID +#define M_NODEV MNT_NODEV + +#define MNTOPT_SOFT "soft" /* soft mount */ +#define MNTOPT_INTR "intr" /* interrupts allowed */ + +#define NFSMNT_HOSTNAME 0 /* hostname on 4.4 is not optional */ + +struct mntent { + char *mnt_fsname; /* name of mounted file system */ + char *mnt_dir; /* file system path prefix */ + char *mnt_type; /* MNTTYPE_* */ + char *mnt_opts; /* MNTOPT* */ + int mnt_freq; /* dump frequency, in days */ + int mnt_passno; /* pass number on parallel fsck */ +}; + +/* + * Type of a file handle + */ +#undef NFS_FH_TYPE +#define NFS_FH_TYPE nfsv2fh_t * + +/* + * How to get a mount list + */ +#undef READ_MTAB_FROM_FILE +#define READ_MTAB_BSD_STYLE + +/* + * The data for the mount syscall needs the path in addition to the + * host name since that is the only source of information about the + * mounted filesystem. + */ +#define NFS_ARGS_NEEDS_PATH + +/* + * 4.4 has RE support built in + */ +#undef RE_HDR +#define RE_HDR <regexp.h> diff --git a/usr.sbin/amd/config/os-concentrix.h b/usr.sbin/amd/config/os-concentrix.h new file mode 100644 index 0000000..4a130e0 --- /dev/null +++ b/usr.sbin/amd/config/os-concentrix.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-concentrix.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-concentrix.h,v 5.2.2.1 1992/02/09 15:10:14 jsp beta $ + * + * Alliant Concentrix 5.0.0 definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#undef VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Does this OS have NDBM support? + */ +#define OS_HAS_NDBM + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS diff --git a/usr.sbin/amd/config/os-convex.h b/usr.sbin/amd/config/os-convex.h new file mode 100644 index 0000000..ade6c4c --- /dev/null +++ b/usr.sbin/amd/config/os-convex.h @@ -0,0 +1,80 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-convex.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-convex.h,v 5.2.2.1 1992/02/09 15:10:16 jsp beta $ + * + * Convex C220, version 7.1 definitions for Amd (automounter) + * from Eitan Mizrotsky <eitan@shum.huji.ac.il> + */ + + +/* + * Does the compiler grok void * + */ +#undef VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS MOUNT_UFS +#define MOUNT_TYPE_NFS MOUNT_NFS + + +#define strrchr rindex +#define strchr index diff --git a/usr.sbin/amd/config/os-defaults.h b/usr.sbin/amd/config/os-defaults.h new file mode 100644 index 0000000..ce10ae2 --- /dev/null +++ b/usr.sbin/amd/config/os-defaults.h @@ -0,0 +1,143 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-defaults.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-defaults.h,v 5.2.2.1 1992/02/09 15:10:17 jsp beta $ + * + * Common OS definitions. These may be overridden in + * the OS specific files ("os-foo.h"). + */ + +/* + * What level of AMD are we backward compatible with? + * This only applies to externally visible characteristics. + * Rev.Minor.Branch.Patch (2 digits each) + */ +#define AMD_COMPAT 5000000 /* 5.0 */ + +/* + * What type is free(void*) returning? + */ +#define FREE_RETURN_TYPE void + +/* + * Is the mount table mirrored in software + */ +#define UPDATE_MTAB + +/* + * Where to get union wait + */ +#define WAIT <sys/wait.h> + +/* + * Where to get mount entry info + */ +#define MNTENT_HDR <mntent.h> + +/* + * Include support for syslog() + */ +#define HAS_SYSLOG + +/* + * Byte ordering + */ +#define ARCH_ENDIAN "unknown" + +/* + * Name of filesystem types + */ +#define MTAB_TYPE_NFS "nfs" +#define MTAB_TYPE_UFS "4.2" + +/* + * Name of mount & unmount system calls + * + * NOTE: + * UNMOUNT_TRAP takes a struct mntent * + */ +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + mount(type, mnt->mnt_dir, flags, mnt_data) +#define UNMOUNT_TRAP(mnt) unmount(mnt->mnt_dir) + +/* + * How to unmount filesystems. + * NEED_UMOUNT_FS includes code to scan the mount table + * to find the correct information for the unmount system + * call. Some systems, such as 4.4bsd, do not require + * this - they can just do an unmount system call directly. + */ +#define NEED_UMOUNT_FS +#define UMOUNT_FS(dir) umount_fs(dir) + +/* + * Type of a file handle + */ +#define NFS_FH_TYPE fhandle_t * +#define NFS_FH_DREF(dst, src) { (dst) = (src); } + +/* + * How to copy an address into an NFS filehandle + */ +#define NFS_SA_DREF(dst, src) { (dst).addr = (src); } + +/* + * Type of filesystem type + */ +#define MTYPE_TYPE int + +/* + * How to get a mount list + */ +#define READ_MTAB_FROM_FILE + +/* + * Make Amd automount points appear + * to be zero sized. undef this + * if the O/S has a divide by zero + * problem in df et al. + */ +#define HAS_EMPTY_AUTOMOUNTS + +/* + * For the RE matcher + */ +#define CHARBITS 0377 +#define STRCSPN +#define RE_HDR "re.h" diff --git a/usr.sbin/amd/config/os-dgux.h b/usr.sbin/amd/config/os-dgux.h new file mode 100644 index 0000000..98c81bf --- /dev/null +++ b/usr.sbin/amd/config/os-dgux.h @@ -0,0 +1,114 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-dgux.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-dgux.h,v 5.2.2.1 1992/02/09 15:10:18 jsp beta $ + * + * dg/ux definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_4 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_4 + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS "nfs" +#define MOUNT_TYPE_UFS "dg/ux" +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "dg/ux" + +/* + * Need the following in more places than just NFS_HDR + */ +#include <sys/dg_mount.h> +/* + * This is braindead + * dg/ux has nfs 4.0 but doesn't have the following options + */ +#define NFSMNT_HOSTNAME 0x0 +#define NFSMNT_INT 0x0 +#define M_NEWTYPE 0 + +/* + * DG have their own filesystem. + */ +#define ufs_args dgux_args + +/* + * Byte ordering + */ + +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +#define _BSD_WAIT_FLAVOR +#define _BSD_TTY_FLAVOR +#define _BSD_SIGNAL_FLAVOR +#define _DGUX_SOURCE + +/* + * Use fcntl() rather than flock() + */ +#define LOCK_FCNTL + +#define bzero(ptr, len) memset(ptr, 0, len) +#define bcopy(from, to, len) memcpy(to, from, len) +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + ((struct nfs_args *)mnt_data)->version = !strcmp(type, MOUNT_TYPE_UFS)?\ + DG_MOUNT_DGUX_VERSION:DG_MOUNT_NFS_VERSION, \ + dg_mount(type, mnt->mnt_dir, flags, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_dir) diff --git a/usr.sbin/amd/config/os-fpx4.h b/usr.sbin/amd/config/os-fpx4.h new file mode 100644 index 0000000..8c69421 --- /dev/null +++ b/usr.sbin/amd/config/os-fpx4.h @@ -0,0 +1,92 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-fpx4.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-fpx4.h,v 5.2.2.2 1992/05/31 16:39:34 jsp Exp $ + * + * Celerity FPX 4.1/2 definitions for Amd (automounter) + * from Stephen Pope <scp@grizzly.acl.lanl.gov> + */ + +/* + * FPX wants to include sys headers multiple times + */ +#define INCLUDE_HEADERS + +/* + * FPX sys/mount.h includes sys/nfs.h; prevent this + */ +#define INCLUDED_nfs + +/* + * FPX doesn't define NMOUNT anywhere + */ +#define NMOUNT 40 + +/* + * Does the compiler grok void * + */ +/* #define VOIDP */ + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_4 +#define svc_fdset svc_fds +#define svc_getreqset(p) svc_getreq((*p).fds_bits[0]) + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS diff --git a/usr.sbin/amd/config/os-hcx.h b/usr.sbin/amd/config/os-hcx.h new file mode 100644 index 0000000..5b3fb30 --- /dev/null +++ b/usr.sbin/amd/config/os-hcx.h @@ -0,0 +1,81 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-hcx.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-hcx.h,v 5.2.2.1 1992/02/09 15:10:20 jsp beta $ + * + * Harris HCX/UX Release 3.0 definitions for Amd (automounter) + */ + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Deviant call necessary. The mount() routine in libc only works for UFS + * (it's a backward-compatible piece of C code which traps to mountsyscall). + */ +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + mountsyscall(type, mnt->mnt_dir, flags, mnt_data) + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#ifdef _hcx +#define ARCH_ENDIAN "big" +#else +XXX - bizarre! +#endif diff --git a/usr.sbin/amd/config/os-hlh42.h b/usr.sbin/amd/config/os-hlh42.h new file mode 100644 index 0000000..43d2d0b --- /dev/null +++ b/usr.sbin/amd/config/os-hlh42.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-hlh42.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-hlh42.h,v 5.2.2.1 1992/02/09 15:10:22 jsp beta $ + * + * HLH OTS definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#undef VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(hlh) +#define ARCH_ENDIAN "little" +#endif + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS + +/* + * Miscellaneous HLH 4.2 incantations + */ +#define strchr index +#define strrchr rindex +#define sigmask(x) (1 << ((x)-1)) + +/* + * HLH's 4.2 needs the extra RPC definitions. + */ +#define NEED_XDR_POINTER +#define NEED_CLNT_SPERRNO diff --git a/usr.sbin/amd/config/os-hpux.h b/usr.sbin/amd/config/os-hpux.h new file mode 100644 index 0000000..42b6b8b --- /dev/null +++ b/usr.sbin/amd/config/os-hpux.h @@ -0,0 +1,150 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-hpux.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-hpux.h,v 5.2.2.1 1992/02/09 15:10:23 jsp beta $ + * + * HP/9000 HP-UX definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#ifdef __GNUC__ +#define VOIDP +#endif + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(hp9000s200) || defined(hp9000s300) || defined(hp9000s800) +#define ARCH_ENDIAN "big" +#endif + +#ifndef __hpux +#define HPUX_VERSION_6 +#endif + +/* + * No support for syslog() prior to 7.0 + */ +#ifdef HPUX_VERSION_6 +#undef HAS_SYSLOG +#endif + +/* + * No support for ndbm + */ +#undef OS_HAS_NDBM + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS MOUNT_UFS +#define MOUNT_TYPE_NFS MOUNT_NFS +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "hfs" + +/* + * Where to get NFS definitions + */ +#define NFS_HDR "misc-hpux.h" + +/* + * Where to get union wait + */ +#undef WAIT +#define WAIT "uwait.h" +#ifdef HPUX_VERSION_6 +#define SIGCHLD SIGCLD +#endif +#define SYS5_SIGNALS + +/* + * Miscellaneous HP-UX definitions + */ + +#define NEED_XDR_POINTER +#define NEED_CLNT_SPERRNO + +/* + * Use <fcntl.h> rather than <sys/file.h> + */ +#define USE_FCNTL + +/* + * Use fcntl() rather than flock() + */ +#define LOCK_FCNTL + +/* + * Additional fields in struct mntent + * are fixed up here + */ +#define FIXUP_MNTENT(mntp) { \ + (mntp)->mnt_time = clocktime(); \ +} +#define FIXUP_MNTENT_DUP(mntp, mp) { \ + (mntp)->mnt_time = (mp)->mnt_time; \ +} + +#define bzero(ptr, len) memset(ptr, 0, len) +#define bcopy(from, to, len) memcpy(to, from, len) +#define getpagesize() (2048) +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + vfsmount(type, mnt->mnt_dir, flags, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_dir) +#define NFDS 30 /* conservative */ +#define MOUNTED MNT_MNTTAB diff --git a/usr.sbin/amd/config/os-irix.h b/usr.sbin/amd/config/os-irix.h new file mode 100644 index 0000000..1d854f7 --- /dev/null +++ b/usr.sbin/amd/config/os-irix.h @@ -0,0 +1,133 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-irix.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-irix.h,v 5.2.2.1 1992/02/09 15:10:28 jsp beta $ + * + * IRIX 3.3 definitions for Amd (automounter) + * Contributed by Scott R. Presnell <srp@cgl.ucsf.edu> + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * Has support for syslog() + */ +#define HAS_SYSLOG + +#define M_GRPID MS_GRPID +#define M_RDONLY MS_RDONLY +/* + * Support for ndbm + */ +#define OS_HAS_NDBM + +#define UPDATE_MTAB + +#undef MTAB_TYPE_NFS +#define MTAB_TYPE_NFS "nfs" + +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "efs" + +#define NMOUNT 40 /* The std sun value */ +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS sysfs(GETFSIND, FSID_EFS) +#define MOUNT_TYPE_NFS sysfs(GETFSIND, FSID_NFS) + +#define SYS5_SIGNALS + +/* + * Use <fcntl.h> rather than <sys/file.h> + */ +/*#define USE_FCNTL*/ + +/* + * Use fcntl() rather than flock() + */ +/*#define LOCK_FCNTL*/ + +#ifdef __GNUC__ +#define alloca(sz) __builtin_alloca(sz) +#endif + +#define bzero(ptr, len) memset(ptr, 0, len) +#define bcopy(from, to, len) memcpy(to, from, len) + +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + irix_mount(mnt->mnt_fsname, mnt->mnt_dir,flags, type, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_dir) +#define NFDS 30 /* conservative */ + +#define NFS_HDR "misc-irix.h" +#define UFS_HDR "misc-irix.h" + +/* not included in sys/param.h */ +#include <sys/types.h> + +#define MOUNT_HELPER_SOURCE "mount_irix.c" + +#define MNTINFO_DEV "fsid" +#define MNTINFO_PREF "0x" diff --git a/usr.sbin/amd/config/os-irix3.h b/usr.sbin/amd/config/os-irix3.h new file mode 100644 index 0000000..867097d --- /dev/null +++ b/usr.sbin/amd/config/os-irix3.h @@ -0,0 +1,133 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-irix3.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-irix3.h,v 5.2 1992/05/31 16:40:22 jsp Exp $ + * + * IRIX 3.3 definitions for Amd (automounter) + * Contributed by Scott R. Presnell <srp@cgl.ucsf.edu> + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * Has support for syslog() + */ +#define HAS_SYSLOG + +#define M_GRPID MS_GRPID +#define M_RDONLY MS_RDONLY +/* + * Support for ndbm + */ +#define OS_HAS_NDBM + +#define UPDATE_MTAB + +#undef MTAB_TYPE_NFS +#define MTAB_TYPE_NFS "nfs" + +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "efs" + +#define NMOUNT 40 /* The std sun value */ +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS sysfs(GETFSIND, FSID_EFS) +#define MOUNT_TYPE_NFS sysfs(GETFSIND, FSID_NFS) + +#define SYS5_SIGNALS + +/* + * Use <fcntl.h> rather than <sys/file.h> + */ +/*#define USE_FCNTL*/ + +/* + * Use fcntl() rather than flock() + */ +/*#define LOCK_FCNTL*/ + +#ifdef __GNUC__ +#define alloca(sz) __builtin_alloca(sz) +#endif + +#define bzero(ptr, len) memset(ptr, 0, len) +#define bcopy(from, to, len) memcpy(to, from, len) + +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + irix_mount(mnt->mnt_fsname, mnt->mnt_dir,flags, type, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_dir) +#define NFDS 30 /* conservative */ + +#define NFS_HDR "misc-irix.h" +#define UFS_HDR "misc-irix.h" + +/* not included in sys/param.h */ +#include <sys/types.h> + +#define MOUNT_HELPER_SOURCE "mount_irix.c" + +#define MNTINFO_DEV "fsid" +#define MNTINFO_PREF "0x" diff --git a/usr.sbin/amd/config/os-irix4.h b/usr.sbin/amd/config/os-irix4.h new file mode 100644 index 0000000..ee2f8cb --- /dev/null +++ b/usr.sbin/amd/config/os-irix4.h @@ -0,0 +1,150 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-irix4.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-irix4.h,v 5.2 1992/05/31 16:40:22 jsp Exp $ + * + * IRIX 4.0.X definitions for Amd (automounter) + * Contributed by Scott R. Presnell <srp@cgl.ucsf.edu> + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * Has support for syslog() + */ +#define HAS_SYSLOG + +#define M_RDONLY MS_RDONLY +#define M_GRPID MS_GRPID +#define M_NOSUID MS_NOSUID +#define M_NONDEV MS_NODEV + +/* + * Support for ndbm + */ +#define OS_HAS_NDBM + +#define UPDATE_MTAB + +#undef MTAB_TYPE_NFS +#define MTAB_TYPE_NFS "nfs" + +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "efs" + +#define NMOUNT 40 /* The std sun value */ +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS sysfs(GETFSIND, FSID_EFS) +#define MOUNT_TYPE_NFS sysfs(GETFSIND, FSID_NFS) + +#define SYS5_SIGNALS + +/* + * Use <fcntl.h> rather than <sys/file.h> + */ +/*#define USE_FCNTL*/ + +/* + * Use fcntl() rather than flock() + */ +/*#define LOCK_FCNTL*/ + +#ifdef __GNUC__ +#define alloca(sz) __builtin_alloca(sz) +#endif + +#define bzero(ptr, len) memset(ptr, 0, len) +#define bcopy(from, to, len) memcpy(to, from, len) + +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + irix_mount(mnt->mnt_fsname, mnt->mnt_dir,flags, type, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_dir) +#define NFDS 30 /* conservative */ + +#define NFS_HDR "misc-irix.h" +#define UFS_HDR "misc-irix.h" + +/* not included in sys/param.h */ +#include <sys/types.h> + +#define MOUNT_HELPER_SOURCE "mount_irix.c" + +/* + * Under 4.0.X this information is in /usr/include/mntent.h + * Below is what is used to be for Irix 3.3.X. + */ +/*#define MNTINFO_DEV "fsid"*/ +/*#define MNTINFO_PREF "0x"*/ + +#define MNTINFO_PREF "" + +/* + * Under Irix, mount type "auto" is probed by statfs() in df. A statfs() of + * a direct mount causes that mount to fire. So change the mount type in + * /etc/mtab to "ignore" to stop that (this is what SGI does for their + * automounter. Use the old FASCIST define for this. + */ +#define FASCIST_DF_COMMAND MNTTYPE_IGNORE diff --git a/usr.sbin/amd/config/os-next.h b/usr.sbin/amd/config/os-next.h new file mode 100644 index 0000000..c9b1cc2 --- /dev/null +++ b/usr.sbin/amd/config/os-next.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-next.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-next.h,v 5.2.2.1 1992/02/09 15:10:33 jsp beta $ + * + * NeXT OS definitions for Amd (automounter) + * By Bill Trost, Reed College + * trost%reed@cse.ogi.edu, + * + * Derived from the Sun 3.2 definitions for Amd (os-sos3.h). + */ + +/* + * Does the compiler grok void * (NeXT uses gcc) + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS MOUNT_UFS +#define MOUNT_TYPE_NFS MOUNT_NFS +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "4.3" + +/* + * Where to get NFS definitions + */ +#define NFS_HDR "misc-next.h" diff --git a/usr.sbin/amd/config/os-pyrOSx.h b/usr.sbin/amd/config/os-pyrOSx.h new file mode 100644 index 0000000..21b5fdd --- /dev/null +++ b/usr.sbin/amd/config/os-pyrOSx.h @@ -0,0 +1,80 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-pyrOSx.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-pyrOSx.h,v 5.2.2.1 1992/02/09 15:10:37 jsp beta $ + * + * Pyramid OSx definitions for Amd (automounter) + * from Stefan Petri <petri@tubsibr.UUCP> + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS MOUNT_UFS +#define MOUNT_TYPE_NFS MOUNT_NFS + +#define strchr index +#define strrchr rindex + +#define hostname mnthostname diff --git a/usr.sbin/amd/config/os-riscix.h b/usr.sbin/amd/config/os-riscix.h new file mode 100644 index 0000000..cff7951 --- /dev/null +++ b/usr.sbin/amd/config/os-riscix.h @@ -0,0 +1,88 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-riscix.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-riscix.h,v 5.2.2.1 1992/02/09 15:10:38 jsp beta $ + * + * Acorn Archimedes RISC iX definitions for Amd (automounter) + * Contributed by Piete Brooks. + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Does this OS have NDBM support? + */ +#define OS_HAS_NDBM + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "little" + +/* + * Is the mount table mirrored in software + */ +#define UPDATE_MTAB + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS + +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS MNTTYPE_43 diff --git a/usr.sbin/amd/config/os-sos3.h b/usr.sbin/amd/config/os-sos3.h new file mode 100644 index 0000000..15c632c --- /dev/null +++ b/usr.sbin/amd/config/os-sos3.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-sos3.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-sos3.h,v 5.2.2.1 1992/02/09 15:10:39 jsp beta $ + * + * SunOS 3.2 definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(mc68010) || defined(mc68020) || defined(sparc) +#define ARCH_ENDIAN "big" +#endif +#if defined(i386) +#define ARCH_ENDIAN "little" +#endif + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_UFS MOUNT_UFS +#define MOUNT_TYPE_NFS MOUNT_NFS diff --git a/usr.sbin/amd/config/os-sos4.h b/usr.sbin/amd/config/os-sos4.h new file mode 100644 index 0000000..3853a6c --- /dev/null +++ b/usr.sbin/amd/config/os-sos4.h @@ -0,0 +1,116 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-sos4.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-sos4.h,v 5.2.2.1 1992/02/09 15:10:41 jsp beta $ + * + * SunOS 4.0 definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * What type is free(void*) returning? + */ +#undef FREE_RETURN_TYPE +#define FREE_RETURN_TYPE int + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_4 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_4 + +/* + * Does this OS have NDBM support? + */ +#define OS_HAS_NDBM + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(mc68010) || defined(mc68020) || defined(sparc) +#define ARCH_ENDIAN "big" +#endif +#if defined(i386) +#define ARCH_ENDIAN "little" +#endif + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS "nfs" +#define MOUNT_TYPE_UFS "4.2" + +/* + * Type of a file handle + */ +#undef NFS_FH_TYPE +#define NFS_FH_TYPE caddr_t + +/* + * Type of filesystem type + */ +#undef MTYPE_TYPE +#define MTYPE_TYPE char * + +/* + * Add support for SunOS 4 automounter files + */ +#define SUNOS4_COMPAT + +/* + * System Vr4 / SunOS 4.1 compatibility + * - put dev= in the options list + * + * From: Brent Callaghan <brent@eng.sun.com> + */ +#define MNTINFO_DEV "dev" +#define MNTINFO_PREF "" diff --git a/usr.sbin/amd/config/os-stellix.h b/usr.sbin/amd/config/os-stellix.h new file mode 100644 index 0000000..8c6290a --- /dev/null +++ b/usr.sbin/amd/config/os-stellix.h @@ -0,0 +1,108 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-stellix.h 8.1 (Berkeley) 6/6/93 + * + * Amd (automounter) definitions for Stellix. + * From Stephen C. Pope <scp@acl.lanl.gov> + * + * $Id: os-stellix.h,v 5.2.2.1 1992/02/09 15:10:43 jsp beta $ + */ + +#define RPC_3 + +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "big" + +#define HAS_SYSLOG + +#define OS_HAS_NDBM + +#define UPDATE_MTAB + +#define USE_FCNTL + +#define LOCK_FCNTL + +/* + * Name of filesystem types + */ +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "sfs" + +#define MOUNT_TYPE_UFS sysfs(GETFSIND, "SFS1") +#define MOUNT_TYPE_NFS sysfs(GETFSIND, "NFS") + +#define SYS5_SIGNALS +#define HAS_SVR3_SIGNALS + +#define MOUNT_HELPER_SOURCE "mount_stellix.c" + +/* + * Name of mount & unmount system calls + * + * NOTE: + * UNMOUNT_TRAP takes a struct mntent * + */ +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flags, mnt_data) \ + stellix_mount(mnt->mnt_fsname, mnt->mnt_dir, flags, type, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_dir) + +/* + * How to unmount filesystems. + * NEED_UMOUNT_FS includes code to scan the mount table + * to find the correct information for the unmount system + * call. Some systems, such as 4.4bsd, do not require + * this - they can just do an unmount system call directly. + */ +/* #define NEED_UMOUNT_FS */ +/* #define UMOUNT_FS(dir) umount_fs(dir) */ + +#define NFS_HDR "misc-stellix.h" +#define UFS_HDR "misc-stellix.h" + +#define M_RDONLY 0x01 /* mount fs read only */ + +#define bzero(ptr, len) memset(ptr, 0, len) +#define bcopy(from, to, len) memcpy(to, from, len) diff --git a/usr.sbin/amd/config/os-type b/usr.sbin/amd/config/os-type new file mode 100644 index 0000000..4871d79 --- /dev/null +++ b/usr.sbin/amd/config/os-type @@ -0,0 +1,128 @@ +#!/bin/sh +# +# Copyright (c) 1989 Jan-Simon Pendry +# Copyright (c) 1989 Imperial College of Science, Technology & Medicine +# Copyright (c) 1989, 1993 +# The Regents of the University of California. All rights reserved. +# +# This code is derived from software contributed to Berkeley by +# Jan-Simon Pendry at Imperial College, London. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# @(#)os-type 8.1 (Berkeley) 6/6/93 +# +# $Id: os-type,v 5.2.2.2 1992/05/31 16:45:46 jsp Exp $ +# + +# +# Take a pot-shot at your os type +# +echo "# ... No OS= option specified; dynamically determining OS type" >&2 + +# +# First try poking around in /etc/motd +# + +case "`exec 2>/dev/null; head -2 /etc/motd`" in +*"Sun UNIX 4.2 Release 3."*) OS=sos3;; +*"SunOS Release 4."*) OS=sos4;; +*"HP-UX on the HP"*) OS=hpux;; +*"Ultrix V2."*) OS=u2_2;; +*"Ultrix V3."*) OS=u3_0;; +*"Ultrix-32 V3."*) OS=u3_0;; +*"Ultrix Worksystem V2."*) OS=u3_0;; +*"ULTRIX V4.2"*) OS=u4_2;; +*"ULTRIX V4."*) OS=u4_0;; +*"HLH OTS Version 1."*) OS=hlh42;; +*"RISC iX release 1."*) OS=riscix;; +*"FPX 4."*) OS=fpx4;; +*"HCX/UX"*) OS=hcx;; +*"4.4 BSD UNIX"*) OS=bsd44;; +*"4.3 BSD Reno UNIX"*) OS=bsd44;; +*"4.3 BSD UNIX"*) if [ -f /etc/minidisk ]; then + OS=acis43 + elif [ -f /sbin/nfsiod ]; then + OS=bsd44 # prototype + else + OS=xinu43 + fi;; +*"Alliant Concentrix"*) OS=concentrix;; +*"Umax 4.3"*) OS=umax43;; +*) +# +# Well, that didn't work so apply some heuristics +# to the filesystem name space... +# + echo "# ... inspecting File system ..." >&2 + if [ -f /etc/comply ]; then + OS=utek + elif [ -d /usr/lib/methods -o -d /etc/methods ]; then + OS=aix3 + elif [ -f /usr/bin/cat ]; then + OS=sos4 + elif [ -f /etc/nd ]; then + OS=sos3 + elif [ -f /etc/elcsd ]; then + echo "# ... Ultrix - assuming U4.0 ..." >&2 + OS=u4_0 + elif [ -f /hp-ux ]; then + OS=hpux + elif [ -f /etc/ttylocal ]; then + OS=xinu43 + elif [ -f /etc/minidisk ]; then + OS=acis43 + elif [ -f /etc/toolboxdaemon ]; then + OS=aux + elif [ -f /sbin/nfsiod ]; then + OS=bsd44 + elif [ -d /vrm ]; then + OS=aix2 + elif [ -f /bin/pyr ] && /bin/pyr; then + OS=pyrOSx + elif [ -d /NextApps ]; then + OS=next + elif [ -f /etc/gl/ucode ]; then + OS=irix3 + elif [ -f /usr/gfx/ucode ]; then + OS=irix4 + elif [ -f /stellix ]; then + OS=stellix + else + case "`(sh ../config/arch)2>/dev/null`" in + ibm032) OS=acis43;; + aviion) OS=dgux;; + *) OS=unknown;; + esac + fi;; +esac + +echo "# ... OS appears to be \"${OS}\"" >&2 +echo "${OS}" +exit 0 diff --git a/usr.sbin/amd/config/os-u2_2.h b/usr.sbin/amd/config/os-u2_2.h new file mode 100644 index 0000000..aece171 --- /dev/null +++ b/usr.sbin/amd/config/os-u2_2.h @@ -0,0 +1,161 @@ +/* + * Copyright (c) 1990 Jan-Simon Pendry + * Copyright (c) 1990 Imperial College of Science, Technology & Medicine + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-u2_2.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-u2_2.h,v 5.2.2.1 1992/02/09 15:10:48 jsp beta $ + * + * Ultrix 2.2 definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#undef VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(vax) +#define ARCH_ENDIAN "little" +#endif + +/* + * The mount table is obtained from the kernel + */ +#undef UPDATE_MTAB + +/* + * No mntent info on Ultrix + */ +#undef MNTENT_HDR + +/* + * No support for syslog() + */ +#undef HAS_SYSLOG + +/* + * No support for ndbm + */ +#undef HAS_NDBM_MAPS + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS GT_NFS +#define MOUNT_TYPE_UFS GT_ULTRIX +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "ufs" + +/* + * Name of mount & unmount system calls + */ +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flag, mnt_data) \ + mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_passno) + +/* + * Miscellaneous Ultrix bits + */ +#define M_RDONLY M_RONLY + +#ifndef MNTMAXSTR +#define MNTMAXSTR 128 +#endif + +#define MNTTYPE_UFS "ufs" /* Un*x file system */ +#define MNTTYPE_NFS "nfs" /* network file system */ +#define MNTTYPE_IGNORE "ignore" /* No type specified, ignore this entry */ + +#define MNTOPT_RO "ro" /* read only */ +#define MNTOPT_RW "rw" /* read/write */ +#define MNTOPT_QUOTA "quota" /* quotas */ +#define MNTOPT_NOQUOTA "noquota" /* no quotas */ +#define MNTOPT_HARD "hard" /* hard mount */ +#define MNTOPT_SOFT "soft" /* soft mount */ +#define MNTOPT_INTR "intr" /* interrupts allowed */ + +#define MNTOPT_NOSUID "nosuid" /* no set uid allowed */ + +struct mntent { + char *mnt_fsname; /* name of mounted file system */ + char *mnt_dir; /* file system path prefix */ + char *mnt_type; /* MNTTYPE_* */ + char *mnt_opts; /* MNTOPT* */ + int mnt_freq; /* dump frequency, in days */ + int mnt_passno; /* pass number on parallel fsck */ +}; +#define MOUNTED "/etc/mtab" + +#define NFS_HDR "misc-ultrix.h" +#define UFS_HDR "misc-ultrix.h" + +#define NEED_XDR_POINTER +#define NEED_CLNT_SPERRNO + +#define nfs_args nfs_gfs_mount +#define ULTRIX_HACK /* Should be handled better than this !! */ +#define NEED_MNTOPT_PARSER + +/* + * How to get a mount list + */ +#undef READ_MTAB_FROM_FILE +#define READ_MTAB_ULTRIX_STYLE + +/* + * Need precise length links + */ +#define PRECISE_SYMLINKS diff --git a/usr.sbin/amd/config/os-u3_0.h b/usr.sbin/amd/config/os-u3_0.h new file mode 100644 index 0000000..08a4f36 --- /dev/null +++ b/usr.sbin/amd/config/os-u3_0.h @@ -0,0 +1,154 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-u3_0.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-u3_0.h,v 5.2.2.1 1992/02/09 15:10:52 jsp beta $ + * + * Ultrix 3.0 definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#undef VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(vax) || defined(mips) +#define ARCH_ENDIAN "little" +#endif + +/* + * The mount table is obtained from the kernel + */ +#undef UPDATE_MTAB + +/* + * No mntent info on Ultrix + */ +#undef MNTENT_HDR + +/* + * No support for syslog() + */ +#undef HAS_SYSLOG + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS GT_NFS +#define MOUNT_TYPE_UFS GT_ULTRIX +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "ufs" + +/* + * Name of mount & unmount system calls + */ +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flag, mnt_data) \ + mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_passno) + +/* + * Miscellaneous Ultrix bits + */ +#define M_RDONLY M_RONLY + +#define MNTMAXSTR 128 + +#define MNTTYPE_UFS "ufs" /* Un*x file system */ +#define MNTTYPE_NFS "nfs" /* network file system */ +#define MNTTYPE_IGNORE "ignore" /* No type specified, ignore this entry */ + +#define MNTOPT_RO "ro" /* read only */ +#define MNTOPT_RW "rw" /* read/write */ +#define MNTOPT_QUOTA "quota" /* quotas */ +#define MNTOPT_NOQUOTA "noquota" /* no quotas */ +#define MNTOPT_HARD "hard" /* hard mount */ +#define MNTOPT_SOFT "soft" /* soft mount */ +#define MNTOPT_INTR "intr" /* interrupts allowed */ + +#define MNTOPT_NOSUID "nosuid" /* no set uid allowed */ + +struct mntent { + char *mnt_fsname; /* name of mounted file system */ + char *mnt_dir; /* file system path prefix */ + char *mnt_type; /* MNTTYPE_* */ + char *mnt_opts; /* MNTOPT* */ + int mnt_freq; /* dump frequency, in days */ + int mnt_passno; /* pass number on parallel fsck */ +}; +#define MOUNTED "/etc/mtab" + +#define NFS_HDR "misc-ultrix.h" +#define UFS_HDR "misc-ultrix.h" + +#define NEED_XDR_POINTER +#define NEED_CLNT_SPERRNO + +#define nfs_args nfs_gfs_mount +#define ULTRIX_HACK /* Should be handled better than this !! */ +#define NEED_MNTOPT_PARSER + +/* + * How to get a mount list + */ +#undef READ_MTAB_FROM_FILE +#define READ_MTAB_ULTRIX_STYLE + +/* + * Need precise length links + */ +#define PRECISE_SYMLINKS diff --git a/usr.sbin/amd/config/os-u4_0.h b/usr.sbin/amd/config/os-u4_0.h new file mode 100644 index 0000000..07c9833 --- /dev/null +++ b/usr.sbin/amd/config/os-u4_0.h @@ -0,0 +1,158 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-u4_0.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-u4_0.h,v 5.2.2.1 1992/02/09 15:10:53 jsp beta $ + * + * Ultrix 4.0 definitions for Amd (automounter) + * from Chris Lindblad <cjl@ai.mit.edu> + */ + +/* + * Does the compiler grok void * + */ +#ifdef __STDC__ +#define VOIDP +#else +#undef VOIDP +#endif + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(vax) || defined(mips) +#define ARCH_ENDIAN "little" +#endif + +/* + * The mount table is obtained from the kernel + */ +#undef UPDATE_MTAB + +/* + * No mntent info on Ultrix + */ +#undef MNTENT_HDR + +/* + * No support for syslog() + */ +#define HAS_SYSLOG + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS GT_NFS +#define MOUNT_TYPE_UFS GT_ULTRIX +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "ufs" + +/* + * Name of mount & unmount system calls + */ +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flag, mnt_data) \ + mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_passno) + +/* + * Miscellaneous Ultrix bits + */ +#define M_RDONLY M_RONLY + +#define MNTMAXSTR 128 + +#define MNTTYPE_UFS "ufs" /* Un*x file system */ +#define MNTTYPE_NFS "nfs" /* network file system */ +#define MNTTYPE_IGNORE "ignore" /* No type specified, ignore this entry */ + +#define MNTOPT_RO "ro" /* read only */ +#define MNTOPT_RW "rw" /* read/write */ +#define MNTOPT_QUOTA "quota" /* quotas */ +#define MNTOPT_NOQUOTA "noquota" /* no quotas */ +#define MNTOPT_HARD "hard" /* hard mount */ +#define MNTOPT_SOFT "soft" /* soft mount */ +#define MNTOPT_INTR "intr" /* interrupts allowed */ + +#define MNTOPT_NOSUID "nosuid" /* no set uid allowed */ + +struct mntent { + char *mnt_fsname; /* name of mounted file system */ + char *mnt_dir; /* file system path prefix */ + char *mnt_type; /* MNTTYPE_* */ + char *mnt_opts; /* MNTOPT* */ + int mnt_freq; /* dump frequency, in days */ + int mnt_passno; /* pass number on parallel fsck */ +}; +#define MOUNTED "/etc/mtab" + +#define NFS_HDR "misc-ultrix.h" +#define UFS_HDR "misc-ultrix.h" + +#define NEED_CLNT_SPERRNO + +#define nfs_args nfs_gfs_mount +#define ULTRIX_HACK /* Should be handled better than this !! */ +#define NEED_MNTOPT_PARSER + +/* + * How to get a mount list + */ +#undef READ_MTAB_FROM_FILE +#define READ_MTAB_ULTRIX_STYLE + +/* + * Need precise length links + */ +#define PRECISE_SYMLINKS diff --git a/usr.sbin/amd/config/os-u4_2.h b/usr.sbin/amd/config/os-u4_2.h new file mode 100644 index 0000000..f8f039c --- /dev/null +++ b/usr.sbin/amd/config/os-u4_2.h @@ -0,0 +1,153 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-u4_2.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-u4_2.h,v 5.2.2.1 1992/02/09 15:10:54 jsp beta $ + * + * Ultrix 4.2 definitions for Amd (automounter) + * from Chris Lindblad <cjl@ai.mit.edu> + * and Chris Metcalf <metcalf@lcs.mit.edu> + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_4 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(vax) || defined(mips) +#define ARCH_ENDIAN "little" +#endif + +/* + * The mount table is obtained from the kernel + */ +#undef UPDATE_MTAB + +/* + * No mntent info on Ultrix + */ +#undef MNTENT_HDR + +/* + * No support for syslog() + */ +#define HAS_SYSLOG + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS GT_NFS +#define MOUNT_TYPE_UFS GT_ULTRIX +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "ufs" + +/* + * Name of mount & unmount system calls + */ +#undef MOUNT_TRAP +#define MOUNT_TRAP(type, mnt, flag, mnt_data) \ + mount(mnt->mnt_fsname, mnt->mnt_dir, flag, type, mnt_data) +#undef UNMOUNT_TRAP +#define UNMOUNT_TRAP(mnt) umount(mnt->mnt_passno) + +/* + * Miscellaneous Ultrix bits + */ +#define M_RDONLY M_RONLY + +#define MNTMAXSTR 128 + +#define MNTTYPE_UFS "ufs" /* Un*x file system */ +#define MNTTYPE_NFS "nfs" /* network file system */ +#define MNTTYPE_IGNORE "ignore" /* No type specified, ignore this entry */ + +#define MNTOPT_RO "ro" /* read only */ +#define MNTOPT_RW "rw" /* read/write */ +#define MNTOPT_QUOTA "quota" /* quotas */ +#define MNTOPT_NOQUOTA "noquota" /* no quotas */ +#define MNTOPT_HARD "hard" /* hard mount */ +#define MNTOPT_SOFT "soft" /* soft mount */ +#define MNTOPT_INTR "intr" /* interrupts allowed */ + +#define MNTOPT_NOSUID "nosuid" /* no set uid allowed */ + +struct mntent { + char *mnt_fsname; /* name of mounted file system */ + char *mnt_dir; /* file system path prefix */ + char *mnt_type; /* MNTTYPE_* */ + char *mnt_opts; /* MNTOPT* */ + int mnt_freq; /* dump frequency, in days */ + int mnt_passno; /* pass number on parallel fsck */ +}; +#define MOUNTED "/etc/mtab" + +#define NFS_HDR "misc-ultrix.h" +#define UFS_HDR "misc-ultrix.h" + +#define nfs_args nfs_gfs_mount +#define ULTRIX_HACK /* Should be handled better than this !! */ +#define NEED_MNTOPT_PARSER + +/* + * How to get a mount list + */ +#undef READ_MTAB_FROM_FILE +#define READ_MTAB_ULTRIX_STYLE + +/* + * Need precise length links + */ +#define PRECISE_SYMLINKS diff --git a/usr.sbin/amd/config/os-umax43.h b/usr.sbin/amd/config/os-umax43.h new file mode 100644 index 0000000..3e80872 --- /dev/null +++ b/usr.sbin/amd/config/os-umax43.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-umax43.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-umax43.h,v 5.2.2.1 1992/02/09 15:10:55 jsp beta $ + * + * UMAX 4.3 definitions for Amd (automounter) + */ + +/* + * Does the compiler grok void * + */ +#define VOIDP + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_4 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Does this OS have NDBM support? + */ +#define OS_HAS_NDBM + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#define ARCH_ENDIAN "little" + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS diff --git a/usr.sbin/amd/config/os-utek.h b/usr.sbin/amd/config/os-utek.h new file mode 100644 index 0000000..eb1be04 --- /dev/null +++ b/usr.sbin/amd/config/os-utek.h @@ -0,0 +1,49 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-utek.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-utek.h,v 5.2.2.1 1992/02/09 15:10:56 jsp beta $ + * + * Utek 4.0 definitions for Amd (automounter) + * from Bill Trost <trost%reed@cse.ogi.edu> + */ + +#define UTEK +#define __NFS_HEADER__ /* prevent re-inclusion of <sys/nfs.h> */ +/* ... and fake the rest */ +#include "os-sos3.h" diff --git a/usr.sbin/amd/config/os-utx32.h b/usr.sbin/amd/config/os-utx32.h new file mode 100644 index 0000000..29612c4 --- /dev/null +++ b/usr.sbin/amd/config/os-utx32.h @@ -0,0 +1,85 @@ +/* $Id: os-utx32.h,v 5.2.1.1 90/10/21 22:31:11 jsp Exp $ */ + +/* + * Gould UTX/32 definitions for Amd (automounter) + * + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-utx32.h 8.1 (Berkeley) 6/6/93 + */ + +/* + * Does the compiler grok void * + */ +#ifdef __GNUC__ +#define VOIDP +#endif + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_3 + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_3 + +/* + * Does this OS have NDBM support? + */ +#define OS_HAS_NDBM + +/* + * Byte ordering + */ +#undef ARCH_ENDIAN +#if defined(gould) || defined(GOULD_PN) +#define ARCH_ENDIAN "big" +#endif + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS MOUNT_NFS +#define MOUNT_TYPE_UFS MOUNT_UFS +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "4.3" diff --git a/usr.sbin/amd/config/os-xinu43.h b/usr.sbin/amd/config/os-xinu43.h new file mode 100644 index 0000000..e85cea2 --- /dev/null +++ b/usr.sbin/amd/config/os-xinu43.h @@ -0,0 +1,112 @@ +/* + * Copyright (c) 1989 Jan-Simon Pendry + * Copyright (c) 1989 Imperial College of Science, Technology & Medicine + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Jan-Simon Pendry at Imperial College, London. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)os-xinu43.h 8.1 (Berkeley) 6/6/93 + * + * $Id: os-xinu43.h,v 5.2.2.1 1992/02/09 15:10:58 jsp beta $ + * + * mt Xinu 4.3 (MORE/bsd) definitions for Amd (automounter) + * Should work on both Vax and HP ... + */ + +/* + * Does the compiler grok void * + */ +#ifdef __GNUC__ +#define VOIDP +#endif + +/* + * Which version of the Sun RPC library we are using + * This is the implementation release number, not + * the protocol revision number. + */ +#define RPC_4 + +/* + * mt Xinu have a compatibility problem + * with getreq vs. getreqset. On SunOS + * getreqset takes a pointer to an fd_set, + * whereas on MORE/bsd, getreq takes a + * fd_set directly (cf. an integer on SunOS). + */ +#define svc_getreqset(p) svc_getreq(*p) + +/* + * Which version of the NFS interface are we using. + * This is the implementation release number, not + * the protocol revision number. + */ +#define NFS_4 + +/* + * Name of filesystem types + */ +#define MOUNT_TYPE_NFS "nfs" +#define MOUNT_TYPE_UFS "ufs" +#undef MTAB_TYPE_UFS +#define MTAB_TYPE_UFS "ufs" + +/* + * Byte ordering + */ +#ifndef BYTE_ORDER +#include <machine/endian.h> +#endif /* BYTE_ORDER */ + +#undef ARCH_ENDIAN +#if BYTE_ORDER == LITTLE_ENDIAN +#define ARCH_ENDIAN "little" +#else +#if BYTE_ORDER == BIG_ENDIAN +#define ARCH_ENDIAN "big" +#else +XXX - Probably no hope of running Amd on this machine! +#endif /* BIG */ +#endif /* LITTLE */ + +/* + * Type of a file handle + */ +#undef NFS_FH_TYPE +#define NFS_FH_TYPE caddr_t + +/* + * Type of filesystem type + */ +#undef MTYPE_TYPE +#define MTYPE_TYPE char * |