144630Smckusick /*
244630Smckusick  * Copyright (c) 1989 Jan-Simon Pendry
344630Smckusick  * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
4*61785Sbostic  * Copyright (c) 1989, 1993
5*61785Sbostic  *	The Regents of the University of California.  All rights reserved.
644630Smckusick  *
744630Smckusick  * This code is derived from software contributed to Berkeley by
844630Smckusick  * Jan-Simon Pendry at Imperial College, London.
944630Smckusick  *
1044630Smckusick  * %sccs.include.redist.c%
1144630Smckusick  *
12*61785Sbostic  *	@(#)os-defaults.h	8.1 (Berkeley) 06/06/93
1349685Spendry  *
1452452Spendry  * $Id: os-defaults.h,v 5.2.2.1 1992/02/09 15:10:17 jsp beta $
1549685Spendry  *
1649685Spendry  * Common OS definitions.  These may be overridden in
1749685Spendry  * the OS specific files ("os-foo.h").
1844630Smckusick  */
1944630Smckusick 
2044630Smckusick /*
2144630Smckusick  * What level of AMD are we backward compatible with?
2244630Smckusick  * This only applies to externally visible characteristics.
2344630Smckusick  * Rev.Minor.Branch.Patch (2 digits each)
2444630Smckusick  */
2544630Smckusick #define	AMD_COMPAT	5000000		/* 5.0 */
2644630Smckusick 
2744630Smckusick /*
2844630Smckusick  * What type is free(void*) returning?
2944630Smckusick  */
3044630Smckusick #define FREE_RETURN_TYPE	void
3144630Smckusick 
3244630Smckusick /*
3344630Smckusick  * Is the mount table mirrored in software
3444630Smckusick  */
3544630Smckusick #define	UPDATE_MTAB
3644630Smckusick 
3744630Smckusick /*
3844630Smckusick  * Where to get union wait
3944630Smckusick  */
4044630Smckusick #define	WAIT	<sys/wait.h>
4144630Smckusick 
4244630Smckusick /*
4344630Smckusick  * Where to get mount entry info
4444630Smckusick  */
4544630Smckusick #define	MNTENT_HDR	<mntent.h>
4644630Smckusick 
4744630Smckusick /*
4844630Smckusick  * Include support for syslog()
4944630Smckusick  */
5044630Smckusick #define	HAS_SYSLOG
5144630Smckusick 
5244630Smckusick /*
5344630Smckusick  * Byte ordering
5444630Smckusick  */
5544630Smckusick #define	ARCH_ENDIAN	"unknown"
5644630Smckusick 
5744630Smckusick /*
5844630Smckusick  * Name of filesystem types
5944630Smckusick  */
6044630Smckusick #define	MTAB_TYPE_NFS	"nfs"
6144630Smckusick #define	MTAB_TYPE_UFS	"4.2"
6244630Smckusick 
6344630Smckusick /*
6444630Smckusick  * Name of mount & unmount system calls
6544630Smckusick  *
6644630Smckusick  * NOTE:
6744630Smckusick  *  UNMOUNT_TRAP takes a struct mntent *
6844630Smckusick  */
6944630Smckusick #define	MOUNT_TRAP(type, mnt, flags, mnt_data) \
7044630Smckusick 	mount(type, mnt->mnt_dir, flags, mnt_data)
7144630Smckusick #define	UNMOUNT_TRAP(mnt)	unmount(mnt->mnt_dir)
7244630Smckusick 
7344630Smckusick /*
7444630Smckusick  * How to unmount filesystems.
7544630Smckusick  * NEED_UMOUNT_FS includes code to scan the mount table
7644630Smckusick  * to find the correct information for the unmount system
7744630Smckusick  * call.  Some systems, such as 4.4bsd, do not require
7844630Smckusick  * this - they can just do an unmount system call directly.
7944630Smckusick  */
8044630Smckusick #define	NEED_UMOUNT_FS
8144630Smckusick #define	UMOUNT_FS(dir)	umount_fs(dir)
8244630Smckusick 
8344630Smckusick /*
8444630Smckusick  * Type of a file handle
8544630Smckusick  */
8644630Smckusick #define	NFS_FH_TYPE	fhandle_t *
8744630Smckusick #define	NFS_FH_DREF(dst, src) { (dst) = (src); }
8844630Smckusick 
8944630Smckusick /*
9044630Smckusick  * How to copy an address into an NFS filehandle
9144630Smckusick  */
9244630Smckusick #define	NFS_SA_DREF(dst, src) { (dst).addr = (src); }
9344630Smckusick 
9444630Smckusick /*
9544630Smckusick  * Type of filesystem type
9644630Smckusick  */
9744630Smckusick #define	MTYPE_TYPE	int
9844630Smckusick 
9944630Smckusick /*
10044630Smckusick  * How to get a mount list
10144630Smckusick  */
10244630Smckusick #define	READ_MTAB_FROM_FILE
10347534Spendry 
10447534Spendry /*
10547534Spendry  * Make Amd automount points appear
10647534Spendry  * to be zero sized.  undef this
10747534Spendry  * if the O/S has a divide by zero
10847534Spendry  * problem in df et al.
10947534Spendry  */
11047534Spendry #define	HAS_EMPTY_AUTOMOUNTS
11147534Spendry 
11247534Spendry /*
11347534Spendry  * For the RE matcher
11447534Spendry  */
11547534Spendry #define	CHARBITS 0377
11647534Spendry #define STRCSPN
11749685Spendry #define RE_HDR "re.h"
118