1 /* -*- mode: C; c-file-style: "gnu" -*- */ 2 /* dbus-macros.h generic macros 3 * 4 * Copyright (C) 2002 Red Hat Inc. 5 * 6 * Licensed under the Academic Free License version 2.1 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 * 22 */ 23 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) 24 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents." 25 #endif 26 27 #ifndef DBUS_MACROS_H 28 #define DBUS_MACROS_H 29 30 #ifdef __cplusplus 31 # define DBUS_BEGIN_DECLS extern "C" { 32 # define DBUS_END_DECLS } 33 #else 34 # define DBUS_BEGIN_DECLS 35 # define DBUS_END_DECLS 36 #endif 37 38 #ifndef TRUE 39 # define TRUE 1 40 #endif 41 #ifndef FALSE 42 # define FALSE 0 43 #endif 44 45 #ifndef NULL 46 # ifdef __cplusplus 47 # define NULL (0L) 48 # else /* !__cplusplus */ 49 # define NULL ((void*) 0) 50 # endif /* !__cplusplus */ 51 #endif 52 53 #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) 54 #define DBUS_GNUC_DEPRECATED __attribute__((__deprecated__)) 55 #else 56 #define DBUS_GNUC_DEPRECATED 57 #endif 58 59 /* Normally docs are in .c files, but there isn't a .c file for this. */ 60 /** 61 * @defgroup DBusMacros Utility macros 62 * @ingroup DBus 63 * @brief #TRUE, #FALSE, #NULL, and so on 64 * 65 * Utility macros. 66 * 67 * @{ 68 */ 69 70 /** 71 * @def DBUS_BEGIN_DECLS 72 * 73 * Macro used prior to declaring functions in the D-Bus header 74 * files. Expands to "extern "C"" when using a C++ compiler, 75 * and expands to nothing when using a C compiler. 76 * 77 * Please don't use this in your own code, consider it 78 * D-Bus internal. 79 */ 80 /** 81 * @def DBUS_END_DECLS 82 * 83 * Macro used after declaring functions in the D-Bus header 84 * files. Expands to "}" when using a C++ compiler, 85 * and expands to nothing when using a C compiler. 86 * 87 * Please don't use this in your own code, consider it 88 * D-Bus internal. 89 */ 90 /** 91 * @def TRUE 92 * 93 * Expands to "1" 94 */ 95 /** 96 * @def FALSE 97 * 98 * Expands to "0" 99 */ 100 /** 101 * @def NULL 102 * 103 * A null pointer, defined appropriately for C or C++. 104 */ 105 /** 106 * @def DBUS_GNUC_DEPRECATED 107 * 108 * Tells gcc to warn about a function or type if it's used. 109 * Code marked in this way should also be enclosed in 110 * @code 111 * #ifndef DBUS_DISABLE_DEPRECATED 112 * deprecated stuff here 113 * #endif 114 * @endcode 115 * 116 * Please don't use this in your own code, consider it 117 * D-Bus internal. 118 */ 119 120 /** @} */ 121 122 #endif /* DBUS_MACROS_H */ 123