1 /* libFLAC - Free Lossless Audio Codec library 2 * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 8 * - Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 11 * - Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 15 * - Neither the name of the Xiph.org Foundation nor the names of its 16 * contributors may be used to endorse or promote products derived from 17 * this software without specific prior written permission. 18 * 19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 24 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 25 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 26 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 27 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 28 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 */ 31 32 #ifndef FLAC__EXPORT_H 33 #define FLAC__EXPORT_H 34 35 /** \file include/FLAC/export.h 36 * 37 * \brief 38 * This module contains #defines and symbols for exporting function 39 * calls, and providing version information and compiled-in features. 40 * 41 * See the \link flac_export export \endlink module. 42 */ 43 44 /** \defgroup flac_export FLAC/export.h: export symbols 45 * \ingroup flac 46 * 47 * \brief 48 * This module contains #defines and symbols for exporting function 49 * calls, and providing version information and compiled-in features. 50 * 51 * If you are compiling with MSVC and will link to the static library 52 * (libFLAC.lib) you should define FLAC__NO_DLL in your project to 53 * make sure the symbols are exported properly. 54 * 55 * \{ 56 */ 57 58 #if defined(FLAC__NO_DLL) || !defined(_MSC_VER) 59 #define FLAC_API 60 61 #else 62 63 #ifdef FLAC_API_EXPORTS 64 #define FLAC_API _declspec(dllexport) 65 #else 66 #define FLAC_API _declspec(dllimport) 67 68 #endif 69 #endif 70 71 /** These #defines will mirror the libtool-based library version number, see 72 * http://www.gnu.org/software/libtool/manual.html#Libtool-versioning 73 */ 74 #define FLAC_API_VERSION_CURRENT 10 75 #define FLAC_API_VERSION_REVISION 0 /**< see above */ 76 #define FLAC_API_VERSION_AGE 2 /**< see above */ 77 78 #ifdef __cplusplus 79 extern "C" { 80 #endif 81 82 /** \c 1 if the library has been compiled with support for Ogg FLAC, else \c 0. */ 83 extern FLAC_API int FLAC_API_SUPPORTS_OGG_FLAC; 84 85 #ifdef __cplusplus 86 } 87 #endif 88 89 /* \} */ 90 91 #endif 92