ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / Examples / Multiplatform / Protocol / VP_Os / vp_os.h
1 /**
2 ***************************************************************************
3 *
4 * Copyright (C) 2007 Parrot S.A.
5 *
6 * \date First Release 03/01/2007
7 * \date Last Modified 15/06/2009
8 ***************************************************************************
9 */
10
11 #ifndef _OS_H_
12 #define _OS_H_
13
14 /*
15  * Platforms support
16  */
17 #ifdef _WIN32
18 #include <windows.h>
19 #include <windef.h>
20 #endif // _WIN32
21
22 #undef INLINE
23
24 /*
25  * Compilers support
26  */
27 #ifdef _MSC_VER // Microsoft visual C++
28
29 #undef  FAILED
30 #define inline  __inline
31 #define INLINE  __forceinline
32
33 #define WEAK
34
35 #endif // _MSC_VER
36
37 #ifdef __GNUC__ // The Gnu Compiler Collection
38
39 #define _GNU_SOURCE
40
41 #ifndef USE_MINGW32
42 #define WINAPI
43 #else // USE_MINGW32
44 #undef  FAILED
45 #endif // USE_MINGW32
46
47 #define INLINE __inline__ __attribute__((always_inline))
48
49 #define WEAK __attribute__((weak))
50 #define NO_INSTRUMENT  __attribute__ ((no_instrument_function))
51
52 #endif // __GNUC__
53
54 #endif // _OS_H_
55