summaryrefslogtreecommitdiff
path: root/newlib/libc/sys/rtems/sys/features.h
blob: 8a6b8cb5a4b91bb3e788fbd76ddd7a70393c84b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*
 *  This file lists the symbols which may be defined to indicate
 *  the presence of POSIX features subsets.  If defined, the 
 *  feature must be supported.
 *
 *  NOTE:  This file lists all feature constants.  The ones not supported
 *         should be commented out.
 *
 *  XXX: These are all "Compile-Time Symbolic Constants".  Need to 
 *       address "Execution-Time" ones.
 *
 *  $Id$
 */

#ifndef __RTEMS_POSIX_FEATURES_h
#define __RTEMS_POSIX_FEATURES_h

/*
 *  XXX: Temporary function so we can break when something that is
 *       not implemented is invoked.
 */

int POSIX_MP_NOT_IMPLEMENTED( void );
int POSIX_NOT_IMPLEMENTED( void );
int POSIX_BOTTOM_REACHED( void );

/****************************************************************************
 ****************************************************************************
 *                                                                          *
 *         P1003.1b-1993 defines the constants below this comment.          *
 *                                                                          *
 **************************************************************************** 
 ****************************************************************************/

/*
 *  Newlib may already have this set defined.
 */

#ifndef _POSIX_JOB_CONTROL
#define _POSIX_JOB_CONTROL
#endif

#ifndef _POSIX_SAVED_IDS
#define _POSIX_SAVED_IDS
#endif

#define _POSIX_ASYNCHRONOUS_IO
#define _POSIX_FSYNC
#define _POSIX_MAPPED_FILES
#define _POSIX_MEMLOCK
#define _POSIX_MEMLOCK_RANGE
#define _POSIX_MEMORY_PROTECTION
#define _POSIX_MESSAGE_PASSING
#define _POSIX_PRIORITIZED_IO
#define _POSIX_PRIORITY_SCHEDULING
#define _POSIX_REALTIME_SIGNALS
#define _POSIX_SEMAPHORES
#define _POSIX_SHARED_MEMORY_OBJECTS
#define _POSIX_SYNCHRONIZED_IO
#define _POSIX_TIMERS

/*
 *  This indicates the version number of the POSIX standard we are
 *  trying to be compliant with.
 *
 *  NOTE: Newlib may already have this set defined.
 */

#ifdef _POSIX_VERSION
#undef _POSIX_VERSION
#define _POSIX_VERSION           199309L
#endif

/****************************************************************************
 ****************************************************************************
 *                                                                          *
 *         P1003.1c/D10 defines the constants below this comment.           *
 *                                                                          *
 **************************************************************************** 
 ****************************************************************************/

#define _POSIX_THREADS
#define _POSIX_THREAD_ATTR_STACKADDR
#define _POSIX_THREAD_ATTR_STACKSIZE
#define _POSIX_THREAD_PRIORITY_SCHEDULING
#define _POSIX_THREAD_PRIO_INHERIT
#define _POSIX_THREAD_PRIO_PROTECT
#define _POSIX_THREAD_PROCESS_SHARED
#define _POSIX_THREAD_SAFE_FUNCTIONS

/****************************************************************************
 ****************************************************************************
 *                                                                          *
 *         P1003.4b/D8 defines the constants below this comment.            *
 *                                                                          *
 **************************************************************************** 
 ****************************************************************************/

#define _POSIX_SPAWN
#define _POSIX_TIMEOUTS
#define _POSIX_CPUTIME
#define _POSIX_THREAD_CPUTIME
#define _POSIX_SPORADIC_SERVER
#define _POSIX_THREAD_SPORADIC_SERVER
#define _POSIX_DEVICE_CONTROL
#define _POSIX_DEVCTL_DIRECTION
#define _POSIX_INTERRUPT_CONTROL
#define _POSIX_ADVISORY_INFO

#endif
/* end of include file */