📄 apu.hw
字号:
/* Copyright 2000-2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * Note: This is a Windows specific version of apu.h. It is renamed to * apu.h at the start of a Windows build. *//* @file apu.h * @brief APR-Utility main file */#ifdef WIN32#ifndef APU_H#define APU_H/** * @defgroup APR_Util APR Utility Functions * @{ *//** * APU_DECLARE_EXPORT is defined when building the APR-UTIL dynamic library, * so that all public symbols are exported. * * APU_DECLARE_STATIC is defined when including the APR-UTIL public headers, * to provide static linkage when the dynamic library may be unavailable. * * APU_DECLARE_STATIC and APU_DECLARE_EXPORT are left undefined when * including the APR-UTIL public headers, to import and link the symbols from * the dynamic APR-UTIL library and assure appropriate indirection and calling * conventions at compile time. */#if !defined(WIN32)/** * The public APR-UTIL functions are declared with APU_DECLARE(), so they may * use the most appropriate calling convention. Public APR functions with * variable arguments must use APU_DECLARE_NONSTD(). * * @deffunc APU_DECLARE(rettype) apr_func(args); */#define APU_DECLARE(type) type/** * The public APR-UTIL functions using variable arguments are declared with * APU_DECLARE_NONSTD(), as they must use the C language calling convention. * * @deffunc APU_DECLARE_NONSTD(rettype) apr_func(args, ...); */#define APU_DECLARE_NONSTD(type) type/** * The public APR-UTIL variables are declared with APU_DECLARE_DATA. * This assures the appropriate indirection is invoked at compile time. * * @deffunc APU_DECLARE_DATA type apr_variable; * @tip extern APU_DECLARE_DATA type apr_variable; syntax is required for * declarations within headers to properly import the variable. */#define APU_DECLARE_DATA#elif defined(APU_DECLARE_STATIC)#define APU_DECLARE(type) type __stdcall#define APU_DECLARE_NONSTD(type) type#define APU_DECLARE_DATA#elif defined(APU_DECLARE_EXPORT)#define APU_DECLARE(type) __declspec(dllexport) type __stdcall#define APU_DECLARE_NONSTD(type) __declspec(dllexport) type#define APU_DECLARE_DATA __declspec(dllexport)#else/** * The public APR-UTIL functions are declared with APU_DECLARE(), so they may * use the most appropriate calling convention. Public APR functions with * variable arguments must use APU_DECLARE_NONSTD(). * */#define APU_DECLARE(type) __declspec(dllimport) type __stdcall/** * The public APR-UTIL functions using variable arguments are declared with * APU_DECLARE_NONSTD(), as they must use the C language calling convention. * */#define APU_DECLARE_NONSTD(type) __declspec(dllimport) type/** * The public APR-UTIL variables are declared with APU_DECLARE_DATA. * This assures the appropriate indirection is invoked at compile time. * * @remark extern APU_DECLARE_DATA type apr_variable; syntax is required for * declarations within headers to properly import the variable. */#define APU_DECLARE_DATA __declspec(dllimport)#endif/** @} *//* * we always have SDBM (it's in our codebase) */#define APU_HAVE_SDBM 1#define APU_HAVE_GDBM 0/* Allow external override */#if !defined(APU_HAVE_DB)#define APU_HAVE_DB 0#endif#define APU_HAVE_APR_ICONV 1#define APU_HAVE_ICONV 0#define APR_HAS_XLATE (APU_HAVE_APR_ICONV || APU_HAVE_ICONV)#endif /* APU_H */#endif /* WIN32 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -