# @(#) $Id: bsd4.2,v 1.9 1992/08/08 18:42:25 tron Exp $
#
# bsd4.2 - define the characteristics of Berkeley UNIX Release 4.2

# OSNAMES - Names defining this operating system
OSNAMES=UNIX_BSD4_2:UNIX_BSD:UNIX

# LOCKING_PROTOCOL - macros for efficient file locking
LOCKING_PROTOCOL="\
#define lock_fd(fd)	      (flock((fd), LOCK_EX|LOCK_NB) < 0? FAIL: SUCCEED)
#define lock_fd_wait(fd)	(flock((fd), LOCK_EX) < 0? FAIL: SUCCEED)
#define unlock_fd(fd)		((void) flock((fd), LOCK_UN))
#define unlock_fd_wait(fd)	((void) flock((fd), LOCK_UN))
#define lock_fd_rd_wait(fd)	(flock((fd), LOCK_SH) < 0? FAIL: SUCCEED)
"

# MAILBOX_DIR - in which directory are user mailbox files
MAILBOX_DIR=/usr/spool/mail

# CONSOLE - name of the console device file
CONSOLE=/dev/console

# DECLARE_STRINGS - declare string routines, using macros as needed
DECLARE_STRINGS="\
#include <strings.h>
#define memcpy(s1,s2,n)		(bcopy((s2),(s1),(n)))
#define memcmp(s1,s2,n)		(bcmp((s1),(s2),(n)))
/* the following are defined in string.c */
extern char	*strpbrk();
extern int	strspn();
"

# SECURE_PATH - directories containing system-supplied user programs
SECURE_PATH=/usr/ucb:/bin:/usr/bin

# OSLIBS - name any object libraries containing routines we will need
OSLIBS=-ldbm

# DRIVER_CONFIGURATION - configuration file describing smail drivers
DRIVER_CONFIGURATION=bsd-network

# RANLIB - how do we organize an existing object archive library
RANLIB=ranlib

# CHOWN - command to use for accessing the chown program
CHOWN=/etc/chown

# COMPRESS, etc. - Select method of file compression (use compress)
COMPRESS=compress
COMP_FLAG=-f
DOT_Z=.Z
UNCOMPRESS=uncompress
ZCAT=zcat

# MISC_DEFINES - miscellaneous definitions
#
# 4.3BSD has utime(), but does not have a header file containing the
# utimbuf structure, so declare it ourselves.
MISC_DEFINES=DECLARE_UTIMBUF

# HAVE - what features should be used with this operating system
HAVE=RENAME:MKDIR:BSD_NETWORKING:SYSEXITS:BSTRING:GETHOSTNAME
HAVE=$HAVE:HASH_BANG:DUP2:READDIR:SETGROUPS:FSYNC:FTRUNCATE:COMSAT

# UUCP_SYSTEM_FILE - path to UUCP file containing remote systems
UUCP_SYSTEM_FILE=/usr/lib/uucp/L.sys
