]> rtime.felk.cvut.cz Git - frescor/fosa.git/blob - include/fosa_opaque_types_time.h
Makefile: Add missing header file
[frescor/fosa.git] / include / fosa_opaque_types_time.h
1 // -----------------------------------------------------------------------
2 //  Copyright (C) 2006 - 2009 FRESCOR consortium partners:
3 //
4 //    Universidad de Cantabria,              SPAIN
5 //    University of York,                    UK
6 //    Scuola Superiore Sant'Anna,            ITALY
7 //    Kaiserslautern University,             GERMANY
8 //    Univ. Politécnica  Valencia,           SPAIN
9 //    Czech Technical University in Prague,  CZECH REPUBLIC
10 //    ENEA                                   SWEDEN
11 //    Thales Communication S.A.              FRANCE
12 //    Visual Tools S.A.                      SPAIN
13 //    Rapita Systems Ltd                     UK
14 //    Evidence                               ITALY
15 //
16 //    See http://www.frescor.org for a link to partners' websites
17 //
18 //           FRESCOR project (FP6/2005/IST/5-034026) is funded
19 //        in part by the European Union Sixth Framework Programme
20 //        The European Union is not liable of any use that may be
21 //        made of this code.
22 //
23 //
24 //  based on previous work (FSF) done in the FIRST project
25 //
26 //   Copyright (C) 2005  Mälardalen University, SWEDEN
27 //                       Scuola Superiore S.Anna, ITALY
28 //                       Universidad de Cantabria, SPAIN
29 //                       University of York, UK
30 //
31 //   FSF API web pages: http://marte.unican.es/fsf/docs
32 //                      http://shark.sssup.it/contrib/first/docs/
33 //
34 //   This file is part of FOSA (Frsh Operating System Adaption)
35 //
36 //  FOSA is free software; you can redistribute it and/or modify it
37 //  under terms of the GNU General Public License as published by the
38 //  Free Software Foundation; either version 2, or (at your option) any
39 //  later version.  FOSA is distributed in the hope that it will be
40 //  useful, but WITHOUT ANY WARRANTY; without even the implied warranty
41 //  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
42 //  General Public License for more details. You should have received a
43 //  copy of the GNU General Public License along with FOSA; see file
44 //  COPYING. If not, write to the Free Software Foundation, 675 Mass Ave,
45 //  Cambridge, MA 02139, USA.
46 //
47 //  As a special exception, including FOSA header files in a file,
48 //  instantiating FOSA generics or templates, or linking other files
49 //  with FOSA objects to produce an executable application, does not
50 //  by itself cause the resulting executable application to be covered
51 //  by the GNU General Public License. This exception does not
52 //  however invalidate any other reasons why the executable file might be
53 //  covered by the GNU Public License.
54 // -----------------------------------------------------------------------
55 //fosa_opaque_types_time.h
56 //==============================================
57 //  ********  ******    ********  **********
58 //  **///// /**    **  **//////  /**     /**
59 //  **      /**    ** /**        /**     /**
60 //  ******* /**    ** /********* /**********
61 //  **////  /**    ** ////////** /**//////**
62 //  **      /**    **        /** /**     /**
63 //  **      /**    **  ********  /**     /**
64 //  //       /******/  ////////   //      //
65 //
66 // FOSA(Frescor Operating System Adaptation layer)
67 //================================================
68
69 // Implementation dependent definitions
70
71 #ifndef _FOSA_OPAQUE_TYPES_TIME_H_
72 #define _FOSA_OPAQUE_TYPES_TIME_H_
73
74
75 ///////////////////////  MARTE_OS /////////////////////////////
76
77 #ifdef MARTE_OS
78
79 /**
80    Choose between:
81    -  struct timespec
82    -  numeric type (long, .long long, short)
83 **/
84
85 #define FOSA_TIME_TIMESPEC
86
87 typedef struct timespec FOSA_REL_TIME_T_OPAQUE;
88 typedef struct timespec FOSA_ABS_TIME_T_OPAQUE;
89
90
91 /*
92
93 #define FOSA_TIME_NUMERIC
94 #define FOSA_TIME_BASE 9    // 9 for nanosecods
95                             // 6 for microseconds
96                             // 3 for miliseconds
97
98 typedef long long FOSA_REL_TIME_T_OPAQUE;
99 typedef unsigned long long FOSA_ABS_TIME_T_OPAQUE;
100
101 */
102
103 /**
104    Possible additions:  FOSA_ABS_TIME_MAX, FOSA_ABS_TIME_MIN,
105    FOSA_REL_TIME_MAX, FOSA_REL_TIME_MIN to protect
106    operations against possible overflows or handle circular
107    increments.
108 **/
109
110 #endif /* MARTE_OS */
111
112 ///////////////////////  End of MARTE_OS  /////////////////////////////
113
114
115 /////////////////////// RT_LINUX ///////////////////////////
116
117 #ifdef RT_LINUX
118
119 /**
120    Choose between:
121    -  struct timespec
122    -  numeric type (long, .long long, short)
123 **/
124 /*
125 #define FOSA_TIME_TIMESPEC
126
127 typedef struct timespec FOSA_REL_TIME_T_OPAQUE;
128 typedef struct timespec FOSA_ABS_TIME_T_OPAQUE;
129
130 */
131
132 /*
133
134 #define FOSA_TIME_NUMERIC
135 #define FOSA_TIME_BASE 9    // 9 for nanosecods
136                             // 6 for microseconds
137                             // 3 for miliseconds
138
139 typedef long long FOSA_REL_TIME_T_OPAQUE;
140 typedef unsigned long long FOSA_ABS_TIME_T_OPAQUE;
141
142 */
143
144 /**
145    Possible additions:  FOSA_ABS_TIME_MAX, FOSA_ABS_TIME_MIN,
146    FOSA_REL_TIME_MAX, FOSA_REL_TIME_MIN to protect
147    operations against possible overflows or handle circular
148    increments.
149 **/
150
151 #endif /* RT_LINUX */
152
153
154 ///////////////////////  End of RT_LINUX /////////////////////////////
155
156
157
158 ////////////////////////// OSE    //////////////////////////////////////
159
160 #ifdef OSE
161
162 /**
163    Choose between:
164    -  struct timespec
165    -  numeric type (long, .long long, short)
166 **/
167
168 #define FOSA_TIME_TIMESPEC
169
170 typedef struct timespec FOSA_REL_TIME_T_OPAQUE;
171 typedef struct timespec FOSA_ABS_TIME_T_OPAQUE;
172
173 /*
174 #define FOSA_TIME_NUMERIC
175 #define FOSA_TIME_BASE 9    // 9 for nanosecods
176                             // 6 for microseconds
177                             // 3 for miliseconds
178
179 typedef long long FOSA_REL_TIME_T_OPAQUE;
180 typedef unsigned long long FOSA_ABS_TIME_T_OPAQUE;
181
182 */
183
184 /**
185    Possible additions:  FOSA_ABS_TIME_MAX, FOSA_ABS_TIME_MIN,
186    FOSA_REL_TIME_MAX, FOSA_REL_TIME_MIN to protect
187    operations against possible overflows or handle circular
188    increments.
189 **/
190
191
192 #endif /* OSE */
193
194 ///////////////////////  End of OSE ///////////////////////////////////
195
196 /////////////////////// AQuoSA ///////////////////////////
197
198 #ifdef AQuoSA
199
200 /**
201    Choose between:
202    -  struct timespec
203    -  numeric type (long, .long long, short)
204 **/
205
206
207 #define FOSA_TIME_TIMESPEC
208
209 typedef struct timespec FOSA_REL_TIME_T_OPAQUE;
210 typedef struct timespec FOSA_ABS_TIME_T_OPAQUE;
211
212
213 /*
214
215 #define FOSA_TIME_NUMERIC
216 #define FOSA_TIME_BASE 9    // 9 for nanosecods
217                             // 6 for microseconds
218                             // 3 for miliseconds
219
220 typedef long long FOSA_REL_TIME_T_OPAQUE;
221 typedef unsigned long long FOSA_ABS_TIME_T_OPAQUE;
222
223 */
224 /**
225    Possible additions:  FOSA_ABS_TIME_MAX, FOSA_ABS_TIME_MIN,
226    FOSA_REL_TIME_MAX, FOSA_REL_TIME_MIN to protect
227    operations against possible overflows or handle circular
228    increments.
229 **/
230
231
232 #endif /* AQuoSA */
233
234 ///////////////////////  End of AQuoSA ////////////////////////////////
235
236
237 /////////////////////// PARTIKLE ///////////////////////////
238
239 #ifdef PARTIKLE
240
241 /**
242    Choose between:
243    -  struct timespec
244    -  numeric type (long, .long long, short)
245 **/
246
247
248 #define FOSA_TIME_TIMESPEC
249
250 typedef struct timespec FOSA_REL_TIME_T_OPAQUE;
251 typedef struct timespec FOSA_ABS_TIME_T_OPAQUE;
252
253 /*
254
255 #define FOSA_TIME_NUMERIC
256 #define FOSA_TIME_BASE 9    // 9 for nanosecods
257                             // 6 for microseconds
258                             // 3 for miliseconds
259
260 typedef long long FOSA_REL_TIME_T_OPAQUE;
261 typedef unsigned long long FOSA_ABS_TIME_T_OPAQUE;
262
263 */
264
265 /**
266    Possible additions:  FOSA_ABS_TIME_MAX, FOSA_ABS_TIME_MIN,
267    FOSA_REL_TIME_MAX, FOSA_REL_TIME_MIN to protect
268    operations against possible overflows or handle circular
269    increments.
270 **/
271
272
273 #endif /* PARTIKLE */
274
275 ///////////////////////  End of PARTIKLE ////////////////////////////////
276
277 /////////////////////// VIRTUAL_TIME ///////////////////////////
278
279 #ifdef VIRTUAL_TIME
280
281 /**
282    Choose between:
283    -  struct timespec
284    -  numeric type (long, .long long, short)
285 **/
286
287
288
289 #define FOSA_TIME_TIMESPEC
290
291 typedef struct timespec FOSA_REL_TIME_T_OPAQUE;
292 typedef struct timespec FOSA_ABS_TIME_T_OPAQUE;
293
294
295 /*
296
297 #define FOSA_TIME_NUMERIC
298 #define FOSA_TIME_BASE 9    // 9 for nanosecods
299                             // 6 for microseconds
300                             // 3 for miliseconds
301
302 typedef long long FOSA_REL_TIME_T_OPAQUE;
303 typedef unsigned long long FOSA_ABS_TIME_T_OPAQUE;
304
305 */
306
307 /**
308    Possible additions:  FOSA_ABS_TIME_MAX, FOSA_ABS_TIME_MIN,
309    FOSA_REL_TIME_MAX, FOSA_REL_TIME_MIN to protect
310    operations against possible overflows or handle circular
311    increments.
312 **/
313
314
315 #endif /* VIRTUAL_TIME */
316
317 ///////////////////////  End of VIRTUAL_TIME //////////////////////////
318
319 /////////////////////// DUMMY_OS ///////////////////////////
320
321 #ifdef DUMMY_OS
322
323 /**
324    Choose between:
325    -  struct timespec
326    -  numeric type (long, .long long, short)
327 **/
328
329
330 #define FOSA_TIME_TIMESPEC
331
332 typedef struct timespec FOSA_REL_TIME_T_OPAQUE;
333 typedef struct timespec FOSA_ABS_TIME_T_OPAQUE;
334
335
336 /*
337
338 #define FOSA_TIME_NUMERIC
339 #define FOSA_TIME_BASE 9    // 9 for nanosecods
340                             // 6 for microseconds
341                             // 3 for miliseconds
342
343 typedef long long FOSA_REL_TIME_T_OPAQUE;
344 typedef unsigned long long FOSA_ABS_TIME_T_OPAQUE;
345
346 */
347
348 /**
349    Possible additions:  FOSA_ABS_TIME_MAX, FOSA_ABS_TIME_MIN,
350    FOSA_REL_TIME_MAX, FOSA_REL_TIME_MIN to protect
351    operations against possible overflows or handle circular
352    increments.
353 **/
354
355
356 #endif /* DUMMY_OS */
357
358 ///////////////////////  End of DUMMY_OS //////////////////////////
359
360 #endif /* FOSA_OPAQUE_TYPES_TIME_H */