Rsh API  SDK 2.1
Документация по программированию
 Указатель Классы Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы Страницы
RshDefChk.h
См. документацию.
1 
18 #ifndef RSH_DEF_CHK_H
19 #define RSH_DEF_CHK_H
20 
21 //check what compiler is used
22 #if defined(__MINGW32__) || defined (__MINGW64__)
23  #define RSH_COMPILER_MINGW
24 #elif defined(__GNUC__)
25  #define RSH_COMPILER_GNUC
26 #elif defined(__BORLANDC__)
27  #define RSH_COMPILER_BORLANDC
28  #define __attribute__(a)
29 #elif defined (_MSC_VER)
30  #define RSH_COMPILER_MSVC
31  #define __attribute__(a)
32 #else
33  #error Unknown compiler is used! Comment this line if you know what you do.
34 #endif
35 
36 //check what system we are running on
37 #if defined(_WIN32) || defined(_WIN64)
38  #define RSH_MSWINDOWS
39 #elif defined (__linux__)
40  #define RSH_LINUX
41 #else
42  #error Rsh API is not tested with this OS! Comment this line if you know what you do.
43 #endif
44 
45 #if defined(RSH_MSWINDOWS)
46 
47 #define NOMINMAX // fix problem with QDataTime -> windows.h in Qt; must be defined before include of windows.h
48 
49 #include <windows.h>
50 #include <process.h>
51 #include <time.h>
52 
53 #define __RSHCALLCONV __stdcall
54 #define __rshisfinite(a) _finite(a)
55 #define __rshmssleep(a) Sleep(a)
56 
57 #ifdef RSH_COMPILER_BORLANDC
58  #define __rshgetpid() getpid()
59 #else
60  #define __rshgetpid() _getpid()
61 #endif
62 
63 #elif defined(RSH_LINUX)
64 
65 //default paths to rsh binaries
66 //these defines are used in RshDllClient class and RshStaticFactory.cpp
67 #define RSH_DLL_BOARDS_DIRECTORY "/usr/lib/RSH/boards/"
68 #define RSH_DLL_LIBRARIES_DIRECTORY "/usr/lib/RSH/libraries/"
69 #define RSH_DLL_DPA_DIRECTORY "/usr/lib/RSH/DPA/"
70 
71 #include <cstdarg>
72 #include <float.h>
73 #include <unistd.h>
74 #include <stdio.h>
75 #include <string.h>
76 #include <dlfcn.h>
77 #include <errno.h>
78 #include <linux/types.h> // Linux types
79 #include <linux/stddef.h> // size_t, ptrdiff_t
80 #include <sys/time.h>
81 
82 #define __RSHCALLCONV
83 #define __rshisfinite(a) isfinite(a)
84 #define __rshmssleep(a) usleep(a * 1000)
85 #define __rshgetpid() getpid()
86 #endif
87 
88 
89 
90 #if !defined(PLX_LINUX) && !defined(PLX_MSWINDOWS)
91 #if defined(RSH_LINUX)
92 typedef __s8 S8;
93 typedef __u8 U8;
94 typedef __s16 S16;
95 typedef __u16 U16;
96 typedef __s32 S32;
97 typedef __u32 U32;
98 typedef __s64 S64;
99 typedef __u64 U64;
100 #elif defined(RSH_MSWINDOWS)
101 typedef signed char S8;
102 typedef unsigned char U8;
103 typedef signed short S16;
104 typedef unsigned short U16;
105 typedef signed long S32;
106 typedef unsigned long U32;
107 typedef signed __int64 S64;
108 typedef unsigned __int64 U64;
109 #endif
110 #endif
111 
112 #define IN // input parameter marker
113 #define OUT // output parameter marker
114 
115 #if !defined(VOID)
116 typedef void VOID;
117 #endif
118 
119 #if !defined(NULL)
120 #define NULL ((VOID *) 0x0)
121 #endif
122 
123 
124 #endif //RSH_DEF_CHK_H