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