home *** CD-ROM | disk | FTP | other *** search
- /*
- * Written by Joel Sherrill <joel@OARcorp.com>.
- *
- * COPYRIGHT (c) 1989-2000.
- *
- * On-Line Applications Research Corporation (OAR).
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose without fee is hereby granted, provided that this entire notice
- * is included in all copies of any software which is or includes a copy
- * or modification of this software.
- *
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION
- * OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
- * SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
- *
- * $Id: features.h,v 1.5 2002/06/20 19:51:24 fitzsim Exp $
- */
-
- #ifndef _SYS_FEATURES_H
- #define _SYS_FEATURES_H
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */
-
- #ifdef __rtems__
- #define _POSIX_JOB_CONTROL 1
- #define _POSIX_SAVED_IDS 1
- #define _POSIX_VERSION 199309L
- #define _POSIX_ASYNCHRONOUS_IO 1
- #define _POSIX_FSYNC 1
- #define _POSIX_MAPPED_FILES 1
- #define _POSIX_MEMLOCK 1
- #define _POSIX_MEMLOCK_RANGE 1
- #define _POSIX_MEMORY_PROTECTION 1
- #define _POSIX_MESSAGE_PASSING 1
- #define _POSIX_PRIORITIZED_IO 1
- #define _POSIX_PRIORITY_SCHEDULING 1
- #define _POSIX_REALTIME_SIGNALS 1
- #define _POSIX_SEMAPHORES 1
- #define _POSIX_SHARED_MEMORY_OBJECTS 1
- #define _POSIX_SYNCHRONIZED_IO 1
- #define _POSIX_TIMERS 1
-
-
- /* In P1003.1b but defined by drafts at least as early as P1003.1c/D10 */
- #define _POSIX_THREADS 1
- #define _POSIX_THREAD_ATTR_STACKADDR 1
- #define _POSIX_THREAD_ATTR_STACKSIZE 1
- #define _POSIX_THREAD_PRIORITY_SCHEDULING 1
- #define _POSIX_THREAD_PRIO_INHERIT 1
- #define _POSIX_THREAD_PRIO_PROTECT 1
- #define _POSIX_THREAD_PROCESS_SHARED 1
- #define _POSIX_THREAD_SAFE_FUNCTIONS 1
-
- /* P1003.4b/D8 defines the constants below this comment. */
- #define _POSIX_SPAWN 1
- #define _POSIX_TIMEOUTS 1
- #define _POSIX_CPUTIME 1
- #define _POSIX_THREAD_CPUTIME 1
- #define _POSIX_SPORADIC_SERVER 1
- #define _POSIX_THREAD_SPORADIC_SERVER 1
- #define _POSIX_DEVICE_CONTROL 1
- #define _POSIX_DEVCTL_DIRECTION 1
- #define _POSIX_INTERRUPT_CONTROL 1
- #define _POSIX_ADVISORY_INFO 1
-
- #endif
-
- #ifdef __svr4__
- # define _POSIX_JOB_CONTROL 1
- # define _POSIX_SAVED_IDS 1
- # define _POSIX_VERSION 199009L
- #endif
-
- #ifdef __CYGWIN__
- # define _POSIX_JOB_CONTROL 1
- # define _POSIX_SAVED_IDS 0
- # define _POSIX_VERSION 199009L
- # define _POSIX_THREADS 1
- # define _POSIX_THREAD_PROCESS_SHARED 1
- # define _POSIX_THREAD_SAFE_FUNCTIONS 1
- # define _POSIX_THREAD_PRIORITY_SCHEDULING 1
- # define _POSIX_THREAD_ATTR_STACKSIZE 1
- # define _POSIX_SEMAPHORES 1
- #endif
-
- #ifdef __cplusplus
- }
- #endif
- #endif /* _SYS_FEATURES_H */
-