1 /* 2 * Copyright (C) 2004, 2005, 2007, 2014 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 #undef LWRES_PLATFORM_NEEDNETINETIN6H 37 38 /* 39 * Define if this system needs the <netinet6/in6.h> header file for IPv6. 40 */ 41 #undef 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 #define LWRES_PLATFORM_HAVESALEN 1 48 49 /* 50 * If this system has the IPv6 structure definitions, LWRES_PLATFORM_HAVEIPV6 51 * will be defined. 52 */ 53 #define LWRES_PLATFORM_HAVEIPV6 1 54 55 /* 56 * If this system is missing in6addr_any, LWRES_PLATFORM_NEEDIN6ADDRANY will 57 * be defined. 58 */ 59 #undef LWRES_PLATFORM_NEEDIN6ADDRANY 60 61 /* 62 * If this system is missing in6addr_loopback, 63 * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined. 64 */ 65 #undef 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 #undef LWRES_PLATFORM_HAVEINADDR6 72 73 /* 74 * Defined if unistd.h does not cause fd_set to be delared. 75 */ 76 #undef LWRES_PLATFORM_NEEDSYSSELECTH 77 78 /* 79 * Used to control how extern data is linked; needed for Win32 platforms. 80 */ 81 #undef LWRES_PLATFORM_USEDECLSPEC 82 83 /* 84 * Defined this system needs vsnprintf() and snprintf(). 85 */ 86 #undef LWRES_PLATFORM_NEEDVSNPRINTF 87 88 /* 89 * If this system need a modern sprintf() that returns (int) not (char*). 90 */ 91 #undef LWRES_PLATFORM_NEEDSPRINTF 92 93 /* 94 * The printf format string modifier to use with lwres_uint64_t values. 95 */ 96 #define LWRES_PLATFORM_QUADFORMAT "ll" 97 98 /*! \brief 99 * Define if this system needs strtoul. 100 */ 101 #undef LWRES_PLATFORM_NEEDSTRTOUL 102 103 /*! \brief 104 * Define if this system needs strlcpy. 105 */ 106 #undef LWRES_PLATFORM_NEEDSTRLCPY 107 108 #ifndef LWRES_PLATFORM_USEDECLSPEC 109 #define LIBLWRES_EXTERNAL_DATA 110 #else 111 #ifdef LIBLWRES_EXPORTS 112 #define LIBLWRES_EXTERNAL_DATA __declspec(dllexport) 113 #else 114 #define LIBLWRES_EXTERNAL_DATA __declspec(dllimport) 115 #endif 116 #endif 117 118 /* 119 * Tell Emacs to use C mode on this file. 120 * Local Variables: 121 * mode: c 122 * End: 123 */ 124 125 #endif /* LWRES_PLATFORM_H */ 126