XBinder  Version 2.6.x
rtxExternDefs.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2003-2018 Objective Systems, Inc.
3  *
4  * This software is furnished under a license and may be used and copied
5  * only in accordance with the terms of such license and with the
6  * inclusion of the above copyright notice. This software or any other
7  * copies thereof may not be provided or otherwise made available to any
8  * other person. No title to and ownership of the software is hereby
9  * transferred.
10  *
11  * The information in this software is subject to change without notice
12  * and should not be construed as a commitment by Objective Systems, Inc.
13  *
14  * PROPRIETARY NOTICE
15  *
16  * This software is an unpublished work subject to a confidentiality agreement
17  * and is protected by copyright and trade secret law. Unauthorized copying,
18  * redistribution or other use of this work is prohibited.
19  *
20  * The above notice of copyright on this source code product does not indicate
21  * any actual or intended publication of such source code.
22  *
23  *****************************************************************************/
24 
25 #ifndef _RTXEXTERNDEFS_H_
26 #define _RTXEXTERNDEFS_H_
27 
34 /* Symbian requires different exporting rules, and so we define different
35  * constants to turn on or off the appropriate linkage types. See
36  * rtsrc/rtExternDefs.h for more detail. */
37 #if defined(__SYMBIAN32__) /* OS: Symbian */
38 #define EXTRTCLASS /* turn off class externs */
39 
40 #ifndef EXTERN
41 #ifdef BUILDDLL
42 #define EXTERN EXPORT_C
43 #elif defined (USEDLL)
44 #define EXTERN IMPORT_C
45 #else
46 #define EXTERN
47 #endif /* BUILD/USE DLL */
48 #endif /* EXTERN */
49 
50 #ifndef EXTERNRT
51 #if defined(BUILDASN1RTDLL) || defined(BUILDRTXDLL)
52 #define EXTERNRT EXPORT_C
53 #define EXTRTMETHOD EXPORT_C /* turn on method externs */
54 #elif defined (USEASN1RTDLL) || defined(USERTXDLL)
55 #define EXTERNRT IMPORT_C
56 #define EXTRTMETHOD IMPORT_C
57 #else
58 #define EXTERNRT
59 #define EXTRTMETHOD
60 #endif /* BUILDASN1RTDLL */
61 #endif /* EXTERNRT */
62 
63 #else /* OS: Win, Unix, Linux, ... */
64 #define EXTRTMETHOD /* turn off method externs */
65 
66 #if defined(_WIN32) || defined(_WIN64)
67 #ifndef EXTERNRT
68 #if defined(BUILDASN1RTDLL) || defined(BUILDRTXDLL)
69 #define EXTERNRT __declspec(dllexport)
70 #define EXTRTCLASS __declspec(dllexport)
71 #elif defined (USERTXDLL) || defined(USEASN1RTDLL)
72 #define EXTERNRT __declspec(dllimport)
73 #define EXTRTCLASS __declspec(dllimport)
74 #else
75 #define EXTERNRT
76 #define EXTRTCLASS
77 #endif /* BUILDASN1RTDLL */
78 #endif /* EXTERNRT */
79 
80 #ifdef BUILDDLL
81 #define EXTERN __declspec(dllexport)
82 #elif defined (USEDLL)
83 #define EXTERN __declspec(dllimport)
84 #else
85 #define EXTERN
86 #endif /* BUILDDLL */
87 
88 #else /* not _WIN32 */
89 #define EXTERNRT
90 #define EXTRTCLASS
91 #define EXTERN
92 #endif
93 
94 #endif
95 #endif