1/* 2 * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") 3 * Copyright (C) 2000, 2001 Internet Software Consortium. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 * PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18/* $Id: platform.h.in,v 1.21 2007/06/19 23:47:23 tbox Exp $ */ 19 20/*! \file */ 21 22#ifndef LWRES_PLATFORM_H 23#define LWRES_PLATFORM_H 1 24 25/***** 26 ***** Platform-dependent defines. 27 *****/ 28 29/*** 30 *** Network. 31 ***/ 32 33/* 34 * Define if this system needs the <netinet/in6.h> header file for IPv6. 35 */ 36@LWRES_PLATFORM_NEEDNETINETIN6H@ 37 38/* 39 * Define if this system needs the <netinet6/in6.h> header file for IPv6. 40 */ 41@LWRES_PLATFORM_NEEDNETINET6IN6H@ 42 43/* 44 * If sockaddrs on this system have an sa_len field, LWRES_PLATFORM_HAVESALEN 45 * will be defined. 46 */ 47@LWRES_PLATFORM_HAVESALEN@ 48 49/* 50 * If this system has the IPv6 structure definitions, LWRES_PLATFORM_HAVEIPV6 51 * will be defined. 52 */ 53@LWRES_PLATFORM_HAVEIPV6@ 54 55/* 56 * If this system is missing in6addr_any, LWRES_PLATFORM_NEEDIN6ADDRANY will 57 * be defined. 58 */ 59@LWRES_PLATFORM_NEEDIN6ADDRANY@ 60 61/* 62 * If this system is missing in6addr_loopback, 63 * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined. 64 */ 65@LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK@ 66 67/* 68 * If this system has in_addr6, rather than in6_addr, 69 * LWRES_PLATFORM_HAVEINADDR6 will be defined. 70 */ 71@LWRES_PLATFORM_HAVEINADDR6@ 72 73/* 74 * Defined if unistd.h does not cause fd_set to be delared. 75 */ 76@LWRES_PLATFORM_NEEDSYSSELECTH@ 77 78/* 79 * Used to control how extern data is linked; needed for Win32 platforms. 80 */ 81@LWRES_PLATFORM_USEDECLSPEC@ 82 83/* 84 * Defined this system needs vsnprintf() and snprintf(). 85 */ 86@LWRES_PLATFORM_NEEDVSNPRINTF@ 87 88/* 89 * If this system need a modern sprintf() that returns (int) not (char*). 90 */ 91@LWRES_PLATFORM_NEEDSPRINTF@ 92 93/* 94 * The printf format string modifier to use with lwres_uint64_t values. 95 */ 96@LWRES_PLATFORM_QUADFORMAT@ 97 98/*! \brief 99 * Define if this system needs strtoul. 100 */ 101@LWRES_PLATFORM_NEEDSTRTOUL@ 102 103#ifndef LWRES_PLATFORM_USEDECLSPEC 104#define LIBLWRES_EXTERNAL_DATA 105#else 106#ifdef LIBLWRES_EXPORTS 107#define LIBLWRES_EXTERNAL_DATA __declspec(dllexport) 108#else 109#define LIBLWRES_EXTERNAL_DATA __declspec(dllimport) 110#endif 111#endif 112 113/* 114 * Tell Emacs to use C mode on this file. 115 * Local Variables: 116 * mode: c 117 * End: 118 */ 119 120#endif /* LWRES_PLATFORM_H */ 121