RTI Connext DDS Micro  Version 2.4.11
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
osapi_config.h
Go to the documentation of this file.
1 /*
2  * FILE: osapi_os.h - OS Configuration
3  *
4  * (c) Copyright, Real-Time Innovations, 2012-2016
5  *
6  * All rights reserved.
7  *
8  * No duplications, whole or partial, manual or electronic, may be made
9  * without express written permission. Any such copies, or
10  * revisions thereof, must display this notice unaltered.
11  * This code contains trade secrets of Real-Time Innovations, Inc.
12  *
13  * Modification History
14  * --------------------
15  * 28jun2016,tk MICRO-1548 Cleaned up system header file use for POSIX
16  * 23apr2013,eh MICRO-106 Add RTI_HAVE_LONG_DOUBLE comment
17  * 23feb2012,tk Written
18  *
19  */
20 /*ce \file
21  * \brief OS API Configuration
22  */
23 #ifndef osapi_config_h
24 #define osapi_config_h
25 
26 /* The global configuration is read first. Local definitions must
27  * check if the global configuration has set an option or not. Note that
28  * a module cannot disable a feature.
29  */
30 #ifdef HAVE_GLOBAL_CONFIG
31 #include "rti_me_config.h"
32 #endif
33 
34 /*
35  * ENABLE_FACE_COMPLIANCE:
36  * 0 - No compliance with FACE is required
37  * 1 - Comply with the SECURITY profile (not supported)
38  * 2 - Comply with the SAFTEY_BASE profile (supported)
39  * 3 - Comply with the SAFETY_EXTENDED profile (supported)
40  * 4 - Comply with the GENERAL profile (supported)
41  */
42 #define FACE_COMPLIANCE_LEVEL_NONE 0
43 #define FACE_COMPLIANCE_LEVEL_SECURITY 1
44 #define FACE_COMPLIANCE_LEVEL_SAFETY_BASE 2
45 #define FACE_COMPLIANCE_LEVEL_SAFETY_EXTENDED 3
46 #define FACE_COMPLIANCE_LEVEL_GENERAL 4
47 
48 #ifndef ENABLE_FACE_COMPLIANCE
49 #define ENABLE_FACE_COMPLIANCE FACE_COMPLIANCE_LEVEL_NONE
50 #endif
51 
52 #if (ENABLE_FACE_COMPLIANCE > FACE_COMPLIANCE_LEVEL_NONE) && \
53  (ENABLE_FACE_COMPLIANCE < FACE_COMPLIANCE_LEVEL_SAFTEY_EXTENDED)
54 #error "RTI Connext Micro only support FACE profile Safety Extended and higher"
55 #endif
56 
57 /* Enable/Disable default logging unless already defined */
58 #ifndef OSAPI_ENABLE_LOG
59 #if NDEBUG && defined(RTI_CERT)
60 #define OSAPI_ENABLE_LOG 0
61 #else
62 #define OSAPI_ENABLE_LOG 1
63 #endif
64 #endif
65 
66 /* Enable/Disable default tracing unless already defined */
67 #ifndef OSAPI_ENABLE_TRACE
68 #if NDEBUG || defined(RTI_CERT)
69 #define OSAPI_ENABLE_TRACE 0
70 #else
71 #define OSAPI_ENABLE_TRACE 1
72 #endif
73 #endif
74 
75 #if OSAPI_ENABLE_TRACE && !OSAPI_ENABLE_LOG
76 #warning "OSAPI_ENABLE_TRACE=1 requires OSAPI_ENABLE_LOG=1, but OSAPI_ENABLE_LOG=0. Forcing OSAPI_ENABLE_LOG=1"
77 #ifdef OSAPI_ENABLE_LOG
78 #undef OSAPI_ENABLE_LOG
79 #endif
80 #define OSAPI_ENABLE_LOG 1
81 #endif
82 
83 /* Enable/Disable default precondition unless already defined */
84 #ifndef OSAPI_ENABLE_PRECONDITION
85 #if NDEBUG || defined(RTI_CERT)
86 #define OSAPI_ENABLE_PRECONDITION 0
87 #else
88 #define OSAPI_ENABLE_PRECONDITION 1
89 #endif
90 #endif
91 
92 /* Enable native long double (128 bit float). This is not supported on
93  * all platforms. The default is to implement it as a 16 byte octet array
94  * since Micro does not actually use the value.
95  */
96 #ifndef OSAPI_ENABLE_LONG_DOUBLE
97 #define OSAPI_ENABLE_LONG_DOUBLE 0
98 #endif
99 
100 /* The maximum number of threads that can be suspended
101  * at the same time.
102  */
103 #ifndef OSAPI_SYSTEM_MAX_THREAD_SEMAPHORE
104 #define OSAPI_SYSTEM_MAX_THREAD_SEMAPHORE (32)
105 #endif
106 /*******************************************************************************
107  * Include OS definitions
108  ******************************************************************************/
109 #include "osapi_os.h"
110 
111 /*******************************************************************************
112  * Include compiler definitions
113  ******************************************************************************/
114 #include "osapi_cc.h"
115 
116 #endif /* osapi_config_h */

RTI Connext DDS Micro Version 2.4.11 Copyright © Mon Jul 23 2018 Real-Time Innovations, Inc