Merge branch 'mesa_7_7_branch'
[profile/ivi/mesa.git] / include / VG / vgplatform.h
1 /* $Revision: 6810 $ on $Date:: 2008-10-29 10:31:37 -0400 #$ */\r
2 \r
3 /*------------------------------------------------------------------------\r
4  *\r
5  * VG platform specific header Reference Implementation\r
6  * ----------------------------------------------------\r
7  *\r
8  * Copyright (c) 2008 The Khronos Group Inc.\r
9  *\r
10  * Permission is hereby granted, free of charge, to any person obtaining a\r
11  * copy of this software and /or associated documentation files\r
12  * (the "Materials "), to deal in the Materials without restriction,\r
13  * including without limitation the rights to use, copy, modify, merge,\r
14  * publish, distribute, sublicense, and/or sell copies of the Materials,\r
15  * and to permit persons to whom the Materials are furnished to do so,\r
16  * subject to the following conditions: \r
17  *\r
18  * The above copyright notice and this permission notice shall be included \r
19  * in all copies or substantial portions of the Materials. \r
20  *\r
21  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
22  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
23  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r
24  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\r
25  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\r
26  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR\r
27  * THE USE OR OTHER DEALINGS IN THE MATERIALS.\r
28  *\r
29  *//**\r
30  * \file\r
31  * \brief VG platform specific header\r
32  *//*-------------------------------------------------------------------*/\r
33 \r
34 #ifndef _VGPLATFORM_H\r
35 #define _VGPLATFORM_H\r
36 \r
37 #ifdef __cplusplus\r
38 extern "C" {\r
39 #endif\r
40 \r
41 #if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 303\r
42 #  define VG_API_CALL __attribute__((visibility("default")))\r
43 #  define VGU_API_CALL __attribute__((visibility("default")))\r
44 #endif\r
45 \r
46 #ifndef VG_API_CALL \r
47 #if defined(OPENVG_STATIC_LIBRARY)\r
48 #       define VG_API_CALL\r
49 #else\r
50 #       if defined(_WIN32) || defined(__VC32__)                         /* Win32 */\r
51 #               if defined (OPENVG_DLL_EXPORTS)\r
52 #                       define VG_API_CALL __declspec(dllexport)\r
53 #               else\r
54 #                       define VG_API_CALL __declspec(dllimport)\r
55 #               endif\r
56 #       else \r
57 #               define VG_API_CALL extern\r
58 #       endif /* defined(_WIN32) ||... */\r
59 #endif /* defined OPENVG_STATIC_LIBRARY */\r
60 #endif /* ifndef VG_API_CALL */\r
61 \r
62 #ifndef VGU_API_CALL \r
63 #if defined(OPENVG_STATIC_LIBRARY)\r
64 #       define VGU_API_CALL\r
65 #else\r
66 #       if defined(_WIN32) || defined(__VC32__)                         /* Win32 */\r
67 #               if defined (OPENVG_DLL_EXPORTS)\r
68 #                       define VGU_API_CALL __declspec(dllexport)\r
69 #               else\r
70 #                       define VGU_API_CALL __declspec(dllimport)\r
71 #               endif\r
72 #       else \r
73 #               define VGU_API_CALL extern\r
74 #       endif /* defined(_WIN32) ||... */\r
75 #endif /* defined OPENVG_STATIC_LIBRARY */\r
76 #endif /* ifndef VGU_API_CALL */\r
77 \r
78 \r
79 #ifndef VG_API_ENTRY\r
80 #define VG_API_ENTRY\r
81 #endif\r
82 \r
83 #ifndef VG_API_EXIT\r
84 #define VG_API_EXIT\r
85 #endif\r
86 \r
87 #ifndef VGU_API_ENTRY\r
88 #define VGU_API_ENTRY\r
89 #endif\r
90 \r
91 #ifndef VGU_API_EXIT\r
92 #define VGU_API_EXIT\r
93 #endif\r
94 \r
95 typedef float          VGfloat;\r
96 typedef signed char    VGbyte;\r
97 typedef unsigned char  VGubyte;\r
98 typedef signed short   VGshort;\r
99 typedef signed int     VGint;\r
100 typedef unsigned int   VGuint;\r
101 typedef unsigned int   VGbitfield;\r
102 \r
103 #ifndef VG_VGEXT_PROTOTYPES\r
104 #define VG_VGEXT_PROTOTYPES\r
105 #endif \r
106 \r
107 #ifdef __cplusplus \r
108 } /* extern "C" */\r
109 #endif\r
110 \r
111 #endif /* _VGPLATFORM_H */\r