📄 config.h
字号:
/* $Id: config.h 974 2007-02-19 01:13:53Z bennylp $ *//* * Copyright (C)2003-2007 Benny Prijono <benny@prijono.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef __PJ_CONFIG_H__#define __PJ_CONFIG_H__/** * @file config.h * @brief PJLIB Main configuration settings. *//******************************************************************** * Include compiler specific configuration. */#if defined(_MSC_VER)# include <pj/compat/cc_msvc.h>#elif defined(__GNUC__)# include <pj/compat/cc_gcc.h>#else# error "Unknown compiler."#endif/******************************************************************** * Include target OS specific configuration. */#if defined(PJ_AUTOCONF) /* * Autoconf */# include <pj/compat/os_auto.h>#elif defined(PJ_WIN32_WINCE) || defined(_WIN32_WCE) || defined(UNDER_CE) /* * Windows CE */# undef PJ_WIN32_WINCE# define PJ_WIN32_WINCE 1# include <pj/compat/os_win32_wince.h> /* Also define Win32 */# define PJ_WIN32 1#elif defined(PJ_WIN32) || defined(_WIN32) || defined(__WIN32__) || \ defined(_WIN64) || defined(WIN32) || defined(__TOS_WIN__) /* * Win32 */# undef PJ_WIN32# define PJ_WIN32 1# include <pj/compat/os_win32.h>#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL!=0 /* * Linux kernel */# include <pj/compat/os_linux_kernel.h>#elif defined(PJ_LINUX) || defined(linux) || defined(__linux) /* * Linux */# undef PJ_LINUX# define PJ_LINUX 1# include <pj/compat/os_linux.h>#elif defined(PJ_PALMOS) && PJ_PALMOS!=0 /* * Palm */# include <pj/compat/os_palmos.h>#elif defined(PJ_SUNOS) || defined(sun) || defined(__sun) /* * SunOS */# undef PJ_SUNOS# define PJ_SUNOS 1# include <pj/compat/os_sunos.h>#elif defined(PJ_DARWINOS) || defined(__MACOSX__) /* * MacOS X */# undef PJ_DARWINOS# define PJ_DARWINOS 1# include <pj/compat/os_darwinos.h>#elif defined(PJ_RTEMS) && PJ_RTEMS!=0 /* * RTEMS */# include <pj/compat/os_rtems.h>#else# error "Please specify target os."#endif/******************************************************************** * Target machine specific configuration. */#if defined(PJ_AUTOCONF) /* * Autoconf configured */#include <pj/compat/m_auto.h>#elif defined (PJ_M_I386) || defined(_i386_) || defined(i_386_) || \ defined(_X86_) || defined(x86) || defined(__i386__) || \ defined(__i386) || defined(_M_IX86) || defined(__I86__) /* * Generic i386 processor family, little-endian */# undef PJ_M_I386# define PJ_M_I386 1# define PJ_M_NAME "i386"# define PJ_HAS_PENTIUM 1# define PJ_IS_LITTLE_ENDIAN 1# define PJ_IS_BIG_ENDIAN 0#elif defined (PJ_M_X86_64) || defined(__amd64__) || defined(__amd64) || \ defined(__x86_64__) || defined(__x86_64) /* * AMD 64bit processor, little endian */# undef PJ_M_X86_64# define PJ_M_X86_64 1# define PJ_M_NAME "x86_64"# define PJ_HAS_PENTIUM 1# define PJ_IS_LITTLE_ENDIAN 1# define PJ_IS_BIG_ENDIAN 0#elif defined(PJ_M_IA64) || defined(__ia64__) || defined(_IA64) || \ defined(__IA64__) || defined( _M_IA64) /* * Intel IA64 processor, little endian */# undef PJ_M_IA64# define PJ_M_IA64 1# define PJ_M_NAME "ia64"# define PJ_HAS_PENTIUM 1# define PJ_IS_LITTLE_ENDIAN 1# define PJ_IS_BIG_ENDIAN 0#elif defined (PJ_M_M68K) && PJ_M_M68K != 0 /* * Motorola m64k processor, little endian */# undef PJ_M_M68K# define PJ_M_M68K 1# define PJ_M_NAME "m68k"# define PJ_HAS_PENTIUM 0# define PJ_IS_LITTLE_ENDIAN 1# define PJ_IS_BIG_ENDIAN 0#elif defined (PJ_M_ALPHA) || defined (__alpha__) || defined (__alpha) || \ defined (_M_ALPHA) /* * DEC Alpha processor, little endian */# undef PJ_M_ALPHA# define PJ_M_ALPHA 1# define PJ_M_NAME "alpha"# define PJ_HAS_PENTIUM 0# define PJ_IS_LITTLE_ENDIAN 1# define PJ_IS_BIG_ENDIAN 0#elif defined(PJ_M_MIPS) || defined(__mips__) || defined(__mips) || \ defined(__MIPS__) || defined(MIPS) || defined(_MIPS_) /* * MIPS, default to little endian */# undef PJ_M_MIPS# define PJ_M_MIPS 1# define PJ_M_NAME "mips"# define PJ_HAS_PENTIUM 0# if !defined(PJ_IS_LITTLE_ENDIAN) && !defined(PJ_IS_BIG_ENDIAN)# define PJ_IS_LITTLE_ENDIAN 1# define PJ_IS_BIG_ENDIAN 0# endif#elif defined (PJ_M_SPARC) || defined( __sparc__) || defined(__sparc) /* * Sun Sparc, big endian */# undef PJ_M_SPARC# define PJ_M_SPARC 1# define PJ_M_NAME "sparc"# define PJ_HAS_PENTIUM 0# define PJ_IS_LITTLE_ENDIAN 0# define PJ_IS_BIG_ENDIAN 1#elif defined (PJ_M_ARMV4) || defined(ARM) || defined(_ARM_) || \ defined(ARMV4) || defined(__arm__) /* * ARM, default to little endian */# undef PJ_M_ARMV4# define PJ_M_ARMV4 1# define PJ_M_NAME "armv4"# define PJ_HAS_PENTIUM 0# if !defined(PJ_IS_LITTLE_ENDIAN) && !defined(PJ_IS_BIG_ENDIAN)# define PJ_IS_LITTLE_ENDIAN 1# define PJ_IS_BIG_ENDIAN 0# endif#elif defined (PJ_M_POWERPC) || defined(__powerpc) || defined(__powerpc__) || \ defined(__POWERPC__) || defined(__ppc__) || defined(_M_PPC) || \ defined(_ARCH_PPC) /* * PowerPC, big endian */# undef PJ_M_POWERPC# define PJ_M_POWERPC 1# define PJ_M_NAME "powerpc"# define PJ_HAS_PENTIUM 0# define PJ_IS_LITTLE_ENDIAN 0# define PJ_IS_BIG_ENDIAN 1#else# error "Please specify target machine."#endif/* Include size_t definition. */#include <pj/compat/size_t.h>/* Include site/user specific configuration to control PJLIB features. * YOU MUST CREATE THIS FILE YOURSELF!! */#include <pj/config_site.h>/******************************************************************** * PJLIB Features. *//* Overrides for DOXYGEN */#ifdef DOXYGEN# undef PJ_FUNCTIONS_ARE_INLINED# undef PJ_HAS_FLOATING_POINT# undef PJ_LOG_MAX_LEVEL# undef PJ_LOG_MAX_SIZE# undef PJ_LOG_USE_STACK_BUFFER# undef PJ_TERM_HAS_COLOR# undef PJ_POOL_DEBUG# undef PJ_HAS_TCP# undef PJ_MAX_HOSTNAME# undef PJ_IOQUEUE_MAX_HANDLES# undef FD_SETSIZE# undef PJ_HAS_SEMAPHORE# undef PJ_HAS_EVENT_OBJ# undef PJ_ENABLE_EXTRA_CHECK# undef PJ_EXCEPTION_USE_WIN32_SEH# undef PJ_HAS_ERROR_STRING#endif/** * @defgroup pj_config Build Configuration * @ingroup PJ * @{ * * This section contains macros that can set during PJLIB build process * to controll various aspects of the library. * * <b>Note</b>: the values in this page does NOT necessarily reflect to the * macro values during the build process. *//** * If this macro is set to 1, it will enable some debugging checking * in the library. * * Default: equal to (NOT NDEBUG). */#ifndef PJ_DEBUG# ifndef NDEBUG# define PJ_DEBUG 1# else# define PJ_DEBUG 0# endif#endif/** * Expand functions in *_i.h header files as inline. * * Default: 0. */#ifndef PJ_FUNCTIONS_ARE_INLINED# define PJ_FUNCTIONS_ARE_INLINED 0#endif/** * Use floating point computations in the library. * * Default: 1. */#ifndef PJ_HAS_FLOATING_POINT# define PJ_HAS_FLOATING_POINT 1#endif/** * Declare maximum logging level/verbosity. Lower number indicates higher * importance, with the highest importance has level zero. The least * important level is five in this implementation, but this can be extended * by supplying the appropriate implementation. * * The level conventions: * - 0: fatal error * - 1: error * - 2: warning * - 3: info * - 4: debug * - 5: trace * - 6: more detailed trace * * Default: 4 */#ifndef PJ_LOG_MAX_LEVEL# define PJ_LOG_MAX_LEVEL 5#endif/** * Maximum message size that can be sent to output device for each call * to PJ_LOG(). If the message size is longer than this value, it will be cut. * This may affect the stack usage, depending whether PJ_LOG_USE_STACK_BUFFER * flag is set. * * Default: 2000 */#ifndef PJ_LOG_MAX_SIZE# define PJ_LOG_MAX_SIZE 2000#endif/** * Log buffer. * Does the log get the buffer from the stack? (default is yes). * If the value is set to NO, then the buffer will be taken from static * buffer, which in this case will make the log function non-reentrant. * * Default: 1 */#ifndef PJ_LOG_USE_STACK_BUFFER# define PJ_LOG_USE_STACK_BUFFER 1#endif/** * Colorfull terminal (for logging etc). * * Default: 1 */#ifndef PJ_TERM_HAS_COLOR# define PJ_TERM_HAS_COLOR 1#endif/** * If pool debugging is used, then each memory allocation from the pool * will call malloc(), and pool will release all memory chunks when it * is destroyed. This works better when memory verification programs * such as Rational Purify is used. * * Default: 0 */#ifndef PJ_POOL_DEBUG# define PJ_POOL_DEBUG 0#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -