Home | History | Annotate | Download | only in pulse
      1 #ifndef foopulsecdeclhfoo
      2 #define foopulsecdeclhfoo
      3 
      4 /* $Id: cdecl.h 1971 2007-10-28 19:13:50Z lennart $ */
      5 
      6 /***
      7   This file is part of PulseAudio.
      8 
      9   Copyright 2004-2006 Lennart Poettering
     10 
     11   PulseAudio is free software; you can redistribute it and/or modify
     12   it under the terms of the GNU Lesser General Public License as published
     13   by the Free Software Foundation; either version 2 of the License,
     14   or (at your option) any later version.
     15 
     16   PulseAudio is distributed in the hope that it will be useful, but
     17   WITHOUT ANY WARRANTY; without even the implied warranty of
     18   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
     19   General Public License for more details.
     20 
     21   You should have received a copy of the GNU Lesser General Public License
     22   along with PulseAudio; if not, write to the Free Software
     23   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
     24   USA.
     25 ***/
     26 
     27 /** \file
     28  * C++ compatibility support */
     29 
     30 #ifdef __cplusplus
     31 /** If using C++ this macro enables C mode, otherwise does nothing */
     32 #define PA_C_DECL_BEGIN extern "C" {
     33 /** If using C++ this macros switches back to C++ mode, otherwise does nothing */
     34 #define PA_C_DECL_END }
     35 
     36 #else
     37 /** If using C++ this macro enables C mode, otherwise does nothing */
     38 #define PA_C_DECL_BEGIN
     39 /** If using C++ this macros switches back to C++ mode, otherwise does nothing */
     40 #define PA_C_DECL_END
     41 
     42 #endif
     43 
     44 #ifndef PA_GCC_PURE
     45 #ifdef __GNUCC__
     46 #define PA_GCC_PURE __attribute__ ((pure))
     47 #else
     48 /** This function's return value depends only the arguments list and global state **/
     49 #define PA_GCC_PURE
     50 #endif
     51 #endif
     52 
     53 #ifndef PA_GCC_CONST
     54 #ifdef __GNUCC__
     55 #define PA_GCC_CONST __attribute__ ((pure))
     56 #else
     57 /** This function's return value depends only the arguments list (stricter version of PA_GCC_CONST) **/
     58 #define PA_GCC_CONST
     59 #endif
     60 #endif
     61 
     62 #endif
     63