CCAux  2.7.2.0
CCAux API reference
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator
CCPlatform.h
Go to the documentation of this file.
1 /************************************************
2 *
3 * CROSSCONTROL AUX API
4 *
5 * CCPlatform.h
6 *
7 * Version 2.7.2.0, 2014-08-25
8 *
9 * (c) maximatecc 2013
10 *
11 * File description:
12 * Platform dependent defines
13 *
14 ************************************************/
15 
16 #ifndef PLATFORM__H
17 #define PLATFORM__H
18 
19 //*****************************************************************************
20 // CALLING CONVENTION DEFINES
21 //*****************************************************************************
22 #ifdef __cplusplus
23 # define EXTERN_C extern "C"
24 #else
25 # define EXTERN_C
26 #endif
27 
28 #ifdef LINUX // Calling conventions
29 # define CCAUXDLL_API EXTERN_C
30 # define CCAUXDLL_CALLING_CONV
31 #else
32 # define CCAUXDLL_CALLING_CONV __stdcall
33 # if defined(CCAUXDLL_EXPORTS)
34  #define CCAUXDLL_API EXTERN_C
35 # else
36 # define CCAUXDLL_API __declspec(dllimport)
37 # endif
38 #endif
39 
40 #ifdef LINUX //Macros specifying ordinals for Win32
41 #define EXPORT_ORDINAL(ordinal)
42 #define EXPORT_ORDINAL_FUNCD(ordinal)
43 #else
44 #define EXPORT_ORDINAL(ordinal) comment(linker, "/EXPORT:"__FUNCTION__"="__FUNCDNAME__",@"#ordinal)
45 #define EXPORT_ORDINAL_FUNCD(ordinal) comment(linker, "/EXPORT:"__FUNCDNAME__",@"#ordinal)
46 #endif
47 
48 //*****************************************************************************
49 // CHARACTER TYPE
50 //*****************************************************************************
51 #ifdef LINUX // string types
52 # include <wchar.h>
53 # if defined(_UNICODE) || defined(UNICODE)
54 # define LPCTSTR whcar_t const *
55 # define TCHAR wchar_t
56 # define _T(x) L ## x
57 # else
58 # define LPCTSTR char const *
59 # define TCHAR char
60 # define _T(x) x
61 # endif
62 #else
63 # include <wchar.h>
64 #endif
65 
66 
67 #endif /* PLATFORM__H */
68