1/* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/* 18 * Note: This is a NetWare specific version of apu.h. It is renamed to 19 * apu.h at the start of a NetWare build. 20 */ 21/* @file apu.h 22 * @brief APR-Utility main file 23 */ 24 25#ifdef NETWARE 26#ifndef APU_H 27#define APU_H 28/** 29 * @defgroup APR_Util APR Utility Functions 30 * @{ 31 */ 32 33 34/** 35 * APU_DECLARE_EXPORT is defined when building the APR-UTIL dynamic library, 36 * so that all public symbols are exported. 37 * 38 * APU_DECLARE_STATIC is defined when including the APR-UTIL public headers, 39 * to provide static linkage when the dynamic library may be unavailable. 40 * 41 * APU_DECLARE_STATIC and APU_DECLARE_EXPORT are left undefined when 42 * including the APR-UTIL public headers, to import and link the symbols from 43 * the dynamic APR-UTIL library and assure appropriate indirection and calling 44 * conventions at compile time. 45 */ 46 47/** 48 * The public APR-UTIL functions are declared with APU_DECLARE(), so they may 49 * use the most appropriate calling convention. Public APR functions with 50 * variable arguments must use APU_DECLARE_NONSTD(). 51 * 52 * @fn APU_DECLARE(rettype) apr_func(args); 53 */ 54#define APU_DECLARE(type) type 55/** 56 * The public APR-UTIL functions using variable arguments are declared with 57 * APU_DECLARE_NONSTD(), as they must use the C language calling convention. 58 * 59 * @fn APU_DECLARE_NONSTD(rettype) apr_func(args, ...); 60 */ 61#define APU_DECLARE_NONSTD(type) type 62/** 63 * The public APR-UTIL variables are declared with APU_DECLARE_DATA. 64 * This assures the appropriate indirection is invoked at compile time. 65 * 66 * @fn APU_DECLARE_DATA type apr_variable; 67 * @note APU_DECLARE_DATA extern type apr_variable; syntax is required for 68 * declarations within headers to properly import the variable. 69 */ 70#define APU_DECLARE_DATA 71 72/** 73 * Declare a dso module's exported module structure as APU_MODULE_DECLARE_DATA. 74 * 75 * Unless APU_MODULE_DECLARE_STATIC is defined at compile time, symbols 76 * declared with APU_MODULE_DECLARE_DATA are always exported. 77 * @code 78 * module APU_MODULE_DECLARE_DATA mod_tag 79 * @endcode 80 */ 81#define APU_MODULE_DECLARE_DATA 82 83/* 84 * we always have SDBM (it's in our codebase) 85 */ 86#define APU_HAVE_SDBM 1 87 88#ifndef APU_DSO_MODULE_BUILD 89#define APU_HAVE_GDBM 0 90#define APU_HAVE_NDBM 0 91#define APU_HAVE_DB 0 92 93#if APU_HAVE_DB 94#define APU_HAVE_DB_VERSION 0 95#endif 96#endif 97 98/* 99 * we always enable dynamic driver loads within apr_dbd 100 */ 101#ifndef APU_DSO_MODULE_BUILD 102#define APU_HAVE_PGSQL 0 103#define APU_HAVE_MYSQL 0 104#define APU_HAVE_SQLITE3 0 105#define APU_HAVE_SQLITE2 0 106#define APU_HAVE_ORACLE 0 107#define APU_HAVE_FREETDS 0 108#define APU_HAVE_ODBC 0 109#endif 110 111#define APU_HAVE_CRYPTO 0 112 113#ifndef APU_DSO_MODULE_BUILD 114#define APU_HAVE_OPENSSL 0 115#define APU_HAVE_NSS 0 116#endif 117 118#define APU_HAVE_APR_ICONV 0 119#define APU_HAVE_ICONV 1 120#define APR_HAS_XLATE (APU_HAVE_APR_ICONV || APU_HAVE_ICONV) 121 122#endif /* APU_H */ 123#endif /* NETWARE */ 124 125