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