/usr/include/isc/platform.h is in libbind-dev 1:9.11.3+dfsg-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 | /*
* Copyright (C) 1999-2010, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#ifndef ISC_PLATFORM_H
#define ISC_PLATFORM_H 1
/*! \file */
/*****
***** Platform-dependent defines.
*****/
/***
*** Network.
***/
/*! \brief
* Define if this system needs the <netinet/in6.h> header file included
* for full IPv6 support (pretty much only UnixWare).
*/
#undef ISC_PLATFORM_NEEDNETINETIN6H
/*! \brief
* Define if this system needs the <netinet6/in6.h> header file included
* to support in6_pkinfo (pretty much only BSD/OS).
*/
#undef ISC_PLATFORM_NEEDNETINET6IN6H
/*! \brief
* If sockaddrs on this system have an sa_len field, ISC_PLATFORM_HAVESALEN
* will be defined.
*/
#undef ISC_PLATFORM_HAVESALEN
/*! \brief
* If this system has the IPv6 structure definitions, ISC_PLATFORM_HAVEIPV6
* will be defined.
*/
#define ISC_PLATFORM_HAVEIPV6 1
/*! \brief
* If this system is missing in6addr_any, ISC_PLATFORM_NEEDIN6ADDRANY will
* be defined.
*/
#undef ISC_PLATFORM_NEEDIN6ADDRANY
/*! \brief
* If this system is missing in6addr_loopback, ISC_PLATFORM_NEEDIN6ADDRLOOPBACK
* will be defined.
*/
#undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK
/*! \brief
* If this system has in6_pktinfo, ISC_PLATFORM_HAVEIN6PKTINFO will be
* defined.
*/
#define ISC_PLATFORM_HAVEIN6PKTINFO 1
/*! \brief
* If this system has in_addr6, rather than in6_addr, ISC_PLATFORM_HAVEINADDR6
* will be defined.
*/
#undef ISC_PLATFORM_HAVEINADDR6
/*! \brief
* If this system has sin6_scope_id, ISC_PLATFORM_HAVESCOPEID will be defined.
*/
#define ISC_PLATFORM_HAVESCOPEID 1
/*! \brief
* If this system needs inet_ntop(), ISC_PLATFORM_NEEDNTOP will be defined.
*/
#undef ISC_PLATFORM_NEEDNTOP
/*! \brief
* If this system needs inet_pton(), ISC_PLATFORM_NEEDPTON will be defined.
*/
#undef ISC_PLATFORM_NEEDPTON
/*! \brief
* If this system needs in_port_t, ISC_PLATFORM_NEEDPORTT will be defined.
*/
#undef ISC_PLATFORM_NEEDPORTT
/*! \brief
* Define if the system has struct lifconf which is a extended struct ifconf
* for IPv6.
*/
#undef ISC_PLATFORM_HAVELIFCONF
/*! \brief
* Define if the system has struct if_laddrconf which is a extended struct
* ifconf for IPv6.
*/
#undef ISC_PLATFORM_HAVEIF_LADDRCONF
/*! \brief
* Define if the system has struct if_laddrreq.
*/
#undef ISC_PLATFORM_HAVEIF_LADDRREQ
/*! \brief
* Define either ISC_PLATFORM_BSD44MSGHDR or ISC_PLATFORM_BSD43MSGHDR.
*/
#define ISC_NET_BSD44MSGHDR 1
/*! \brief
* Define if the system supports if_nametoindex.
*/
#define ISC_PLATFORM_HAVEIFNAMETOINDEX 1
/*! \brief
* Define on some UnixWare systems to fix erroneous definitions of various
* IN6_IS_ADDR_* macros.
*/
#undef ISC_PLATFORM_FIXIN6ISADDR
/*! \brief
* Define if the system has struct sockaddr_storage.
*/
#define ISC_PLATFORM_HAVESOCKADDRSTORAGE 1
/*! \brief
* Define if the system has TCP_FASTOPEN socket option.
*/
#define ISC_PLATFORM_HAVETFO 1
/*! \brief
* Define if the system supports kqueue multiplexing
*/
#undef ISC_PLATFORM_HAVEKQUEUE
/*! \brief
* Define if the system supports epoll multiplexing
*/
#define ISC_PLATFORM_HAVEEPOLL 1
/*! \brief
* Define if the system supports /dev/poll multiplexing
*/
#undef ISC_PLATFORM_HAVEDEVPOLL
/*! \brief
* Define if we want to log backtrace
*/
#define ISC_PLATFORM_USEBACKTRACE 1
/*
*** Printing.
***/
/*! \brief
* If this system needs vsnprintf() and snprintf(), ISC_PLATFORM_NEEDVSNPRINTF
* will be defined.
*/
#undef ISC_PLATFORM_NEEDVSNPRINTF
/*! \brief
* If this system need a modern sprintf() that returns (int) not (char*).
*/
#undef ISC_PLATFORM_NEEDSPRINTF
/*! \brief
* If this system need a modern printf() that format size %z (size_t).
*/
#undef ISC_PLATFORM_NEEDPRINTF
/*! \brief
* If this system need a modern fprintf() that format size %z (size_t).
*/
#undef ISC_PLATFORM_NEEDFPRINTF
/*! \brief
* The printf format string modifier to use with isc_uint64_t values.
*/
#define ISC_PLATFORM_QUADFORMAT "ll"
/***
*** String functions.
***/
/*
* If the system needs strsep(), ISC_PLATFORM_NEEDSTRSEP will be defined.
*/
#undef ISC_PLATFORM_NEEDSTRSEP
/*
* If the system needs strlcpy(), ISC_PLATFORM_NEEDSTRLCPY will be defined.
*/
#define ISC_PLATFORM_NEEDSTRLCPY 1
/*
* If the system needs strlcat(), ISC_PLATFORM_NEEDSTRLCAT will be defined.
*/
#define ISC_PLATFORM_NEEDSTRLCAT 1
/*
* Define if this system needs strtoul.
*/
#undef ISC_PLATFORM_NEEDSTRTOUL
/*
* Define if this system needs memmove.
*/
#undef ISC_PLATFORM_NEEDMEMMOVE
/*
* Define if this system needs strcasestr.
*/
#undef ISC_PLATFORM_NEEDSTRCASESTR
/***
*** Miscellaneous.
***/
/*
* Defined if we are using threads.
*/
#define ISC_PLATFORM_USETHREADS 1
/*
* Defined if unistd.h does not cause fd_set to be delared.
*/
#undef ISC_PLATFORM_NEEDSYSSELECTH
/*
* Defined to <gssapi.h> or <gssapi/gssapi.h> for how to include
* the GSSAPI header.
*/
#define ISC_PLATFORM_GSSAPIHEADER <gssapi/gssapi.h>
/*
* Defined to <gssapi_krb5.h> or <gssapi/gssapi_krb5.h> for how to
* include the GSSAPI KRB5 header.
*/
#define ISC_PLATFORM_GSSAPI_KRB5_HEADER <gssapi/gssapi_krb5.h>
/*
* Defined to <krb5.h> or <krb5/krb5.h> for how to include
* the KRB5 header.
*/
#define ISC_PLATFORM_KRB5HEADER <krb5/krb5.h>
/*
* Define if the system has nanosecond-level accuracy in file stats.
*/
#define ISC_PLATFORM_HAVESTATNSEC 1
/*
* Type used for resource limits.
*/
#define ISC_PLATFORM_RLIMITTYPE rlim_t
/*
* Define if your compiler supports "long long int".
*/
#define ISC_PLATFORM_HAVELONGLONG 1
/*
* Define if PTHREAD_ONCE_INIT should be surrounded by braces to
* prevent compiler warnings (such as with gcc on Solaris 2.8).
*/
#undef ISC_PLATFORM_BRACEPTHREADONCEINIT
/*
* Used to control how extern data is linked; needed for Win32 platforms.
*/
#undef ISC_PLATFORM_USEDECLSPEC
/*
* Define if the platform has <sys/un.h>.
*/
#define ISC_PLATFORM_HAVESYSUNH 1
/*
* If the "xadd" operation is available on this architecture,
* ISC_PLATFORM_HAVEXADD will be defined.
*/
#define ISC_PLATFORM_HAVEXADD 1
/*
* If the "xaddq" operation (64bit xadd) is available on this architecture,
* ISC_PLATFORM_HAVEXADDQ will be defined.
*/
#define ISC_PLATFORM_HAVEXADDQ 1
/*
* If the 32-bit "atomic swap" operation is available on this
* architecture, ISC_PLATFORM_HAVEATOMICSTORE" will be defined.
*/
#define ISC_PLATFORM_HAVEATOMICSTORE 1
/*
* If the 64-bit "atomic swap" operation is available on this
* architecture, ISC_PLATFORM_HAVEATOMICSTORE" will be defined.
*/
#define ISC_PLATFORM_HAVEATOMICSTOREQ 1
/*
* If the "compare-and-exchange" operation is available on this architecture,
* ISC_PLATFORM_HAVECMPXCHG will be defined.
*/
#define ISC_PLATFORM_HAVECMPXCHG 1
/*
* If <stdatomic.h> is available on this architecture,
* ISC_PLATFORM_HAVESTDATOMIC will be defined.
*/
#define ISC_PLATFORM_HAVESTDATOMIC 1
/*
* Define if gcc ASM extension is available
*/
#define ISC_PLATFORM_USEGCCASM 1
/*
* Define if Tru64 style ASM syntax must be used.
*/
#undef ISC_PLATFORM_USEOSFASM
/*
* Define if the standard __asm function must be used.
*/
#undef ISC_PLATFORM_USESTDASM
/*
* Define with the busy wait nop asm or function call.
*/
#define ISC_PLATFORM_BUSYWAITNOP asm("rep; nop")
/*
* Define if the platform has <strings.h>.
*/
#define ISC_PLATFORM_HAVESTRINGSH 1
/*
* Define if the hash functions must be provided by OpenSSL.
*/
#undef ISC_PLATFORM_OPENSSLHASH
/*
* Define if AES support is wanted
*/
#define ISC_PLATFORM_WANTAES 1
/*
* Defines for the noreturn attribute.
*/
#define ISC_PLATFORM_NORETURN_PRE
#define ISC_PLATFORM_NORETURN_POST __attribute__((noreturn))
/***
*** Windows dll support.
***/
/*
* Define if MacOS style of PPC assembly must be used.
* e.g. "r6", not "6", for register six.
*/
#undef ISC_PLATFORM_USEMACASM
#ifndef ISC_PLATFORM_USEDECLSPEC
#define LIBISC_EXTERNAL_DATA
#define LIBDNS_EXTERNAL_DATA
#define LIBISCCC_EXTERNAL_DATA
#define LIBISCCFG_EXTERNAL_DATA
#define LIBBIND9_EXTERNAL_DATA
#define LIBTESTS_EXTERNAL_DATA
#else /*! \brief ISC_PLATFORM_USEDECLSPEC */
#ifdef LIBISC_EXPORTS
#define LIBISC_EXTERNAL_DATA __declspec(dllexport)
#else
#define LIBISC_EXTERNAL_DATA __declspec(dllimport)
#endif
#ifdef LIBDNS_EXPORTS
#define LIBDNS_EXTERNAL_DATA __declspec(dllexport)
#else
#define LIBDNS_EXTERNAL_DATA __declspec(dllimport)
#endif
#ifdef LIBISCCC_EXPORTS
#define LIBISCCC_EXTERNAL_DATA __declspec(dllexport)
#else
#define LIBISCCC_EXTERNAL_DATA __declspec(dllimport)
#endif
#ifdef LIBISCCFG_EXPORTS
#define LIBISCCFG_EXTERNAL_DATA __declspec(dllexport)
#else
#define LIBISCCFG_EXTERNAL_DATA __declspec(dllimport)
#endif
#ifdef LIBBIND9_EXPORTS
#define LIBBIND9_EXTERNAL_DATA __declspec(dllexport)
#else
#define LIBBIND9_EXTERNAL_DATA __declspec(dllimport)
#endif
#ifdef LIBTESTS_EXPORTS
#define LIBTESTS_EXTERNAL_DATA __declspec(dllexport)
#else
#define LIBTESTS_EXTERNAL_DATA __declspec(dllimport)
#endif
#endif /*! \brief ISC_PLATFORM_USEDECLSPEC */
/*
* Tell emacs to use C mode for this file.
*
* Local Variables:
* mode: c
* End:
*/
#endif /* ISC_PLATFORM_H */
|