xref: /netbsd-src/external/mpl/dhcp/bind/include/isc/platform.h (revision 4afad4b7fa6d4a0d3dedf41d1587a7250710ae54)
1 /*
2  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
3  *
4  * SPDX-License-Identifier: MPL-2.0
5  *
6  * This Source Code Form is subject to the terms of the Mozilla Public
7  * License, v. 2.0.  If a copy of the MPL was not distributed with this
8  * file, you can obtain one at https://mozilla.org/MPL/2.0/.
9  *
10  * See the COPYRIGHT file distributed with this work for additional
11  * information regarding copyright ownership.
12  */
13 
14 #ifndef ISC_PLATFORM_H
15 #define ISC_PLATFORM_H 1
16 
17 /*! \file */
18 
19 /*****
20  ***** Platform-dependent defines.
21  *****/
22 
23 /***
24  *** Default strerror_r buffer size
25  ***/
26 
27 #define ISC_STRERRORSIZE 128
28 
29 /***
30  *** System limitations
31  ***/
32 
33 #include <limits.h>
34 
35 #ifndef NAME_MAX
36 #define NAME_MAX 256
37 #endif
38 
39 #ifndef PATH_MAX
40 #define PATH_MAX 1024
41 #endif
42 
43 #ifndef IOV_MAX
44 #define IOV_MAX 1024
45 #endif
46 
47 /***
48  *** Miscellaneous.
49  ***/
50 
51 /*
52  * Defined to <gssapi.h> or <gssapi/gssapi.h> for how to include
53  * the GSSAPI header.
54  */
55 #define ISC_PLATFORM_GSSAPIHEADER <gssapi/gssapi.h>
56 
57 /*
58  * Defined to <gssapi_krb5.h> or <gssapi/gssapi_krb5.h> for how to
59  * include the GSSAPI KRB5 header.
60  */
61 #define ISC_PLATFORM_GSSAPI_KRB5_HEADER <gssapi/gssapi_krb5.h>
62 
63 /*
64  * Defined to <krb5.h> or <krb5/krb5.h> for how to include
65  * the KRB5 header.
66  */
67 #define ISC_PLATFORM_KRB5HEADER <krb5/krb5.h>
68 
69 /*
70  * Define if the platform has <sys/un.h>.
71  */
72 #define ISC_PLATFORM_HAVESYSUNH 1
73 
74 /*
75  * Defines for the noreturn attribute.
76  */
77 #define ISC_PLATFORM_NORETURN_PRE
78 #define ISC_PLATFORM_NORETURN_POST __attribute__((noreturn))
79 
80 /***
81  ***	Windows dll support.
82  ***/
83 
84 #define LIBISC_EXTERNAL_DATA
85 #define LIBDNS_EXTERNAL_DATA
86 #define LIBISCCC_EXTERNAL_DATA
87 #define LIBISCCFG_EXTERNAL_DATA
88 #define LIBNS_EXTERNAL_DATA
89 #define LIBBIND9_EXTERNAL_DATA
90 #define LIBTESTS_EXTERNAL_DATA
91 
92 /*
93  * Tell emacs to use C mode for this file.
94  *
95  * Local Variables:
96  * mode: c
97  * End:
98  */
99 
100 #endif /* ISC_PLATFORM_H */
101