2
* libdpkg - Debian packaging suite library routines
3
* macros.h - C language support macros
5
* Copyright © 2008, 2009 Guillem Jover <guillem@debian.org>
7
* This is free software; you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as
9
* published by the Free Software Foundation; either version 2,
10
* or (at your option) any later version.
12
* This is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public
18
* License along with dpkg; if not, write to the Free Software
19
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25
/* Language definitions. */
28
#define DPKG_ATTR_UNUSED __attribute__((unused))
29
#define DPKG_ATTR_CONST __attribute__((constant))
30
#define DPKG_ATTR_NORET __attribute__((noreturn))
31
#define DPKG_ATTR_PRINTF(n) __attribute__((format(printf, n, n + 1)))
33
#define DPKG_ATTR_UNUSED
34
#define DPKG_ATTR_CONST
35
#define DPKG_ATTR_NORET
36
#define DPKG_ATTR_PRINTF(n)
40
#define DPKG_BEGIN_DECLS extern "C" {
41
#define DPKG_END_DECLS }
43
#define DPKG_BEGIN_DECLS
44
#define DPKG_END_DECLS
48
#define sizeof_array(a) (sizeof(a) / sizeof((a)[0]))
52
#define min(a, b) ((a) < (b) ? (a) : (b))
56
#define max(a, b) ((a) > (b) ? (a) : (b))
59
#endif /* DPKG_MACROS_H */