1165000Skientzle/*- 2165912Skientzle * Copyright (c) 2003-2007 Tim Kientzle 3165000Skientzle * All rights reserved. 4165000Skientzle * 5165000Skientzle * Redistribution and use in source and binary forms, with or without 6165000Skientzle * modification, are permitted provided that the following conditions 7165000Skientzle * are met: 8165000Skientzle * 1. Redistributions of source code must retain the above copyright 9165912Skientzle * notice, this list of conditions and the following disclaimer. 10165000Skientzle * 2. Redistributions in binary form must reproduce the above copyright 11165000Skientzle * notice, this list of conditions and the following disclaimer in the 12165000Skientzle * documentation and/or other materials provided with the distribution. 13165000Skientzle * 14165000Skientzle * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR 15165000Skientzle * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 16165000Skientzle * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 17165000Skientzle * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, 18165000Skientzle * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 19165000Skientzle * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20165000Skientzle * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 21165000Skientzle * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22165000Skientzle * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 23165000Skientzle * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24165000Skientzle * 25165000Skientzle * $FreeBSD$ 26165000Skientzle */ 27165000Skientzle 28189431Skientzle/* FreeBSD 5.0 and later have ACL and extattr support. */ 29165000Skientzle#if __FreeBSD__ > 4 30165000Skientzle#define HAVE_ACL_CREATE_ENTRY 1 31201079Skientzle#define HAVE_ACL_GET_LINK_NP 1 32189427Skientzle#define HAVE_ACL_GET_PERM_NP 1 33165000Skientzle#define HAVE_ACL_INIT 1 34165000Skientzle#define HAVE_ACL_SET_FD 1 35165000Skientzle#define HAVE_ACL_SET_FD_NP 1 36165000Skientzle#define HAVE_ACL_SET_FILE 1 37165000Skientzle#define HAVE_ACL_USER 1 38189429Skientzle#define HAVE_EXTATTR_GET_FILE 1 39189429Skientzle#define HAVE_EXTATTR_LIST_FILE 1 40189429Skientzle#define HAVE_EXTATTR_SET_FD 1 41189429Skientzle#define HAVE_EXTATTR_SET_FILE 1 42189429Skientzle#define HAVE_SYS_ACL_H 1 43189429Skientzle#define HAVE_SYS_EXTATTR_H 1 44165000Skientzle#endif 45165000Skientzle 46191241Skientzle#ifdef WITH_OPENSSL 47191241Skientzle#define HAVE_OPENSSL_MD5_H 1 48191241Skientzle#define HAVE_OPENSSL_RIPEMD_H 1 49191241Skientzle#define HAVE_OPENSSL_SHA_H 1 50221472Sobrien#define HAVE_OPENSSL_SHA256_INIT 1 51221472Sobrien#define HAVE_OPENSSL_SHA384_INIT 1 52221472Sobrien#define HAVE_OPENSSL_SHA512_INIT 1 53221472Sobrien#define HAVE_SHA256 1 54191241Skientzle#define HAVE_SHA384 1 55191241Skientzle#define HAVE_SHA512 1 56221472Sobrien#else 57221472Sobrien#define HAVE_MD5_H 1 58221472Sobrien#define HAVE_MD5INIT 1 59221472Sobrien#define HAVE_SHA_H 1 60221472Sobrien#define HAVE_SHA1 1 61221472Sobrien#define HAVE_SHA1_INIT 1 62221472Sobrien#define HAVE_SHA256 1 63221472Sobrien#define HAVE_SHA256_H 1 64221472Sobrien#define HAVE_SHA256_INIT 1 65221472Sobrien#define HAVE_SHA512 1 66221472Sobrien#define HAVE_SHA512_H 1 67221472Sobrien#define HAVE_SHA512_INIT 1 68191241Skientzle#endif 69191241Skientzle 70201079Skientzle#define HAVE_BSDXML_H 1 71229588Smm#define HAVE_BZLIB_H 1 72165000Skientzle#define HAVE_CHFLAGS 1 73176397Skientzle#define HAVE_CHOWN 1 74224152Smm#define HAVE_DECL_EXTATTR_NAMESPACE_USER 1 75168743Skientzle#define HAVE_DECL_INT64_MAX 1 76168743Skientzle#define HAVE_DECL_INT64_MIN 1 77168743Skientzle#define HAVE_DECL_SIZE_MAX 1 78182954Skientzle#define HAVE_DECL_SSIZE_MAX 1 79165000Skientzle#define HAVE_DECL_STRERROR_R 1 80168743Skientzle#define HAVE_DECL_UINT32_MAX 1 81168743Skientzle#define HAVE_DECL_UINT64_MAX 1 82201079Skientzle#define HAVE_DIRENT_H 1 83165000Skientzle#define HAVE_EFTYPE 1 84165000Skientzle#define HAVE_EILSEQ 1 85165000Skientzle#define HAVE_ERRNO_H 1 86165000Skientzle#define HAVE_FCHDIR 1 87165000Skientzle#define HAVE_FCHFLAGS 1 88165000Skientzle#define HAVE_FCHMOD 1 89165000Skientzle#define HAVE_FCHOWN 1 90179321Skientzle#define HAVE_FCNTL 1 91165000Skientzle#define HAVE_FCNTL_H 1 92165000Skientzle#define HAVE_FSEEKO 1 93177213Skientzle#define HAVE_FSTAT 1 94182955Skientzle#define HAVE_FTRUNCATE 1 95165000Skientzle#define HAVE_FUTIMES 1 96176397Skientzle#define HAVE_GETEUID 1 97224152Smm#define HAVE_GETGRGID_R 1 98177201Skientzle#define HAVE_GETPID 1 99224152Smm#define HAVE_GETPWUID_R 1 100165000Skientzle#define HAVE_GRP_H 1 101165000Skientzle#define HAVE_INTTYPES_H 1 102165000Skientzle#define HAVE_LCHFLAGS 1 103165000Skientzle#define HAVE_LCHMOD 1 104165000Skientzle#define HAVE_LCHOWN 1 105165000Skientzle#define HAVE_LIMITS_H 1 106201079Skientzle#define HAVE_LINK 1 107201079Skientzle#define HAVE_LSTAT 1 108165000Skientzle#define HAVE_LUTIMES 1 109165000Skientzle#define HAVE_MALLOC 1 110191182Skientzle#define HAVE_MD5 1 111165000Skientzle#define HAVE_MEMMOVE 1 112165000Skientzle#define HAVE_MKDIR 1 113165000Skientzle#define HAVE_MKFIFO 1 114176397Skientzle#define HAVE_MKNOD 1 115179321Skientzle#define HAVE_PIPE 1 116170079Skientzle#define HAVE_POLL 1 117170079Skientzle#define HAVE_POLL_H 1 118165000Skientzle#define HAVE_PWD_H 1 119189429Skientzle#define HAVE_READLINK 1 120191182Skientzle#define HAVE_RMD160 1 121170079Skientzle#define HAVE_SELECT 1 122176397Skientzle#define HAVE_SETENV 1 123191182Skientzle#define HAVE_SIGNAL_H 1 124165000Skientzle#define HAVE_STDINT_H 1 125165000Skientzle#define HAVE_STDLIB_H 1 126165000Skientzle#define HAVE_STRCHR 1 127165000Skientzle#define HAVE_STRDUP 1 128165000Skientzle#define HAVE_STRERROR 1 129165000Skientzle#define HAVE_STRERROR_R 1 130165000Skientzle#define HAVE_STRINGS_H 1 131165000Skientzle#define HAVE_STRING_H 1 132165000Skientzle#define HAVE_STRRCHR 1 133182954Skientzle#define HAVE_STRUCT_STAT_ST_BLKSIZE 1 134183481Skientzle#define HAVE_STRUCT_STAT_ST_BIRTHTIME 1 135183481Skientzle#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1 136183011Skientzle#define HAVE_STRUCT_STAT_ST_FLAGS 1 137165000Skientzle#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1 138201079Skientzle#define HAVE_SYMLINK 1 139201079Skientzle#define HAVE_SYS_CDEFS_H 1 140165000Skientzle#define HAVE_SYS_IOCTL_H 1 141170079Skientzle#define HAVE_SYS_SELECT_H 1 142165000Skientzle#define HAVE_SYS_STAT_H 1 143165000Skientzle#define HAVE_SYS_TIME_H 1 144165000Skientzle#define HAVE_SYS_TYPES_H 1 145176397Skientzle#undef HAVE_SYS_UTIME_H 146165000Skientzle#define HAVE_SYS_WAIT_H 1 147165000Skientzle#define HAVE_TIMEGM 1 148176397Skientzle#define HAVE_TZSET 1 149165000Skientzle#define HAVE_UNISTD_H 1 150176397Skientzle#define HAVE_UNSETENV 1 151168701Skientzle#define HAVE_UTIME 1 152168701Skientzle#define HAVE_UTIMES 1 153168701Skientzle#define HAVE_UTIME_H 1 154179321Skientzle#define HAVE_VFORK 1 155165000Skientzle#define HAVE_WCHAR_H 1 156224152Smm#define HAVE_WCSCMP 1 157168701Skientzle#define HAVE_WCSCPY 1 158168701Skientzle#define HAVE_WCSLEN 1 159179792Skientzle#define HAVE_WCTOMB 1 160168701Skientzle#define HAVE_WMEMCMP 1 161168701Skientzle#define HAVE_WMEMCPY 1 162165000Skientzle#define HAVE_ZLIB_H 1 163165000Skientzle#define TIME_WITH_SYS_TIME 1 164165000Skientzle 165165000Skientzle/* FreeBSD 4 and earlier lack intmax_t/uintmax_t */ 166165000Skientzle#if __FreeBSD__ < 5 167165000Skientzle#define intmax_t int64_t 168165000Skientzle#define uintmax_t uint64_t 169165000Skientzle#endif 170224152Smm 171224152Smm/* FreeBSD defines for archive_hash.h */ 172224152Smm#ifdef WITH_OPENSSL 173224152Smm#define ARCHIVE_HASH_MD5_OPENSSL 1 174224152Smm#define ARCHIVE_HASH_RMD160_OPENSSL 1 175224152Smm#define ARCHIVE_HASH_SHA1_OPENSSL 176224152Smm#define ARCHIVE_HASH_SHA256_OPENSSL 1 177224152Smm#define ARCHIVE_HASH_SHA384_OPENSSL 1 178224152Smm#define ARCHIVE_HASH_SHA512_OPENSSL 1 179224152Smm#else 180224152Smm#define ARCHIVE_HASH_MD5_LIBC 1 181224152Smm#define ARCHIVE_HASH_SHA1_LIBC 1 182224152Smm#define ARCHIVE_HASH_SHA256_LIBC 1 183224152Smm#define ARCHIVE_HASH_SHA512_LIBC 1 184224152Smm#endif 185