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