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@ISC_PLATFORM_GSSAPIHEADER@
56
57/*
58 * Defined to <gssapi_krb5.h> or <gssapi/gssapi_krb5.h> for how to
59 * include the GSSAPI KRB5 header.
60 */
61@ISC_PLATFORM_GSSAPI_KRB5_HEADER@
62
63/*
64 * Defined to <krb5.h> or <krb5/krb5.h> for how to include
65 * the KRB5 header.
66 */
67@ISC_PLATFORM_KRB5HEADER@
68
69/*
70 * Define if the platform has <sys/un.h>.
71 */
72@ISC_PLATFORM_HAVESYSUNH@
73
74/*
75 * Defines for the noreturn attribute.
76 */
77@ISC_PLATFORM_NORETURN_PRE@
78@ISC_PLATFORM_NORETURN_POST@
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