]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ldns/ldns/common.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ldns / 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_HAVE_INTTYPES_H  1
24 #define LDNS_BUILD_CONFIG_HAVE_ATTR_FORMAT 1
25 #define LDNS_BUILD_CONFIG_HAVE_ATTR_UNUSED 1
26 #define LDNS_BUILD_CONFIG_HAVE_SOCKLEN_T   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 #if !LDNS_BUILD_CONFIG_HAVE_SOCKLEN_T
70 typedef int socklen_t;
71 #endif
72
73 #endif /* LDNS_COMMON_H */