ldns: Update local files for update to 1.6.11
[dragonfly.git] / lib / libldns / ldns / common.h
1 /**
2  * \file common.h
3  *
4  * Common definitions for LDNS
5  */
6
7 /**
8  * a Net::DNS like library for C
9  *
10  * (c) NLnet Labs, 2004-2006
11  *
12  * See the file LICENSE for the license
13  */
14
15 #ifndef LDNS_COMMON_H
16 #define LDNS_COMMON_H
17
18 /*
19  * The build configuration that is used in the distributed headers,
20  * as detected and determined by the auto configure script.
21  */
22 #define LDNS_BUILD_CONFIG_HAVE_SSL         1
23 #define LDNS_BUILD_CONFIG_USE_ECDSA        0
24 #define LDNS_BUILD_CONFIG_HAVE_INTTYPES_H  1
25 #define LDNS_BUILD_CONFIG_HAVE_ATTR_FORMAT 1
26 #define LDNS_BUILD_CONFIG_HAVE_ATTR_UNUSED 1
27
28 /*
29  * HAVE_STDBOOL_H is not available when distributed as a library, but no build 
30  * configuration variables may be used (like those above) because the header
31  * is sometimes only available when using special compiler flags to enable the
32  * c99 environment. Because we cannot force the usage of this flag, we have to
33  * provide a default type. Below what is suggested by the autoconf manual.
34  */
35 /*@ignore@*/
36 /* splint barfs on this construct */
37 #ifdef HAVE_STDBOOL_H
38 # include <stdbool.h>
39 #else
40 # ifndef HAVE__BOOL
41 #  ifdef __cplusplus
42 typedef bool _Bool;
43 #  else
44 #   define _Bool signed char
45 #  endif
46 # endif
47 # define bool _Bool
48 # define false 0
49 # define true 1
50 # define __bool_true_false_are_defined 1
51 #endif
52 /*@end@*/
53
54 #if LDNS_BUILD_CONFIG_HAVE_ATTR_FORMAT
55 #define ATTR_FORMAT(archetype, string_index, first_to_check) \
56     __attribute__ ((format (archetype, string_index, first_to_check)))
57 #else /* !LDNS_BUILD_CONFIG_HAVE_ATTR_FORMAT */
58 #define ATTR_FORMAT(archetype, string_index, first_to_check) /* empty */
59 #endif /* !LDNS_BUILD_CONFIG_HAVE_ATTR_FORMAT */
60
61 #if defined(__cplusplus)
62 #define ATTR_UNUSED(x)
63 #elif LDNS_BUILD_CONFIG_HAVE_ATTR_UNUSED
64 #define ATTR_UNUSED(x)  x __attribute__((unused))
65 #else /* !LDNS_BUILD_CONFIG_HAVE_ATTR_UNUSED */
66 #define ATTR_UNUSED(x)  x
67 #endif /* !LDNS_BUILD_CONFIG_HAVE_ATTR_UNUSED */
68
69 #endif /* LDNS_COMMON_H */