# @(#)conf/os/cpc3.0	1.5 8/8/92 17:32:44
#
# cpc3.0 - define the characteristics of Counterpoint C-XIX Release 3.0

# OSNAMES - Names defining this operating system
OSNAMES="UNIX_CPC3_0:UNIX_CPC:UNIX_SYS5_3:UNIX_SYS5:UNIX"

# LOCKING_PROTOCOL - macros for efficient file locking
LOCKING_PROTOCOL="\
#include <unistd.h>
#define LOCK_REQUIRES_WRITE
#define lock_fd(fd)		(lockf((fd), F_TLOCK, 0L) < 0? FAIL: SUCCEED)
#define lock_fd_wait(fd)	(lockf((fd), F_LOCK, 0L) < 0? FAIL: SUCCEED)
#define unlock_fd(fd)		((void) lockf((fd), F_ULOCK, 0L))
#define unlock_fd_wait(fd)	((void) lockf((fd), F_ULOCK, 0L))
#define USE_FCNTL_RD_LOCK
#define lock_fd_rd_wait(fd)	(fcntl_rd_lock(fd))
extern int fcntl_rd_lock();
"

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

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

# DECLARE_STRINGS - declare string routines, using macros as needed
DECLARE_STRINGS="\
#include <string.h>
#define bzero(b,n)	(memset((b),'\0',(n)))
#define bcopy(b1,b2,n)	(memcpy((b2),(b1),(n)))
#define bcmp(b1,b2,n)	(memcmp((b1),(b2),(n)))
#define index	strchr
#define rindex	strrchr
"

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

# OSLIBS - name any object libraries containing routines we will need
OSLIBS=-lPW			# use this to get regcmp/regex

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

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

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

# HAVE - what features should be used with this operating system
HAVE=MKDIR:BSD_NETWORKING:BSTRING:SYS5_STRLIB:GETOPT:GETHOSTNAME
HAVE=$HAVE:UNAME:HASH_BANG:DUP2:READDIR:VFPRINTF

# MISC_DEFINES - miscellaneous definitions
MISC_DEFINES=INET_ADDR_USE_STRUCT
# DRIVER_CONFIGURATION - configuration file describing smail drivers
DRIVER_CONFIGURATION=bsd-network

# HAVE - what features should be used with this operating system
HAVE=$HAVE:BSD_NETWORKING

# SOCKET_INCLUDES - #includes for use with sockets
#
# We need to use different #include files for getting socket and inet
# definitions.
SOCKET_INCLUDES='
#include <h/types42.h>
#include <h/socket.h>
#include <netinet/in.h>
#include <netdb.h>
'
