/*
Copyright (c) 1993 Xerox Corporation.  All rights reserved.
*/
/*
$Id$

$Date$
 *
 * PCR OS description
 */

#ifndef ←←PCR←OS←h
#define ←←PCR←OS←h 1

/*
 * OS names -- define the one(s) that apply.
 */

#define PCR←OS←OS2		1
#define PCR←OS←name		"OS2"


/*
 *
 * Dimensions of "generic" OS variation ...
 *
 */


/*
 * I/O
 */

/* the evil-but-ubiquitous ioctl */
#define PCR←OS←IOCTL		0

/* standard SV poll */
#define PCR←OS←POLL		0
#   define PCR←OS←ENOSTR	0

/* standard BSD select */
#define PCR←OS←SELECT		0

/* generate SIGPOLL on I/O ready */
#define PCR←OS←SIGPOLL		0
#   define PCR←OS←IOCTL←SETSIG	0

/* generate SIGIO on I/O ready */
#define PCR←OS←SIGIO		0
#   define PCR←OS←FCNTL←FASYNC	0
#   define PCR←OS←FCNTL←F←SETOWN	0

/* has SIGURG -- treat this like SIGIO/SIGPOLL */
#define PCR←OS←SIGURG		0

/* has non-POSIX error produced by some non-blocking I/O */
/* (must be numerically distinct from EAGAIN) */
#define PCR←OS←EWOULDBLOCK	0

/* has (f)sync */
#define PCR←OS←SYNC		0
#define PCR←OS←FSYNC		0

/* has fchmod */
#define PCR←OS←FCHMOD		0

/* has fchown */
#define PCR←OS←FCHOWN		0

/* has (f)truncate */
#define PCR←OS←TRUNCATE		0
#define PCR←OS←FTRUNCATE	0

/* has symbolic links */
#define PCR←OS←SYMLINK		0
#define PCR←OS←READLINK		0
#   define PCR←OS←ELOOP		0

/* has BSD compatible socket interface */
#define PCR←OS←SOCKET		0
#   define PCR←OS←EINPROGRESS	0
#   define PCR←OS←EALREADY	0
#   define PCR←OS←EISCONN	0

/* Sys V streams stuff */
#define PCR←OS←STREAMS		0

/*
 * job control
 */

/* can generate SIGCHLD on child termination */
#define PCR←OS←SIGCHLD		0

/*
 * shared memory / protection
 */

/* fixed page size */
#define PCR←OS←PAGESIZE		0

/* dynamic page size */
#define PCR←OS←GETPAGESIZE	0
#define PCR←OS←SC←PAGESIZE	0

/* BSD shm stuff */
#define PCR←OS←MPROTECT		0
#define PCR←OS←MMAP		0

/* Sys V shm stuff */
#define PCR←OS←SHMOPS		0

/*
 * allowable stack location
 */

#define PCR←OS←SP←IN←HEAP	1


/*
 * timer
 */

#define PCR←OS←ITIMER		0
/* should implement use of POSIX real time stuff preferentially */

/*
 * strerror
 */

#define PCR←OS←STRERROR		0


/*
 * symbol name conventions
 */
#define PCR←OS←CSYMCVT←ID		0
    /* ld symbol identical to C external */
#define PCR←OS←CSYMCVT←PREPEND←←	0
    /* ld symbol is C external prefixed by '←' */



#endif /* !←←PCR←OS←h */

/*
$Log$
*/