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