123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 |
- /*
- * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
- * Copyright (C) 2003-2008 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 __PJLIB_UTIL_CONFIG_H__
- #define __PJLIB_UTIL_CONFIG_H__
- /**
- * @file config.h
- * @brief Compile time settings
- */
- /**
- * @defgroup PJLIB_UTIL_CONFIG Configuration
- * @ingroup PJLIB_UTIL_BASE
- * @{
- */
- /* **************************************************************************
- * DNS CONFIGURATION
- */
- /**
- * Maximum number of IP addresses in DNS A response.
- */
- #ifndef PJ_DNS_MAX_IP_IN_A_REC
- # define PJ_DNS_MAX_IP_IN_A_REC 8
- #endif
- /**
- * Maximum server address entries per one SRV record
- */
- #ifndef PJ_DNS_SRV_MAX_ADDR
- # define PJ_DNS_SRV_MAX_ADDR 8
- #endif
- /**
- * This constant specifies the maximum names to keep in the temporary name
- * table when performing name compression scheme when duplicating DNS packet
- * (the #pj_dns_packet_dup() function).
- *
- * Generally name compression is desired, since it saves some memory (see
- * PJ_DNS_RESOLVER_RES_BUF_SIZE setting). However it comes at the expense of
- * a little processing overhead to perform name scanning and also a little
- * bit more stack usage (8 bytes per entry on 32bit platform).
- *
- * Default: 16
- */
- #ifndef PJ_DNS_MAX_NAMES_IN_NAMETABLE
- # define PJ_DNS_MAX_NAMES_IN_NAMETABLE 16
- #endif
- /* **************************************************************************
- * RESOLVER CONFIGURATION
- */
- /**
- * Maximum numbers of DNS nameservers that can be configured in resolver.
- */
- #ifndef PJ_DNS_RESOLVER_MAX_NS
- # define PJ_DNS_RESOLVER_MAX_NS 16
- #endif
- /**
- * Default retransmission delay, in miliseconds. The combination of
- * retransmission delay and count determines the query timeout.
- *
- * Default: 2000 (2 seconds, according to RFC 1035)
- */
- #ifndef PJ_DNS_RESOLVER_QUERY_RETRANSMIT_DELAY
- # define PJ_DNS_RESOLVER_QUERY_RETRANSMIT_DELAY 2000
- #endif
- /**
- * Maximum number of transmissions before timeout is declared for
- * the query.
- *
- * Default: 5
- */
- #ifndef PJ_DNS_RESOLVER_QUERY_RETRANSMIT_COUNT
- # define PJ_DNS_RESOLVER_QUERY_RETRANSMIT_COUNT 5
- #endif
- /**
- * Maximum life-time of DNS response in the resolver response cache,
- * in seconds. If the value is zero, then DNS response caching will be
- * disabled.
- *
- * Default is 300 seconds (5 minutes).
- *
- * @see PJ_DNS_RESOLVER_INVALID_TTL
- */
- #ifndef PJ_DNS_RESOLVER_MAX_TTL
- # define PJ_DNS_RESOLVER_MAX_TTL (5*60)
- #endif
- /**
- * The life-time of invalid DNS response in the resolver response cache.
- * An invalid DNS response is a response which RCODE is non-zero and
- * response without any answer section. These responses can be put in
- * the cache too to minimize message round-trip.
- *
- * Default: 60 (one minute).
- *
- * @see PJ_DNS_RESOLVER_MAX_TTL
- */
- #ifndef PJ_DNS_RESOLVER_INVALID_TTL
- # define PJ_DNS_RESOLVER_INVALID_TTL 60
- #endif
- /**
- * The interval on which nameservers which are known to be good to be
- * probed again to determine whether they are still good. Note that
- * this applies to both active nameserver (the one currently being used)
- * and idle nameservers (good nameservers that are not currently selected).
- * The probing to query the "goodness" of nameservers involves sending
- * the same query to multiple servers, so it's probably not a good idea
- * to send this probing too often.
- *
- * Default: 600 (ten minutes)
- *
- * @see PJ_DNS_RESOLVER_BAD_NS_TTL
- */
- #ifndef PJ_DNS_RESOLVER_GOOD_NS_TTL
- # define PJ_DNS_RESOLVER_GOOD_NS_TTL (10*60)
- #endif
- /**
- * The interval on which nameservers which known to be bad to be probed
- * again to determine whether it is still bad.
- *
- * Default: 60 (one minute)
- *
- * @see PJ_DNS_RESOLVER_GOOD_NS_TTL
- */
- #ifndef PJ_DNS_RESOLVER_BAD_NS_TTL
- # define PJ_DNS_RESOLVER_BAD_NS_TTL (1*60)
- #endif
- /**
- * Maximum size of UDP packet. RFC 1035 states that maximum size of
- * DNS packet carried over UDP is 512 bytes.
- *
- * Default: 512 byes
- */
- #ifndef PJ_DNS_RESOLVER_MAX_UDP_SIZE
- # define PJ_DNS_RESOLVER_MAX_UDP_SIZE 512
- #endif
- /**
- * Size of memory pool allocated for each individual DNS response cache.
- * This value here should be more or less the same as maximum UDP packet
- * size (PJ_DNS_RESOLVER_MAX_UDP_SIZE), since the DNS replicator function
- * (#pj_dns_packet_dup()) is also capable of performing name compressions.
- *
- * Default: 512
- */
- #ifndef PJ_DNS_RESOLVER_RES_BUF_SIZE
- # define PJ_DNS_RESOLVER_RES_BUF_SIZE 512
- #endif
- /**
- * Size of temporary pool buffer for parsing DNS packets in resolver.
- *
- * default: 4000
- */
- #ifndef PJ_DNS_RESOLVER_TMP_BUF_SIZE
- # define PJ_DNS_RESOLVER_TMP_BUF_SIZE 4000
- #endif
- /* **************************************************************************
- * SCANNER CONFIGURATION
- */
- /**
- * Macro PJ_SCANNER_USE_BITWISE is defined and non-zero (by default yes)
- * will enable the use of bitwise for character input specification (cis).
- * This would save several kilobytes of .bss memory in the SIP parser.
- */
- #ifndef PJ_SCANNER_USE_BITWISE
- # define PJ_SCANNER_USE_BITWISE 1
- #endif
- /* **************************************************************************
- * STUN CLIENT CONFIGURATION
- */
- /**
- * Maximum number of attributes in the STUN packet (for the old STUN
- * library).
- *
- * Default: 16
- */
- #ifndef PJSTUN_MAX_ATTR
- # define PJSTUN_MAX_ATTR 16
- #endif
- /**
- * Maximum number of attributes in the STUN packet (for the new STUN
- * library).
- *
- * Default: 16
- */
- #ifndef PJ_STUN_MAX_ATTR
- # define PJ_STUN_MAX_ATTR 16
- #endif
- /* **************************************************************************
- * ENCRYPTION
- */
- /**
- * Specifies whether CRC32 algorithm should use the table based lookup table
- * for faster calculation, at the expense of about 1KB table size on the
- * executable. If zero, the CRC32 will use non-table based which is more than
- * an order of magnitude slower.
- *
- * Default: 1
- */
- #ifndef PJ_CRC32_HAS_TABLES
- # define PJ_CRC32_HAS_TABLES 1
- #endif
- /* **************************************************************************
- * HTTP Client configuration
- */
- /**
- * Timeout value for HTTP request operation. The value is in ms.
- * Default: 60000ms
- */
- #ifndef PJ_HTTP_DEFAULT_TIMEOUT
- # define PJ_HTTP_DEFAULT_TIMEOUT (60000)
- #endif
- /* **************************************************************************
- * CLI configuration
- */
- /**
- * Initial pool size for CLI.
- * Default: 1024 bytes
- */
- #ifndef PJ_CLI_POOL_SIZE
- # define PJ_CLI_POOL_SIZE 1024
- #endif
- /**
- * Pool increment size for CLI.
- * Default: 512 bytes
- */
- #ifndef PJ_CLI_POOL_INC
- # define PJ_CLI_POOL_INC 512
- #endif
- /**
- * Maximum length of command buffer.
- * Default: 512
- */
- #ifndef PJ_CLI_MAX_CMDBUF
- # define PJ_CLI_MAX_CMDBUF 512
- #endif
- /**
- * Maximum command arguments.
- * Default: 8
- */
- #ifndef PJ_CLI_MAX_ARGS
- # define PJ_CLI_MAX_ARGS 8
- #endif
- /**
- * Maximum number of hints.
- * Default: 32
- */
- #ifndef PJ_CLI_MAX_HINTS
- # define PJ_CLI_MAX_HINTS 32
- #endif
- /**
- * Maximum short name version (shortcuts) for a command.
- * Default: 4
- */
- #ifndef PJ_CLI_MAX_SHORTCUTS
- # define PJ_CLI_MAX_SHORTCUTS 4
- #endif
- /**
- * Initial pool size for console CLI.
- * Default: 256 bytes
- */
- #ifndef PJ_CLI_CONSOLE_POOL_SIZE
- # define PJ_CLI_CONSOLE_POOL_SIZE 256
- #endif
- /**
- * Pool increment size for console CLI.
- * Default: 256 bytes
- */
- #ifndef PJ_CLI_CONSOLE_POOL_INC
- # define PJ_CLI_CONSOLE_POOL_INC 256
- #endif
- /**
- * Initial pool size for telnet CLI.
- * Default: 1024 bytes
- */
- #ifndef PJ_CLI_TELNET_POOL_SIZE
- # define PJ_CLI_TELNET_POOL_SIZE 1024
- #endif
- /**
- * Pool increment size for telnet CLI.
- * Default: 512 bytes
- */
- #ifndef PJ_CLI_TELNET_POOL_INC
- # define PJ_CLI_TELNET_POOL_INC 512
- #endif
- /**
- * Maximum number of argument values of choice type.
- * Default: 64
- */
- #ifndef PJ_CLI_MAX_CHOICE_VAL
- # define PJ_CLI_MAX_CHOICE_VAL 64
- #endif
- /**
- * Maximum number of command history.
- * Default: 16
- */
- #ifndef PJ_CLI_MAX_CMD_HISTORY
- # define PJ_CLI_MAX_CMD_HISTORY 16
- #endif
- /**
- * @}
- */
- #endif /* __PJLIB_UTIL_CONFIG_H__ */
|