1*53ee8cc1Swenshuai.xi /* 2*53ee8cc1Swenshuai.xi * Written by Joel Sherrill <joel@OARcorp.com>. 3*53ee8cc1Swenshuai.xi * 4*53ee8cc1Swenshuai.xi * COPYRIGHT (c) 1989-2000. 5*53ee8cc1Swenshuai.xi * 6*53ee8cc1Swenshuai.xi * On-Line Applications Research Corporation (OAR). 7*53ee8cc1Swenshuai.xi * 8*53ee8cc1Swenshuai.xi * Permission to use, copy, modify, and distribute this software for any 9*53ee8cc1Swenshuai.xi * purpose without fee is hereby granted, provided that this entire notice 10*53ee8cc1Swenshuai.xi * is included in all copies of any software which is or includes a copy 11*53ee8cc1Swenshuai.xi * or modification of this software. 12*53ee8cc1Swenshuai.xi * 13*53ee8cc1Swenshuai.xi * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED 14*53ee8cc1Swenshuai.xi * WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION 15*53ee8cc1Swenshuai.xi * OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS 16*53ee8cc1Swenshuai.xi * SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. 17*53ee8cc1Swenshuai.xi * 18*53ee8cc1Swenshuai.xi * $Id: features.h,v 1.7 2005/10/18 18:39:46 corinna Exp $ 19*53ee8cc1Swenshuai.xi */ 20*53ee8cc1Swenshuai.xi 21*53ee8cc1Swenshuai.xi #ifndef _SYS_FEATURES_H 22*53ee8cc1Swenshuai.xi #define _SYS_FEATURES_H 23*53ee8cc1Swenshuai.xi 24*53ee8cc1Swenshuai.xi #ifdef __cplusplus 25*53ee8cc1Swenshuai.xi extern "C" { 26*53ee8cc1Swenshuai.xi #endif 27*53ee8cc1Swenshuai.xi 28*53ee8cc1Swenshuai.xi /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes. */ 29*53ee8cc1Swenshuai.xi 30*53ee8cc1Swenshuai.xi #ifdef __rtems__ 31*53ee8cc1Swenshuai.xi #define _POSIX_JOB_CONTROL 1 32*53ee8cc1Swenshuai.xi #define _POSIX_SAVED_IDS 1 33*53ee8cc1Swenshuai.xi #define _POSIX_VERSION 199309L 34*53ee8cc1Swenshuai.xi #define _POSIX_ASYNCHRONOUS_IO 1 35*53ee8cc1Swenshuai.xi #define _POSIX_FSYNC 1 36*53ee8cc1Swenshuai.xi #define _POSIX_MAPPED_FILES 1 37*53ee8cc1Swenshuai.xi #define _POSIX_MEMLOCK 1 38*53ee8cc1Swenshuai.xi #define _POSIX_MEMLOCK_RANGE 1 39*53ee8cc1Swenshuai.xi #define _POSIX_MEMORY_PROTECTION 1 40*53ee8cc1Swenshuai.xi #define _POSIX_MESSAGE_PASSING 1 41*53ee8cc1Swenshuai.xi #define _POSIX_PRIORITIZED_IO 1 42*53ee8cc1Swenshuai.xi #define _POSIX_PRIORITY_SCHEDULING 1 43*53ee8cc1Swenshuai.xi #define _POSIX_REALTIME_SIGNALS 1 44*53ee8cc1Swenshuai.xi #define _POSIX_SEMAPHORES 1 45*53ee8cc1Swenshuai.xi #define _POSIX_SHARED_MEMORY_OBJECTS 1 46*53ee8cc1Swenshuai.xi #define _POSIX_SYNCHRONIZED_IO 1 47*53ee8cc1Swenshuai.xi #define _POSIX_TIMERS 1 48*53ee8cc1Swenshuai.xi 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xi /* In P1003.1b but defined by drafts at least as early as P1003.1c/D10 */ 51*53ee8cc1Swenshuai.xi #define _POSIX_THREADS 1 52*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_ATTR_STACKADDR 1 53*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_ATTR_STACKSIZE 1 54*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_PRIORITY_SCHEDULING 1 55*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_PRIO_INHERIT 1 56*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_PRIO_PROTECT 1 57*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_PROCESS_SHARED 1 58*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_SAFE_FUNCTIONS 1 59*53ee8cc1Swenshuai.xi 60*53ee8cc1Swenshuai.xi /* P1003.4b/D8 defines the constants below this comment. */ 61*53ee8cc1Swenshuai.xi #define _POSIX_SPAWN 1 62*53ee8cc1Swenshuai.xi #define _POSIX_TIMEOUTS 1 63*53ee8cc1Swenshuai.xi #define _POSIX_CPUTIME 1 64*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_CPUTIME 1 65*53ee8cc1Swenshuai.xi #define _POSIX_SPORADIC_SERVER 1 66*53ee8cc1Swenshuai.xi #define _POSIX_THREAD_SPORADIC_SERVER 1 67*53ee8cc1Swenshuai.xi #define _POSIX_DEVICE_CONTROL 1 68*53ee8cc1Swenshuai.xi #define _POSIX_DEVCTL_DIRECTION 1 69*53ee8cc1Swenshuai.xi #define _POSIX_INTERRUPT_CONTROL 1 70*53ee8cc1Swenshuai.xi #define _POSIX_ADVISORY_INFO 1 71*53ee8cc1Swenshuai.xi 72*53ee8cc1Swenshuai.xi #endif 73*53ee8cc1Swenshuai.xi 74*53ee8cc1Swenshuai.xi #ifdef __svr4__ 75*53ee8cc1Swenshuai.xi # define _POSIX_JOB_CONTROL 1 76*53ee8cc1Swenshuai.xi # define _POSIX_SAVED_IDS 1 77*53ee8cc1Swenshuai.xi # define _POSIX_VERSION 199009L 78*53ee8cc1Swenshuai.xi #endif 79*53ee8cc1Swenshuai.xi 80*53ee8cc1Swenshuai.xi #ifdef __CYGWIN__ 81*53ee8cc1Swenshuai.xi # define _POSIX_JOB_CONTROL 1 82*53ee8cc1Swenshuai.xi # define _POSIX_SAVED_IDS 0 83*53ee8cc1Swenshuai.xi # define _POSIX_VERSION 199009L 84*53ee8cc1Swenshuai.xi # define _POSIX_THREADS 1 85*53ee8cc1Swenshuai.xi # define _POSIX_THREAD_PROCESS_SHARED 1 86*53ee8cc1Swenshuai.xi # define _POSIX_THREAD_SAFE_FUNCTIONS 1 87*53ee8cc1Swenshuai.xi # define _POSIX_THREAD_PRIORITY_SCHEDULING 1 88*53ee8cc1Swenshuai.xi # define _POSIX_THREAD_ATTR_STACKSIZE 1 89*53ee8cc1Swenshuai.xi # define _POSIX_SEMAPHORES 1 90*53ee8cc1Swenshuai.xi # define _POSIX_TIMERS 1 91*53ee8cc1Swenshuai.xi # define _POSIX_MEMLOCK_RANGE 1 92*53ee8cc1Swenshuai.xi #endif 93*53ee8cc1Swenshuai.xi 94*53ee8cc1Swenshuai.xi #ifdef __cplusplus 95*53ee8cc1Swenshuai.xi } 96*53ee8cc1Swenshuai.xi #endif 97*53ee8cc1Swenshuai.xi #endif /* _SYS_FEATURES_H */ 98