#ifndef	ARCH_UNIX_PLATROFM_H
#define	ARCH_UNIX_PLATROFM_H

/*
 * Mapped I/O
 */
#define	ARCH_MAPPED_IO_SUPPORTED

/*
 * Unidirectional message-oriented named pipes
 */
#define	ARCH_IPC_SUPPORTED

/*
 * Windowing
 */
#define	ARCH_WINDOWING_SUPPORTED
#define	CONFIG_HAVE_XF86_VIDMODE

/*
 * TODO
 */

/*
 * RS232 stuff
 */
#define	ARCH_RS232_SUPPORTED

/*
 * PCM sound IO
 */
#define	ARCH_DSP_INPUT_SUPPORTED
#define	ARCH_DSP_OUTPUT_SUPPORTED

/*
 * Threading and TSD, scheduling and locking
 */
#define	ARCH_THREADING_SUPPORTED

/* use libpthread for mutexes */
#define	CONFIG_ARCH_MUTEX_PTHREAD

/*
#define	CONFIG_ARCH_MUTEX_SYSVIPC
*/

/*
 * Do _not_ use libpthread recursion extension (seems to be non-portable)

#define	CONFIG_ARCH_MUTEX_PTHREAD_USE_SETTYPE
#define	CONFIG_ARCH_MUTEX_PTHREAD_USE_SETKIND_NP
*/

/*
 * TCP/IP networking support: TODO !!!
 */

/*
 * IPC support: TODO !!!
 */

/*
 * OpenGL support (FIXME: should depend on ARCH_WINDOWING_SUPPORTED)
 */
#define	ARCH_OPENGL_SUPPORTED

#endif	/* !ARCH_UNIX_PLATROFM_H */
