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