1*706d0b42SXin Li /* 2*706d0b42SXin Li * Copyright 2017 Emmanuele Bassi 3*706d0b42SXin Li * 4*706d0b42SXin Li * Permission is hereby granted, free of charge, to any person obtaining a 5*706d0b42SXin Li * copy of this software and associated documentation files (the "Software"), 6*706d0b42SXin Li * to deal in the Software without restriction, including without limitation 7*706d0b42SXin Li * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8*706d0b42SXin Li * and/or sell copies of the Software, and to permit persons to whom the 9*706d0b42SXin Li * Software is furnished to do so, subject to the following conditions: 10*706d0b42SXin Li * 11*706d0b42SXin Li * The above copyright notice and this permission notice (including the next 12*706d0b42SXin Li * paragraph) shall be included in all copies or substantial portions of the 13*706d0b42SXin Li * Software. 14*706d0b42SXin Li * 15*706d0b42SXin Li * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16*706d0b42SXin Li * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17*706d0b42SXin Li * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18*706d0b42SXin Li * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19*706d0b42SXin Li * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20*706d0b42SXin Li * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21*706d0b42SXin Li * IN THE SOFTWARE. 22*706d0b42SXin Li */ 23*706d0b42SXin Li 24*706d0b42SXin Li /** @file common.h 25*706d0b42SXin Li * 26*706d0b42SXin Li * A common header file, used to define macros and shared symbols. 27*706d0b42SXin Li */ 28*706d0b42SXin Li 29*706d0b42SXin Li #ifndef EPOXY_COMMON_H 30*706d0b42SXin Li #define EPOXY_COMMON_H 31*706d0b42SXin Li 32*706d0b42SXin Li #ifdef __cplusplus 33*706d0b42SXin Li # define EPOXY_BEGIN_DECLS extern "C" { 34*706d0b42SXin Li # define EPOXY_END_DECLS } 35*706d0b42SXin Li #else 36*706d0b42SXin Li # define EPOXY_BEGIN_DECLS 37*706d0b42SXin Li # define EPOXY_END_DECLS 38*706d0b42SXin Li #endif 39*706d0b42SXin Li 40*706d0b42SXin Li #ifndef EPOXY_PUBLIC 41*706d0b42SXin Li # if defined(_MSC_VER) 42*706d0b42SXin Li # define EPOXY_PUBLIC __declspec(dllimport) extern 43*706d0b42SXin Li # else 44*706d0b42SXin Li # define EPOXY_PUBLIC extern 45*706d0b42SXin Li # endif 46*706d0b42SXin Li #endif 47*706d0b42SXin Li 48*706d0b42SXin Li #if defined(_MSC_VER) && !defined(__bool_true_false_are_defined) && (_MSC_VER < 1800) 49*706d0b42SXin Li typedef unsigned char bool; 50*706d0b42SXin Li # define false 0 51*706d0b42SXin Li # define true 1 52*706d0b42SXin Li #else 53*706d0b42SXin Li # include <stdbool.h> 54*706d0b42SXin Li #endif 55*706d0b42SXin Li 56*706d0b42SXin Li EPOXY_BEGIN_DECLS 57*706d0b42SXin Li 58*706d0b42SXin Li EPOXY_PUBLIC bool epoxy_extension_in_string(const char *extension_list, 59*706d0b42SXin Li const char *ext); 60*706d0b42SXin Li 61*706d0b42SXin Li EPOXY_END_DECLS 62*706d0b42SXin Li 63*706d0b42SXin Li #endif /* EPOXY_COMMON_H */ 64