blob: 709af537e9e40a69b8843d74980afe5442bbda6d [file] [log] [blame]
Tristan Matthews0a329cc2013-07-17 13:20:14 -04001/* $Id: config.c 4112 2012-04-27 09:47:20Z bennylp $ */
2/*
3 * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20#include <pj/config.h>
21#include <pj/log.h>
22#include <pj/ioqueue.h>
23
24static const char *id = "config.c";
25
26#define PJ_MAKE_VERSION3_1(a,b,d) #a "." #b d
27#define PJ_MAKE_VERSION3_2(a,b,d) PJ_MAKE_VERSION3_1(a,b,d)
28
29#define PJ_MAKE_VERSION4_1(a,b,c,d) #a "." #b "." #c d
30#define PJ_MAKE_VERSION4_2(a,b,c,d) PJ_MAKE_VERSION4_1(a,b,c,d)
31
32#if PJ_VERSION_NUM_REV
33PJ_DEF_DATA(const char*) PJ_VERSION = PJ_MAKE_VERSION4_2(PJ_VERSION_NUM_MAJOR,
34 PJ_VERSION_NUM_MINOR,
35 PJ_VERSION_NUM_REV,
36 PJ_VERSION_NUM_EXTRA);
37#else
38PJ_DEF_DATA(const char*) PJ_VERSION = PJ_MAKE_VERSION3_2(PJ_VERSION_NUM_MAJOR,
39 PJ_VERSION_NUM_MINOR,
40 PJ_VERSION_NUM_EXTRA);
41#endif
42
43/*
44 * Get PJLIB version string.
45 */
46PJ_DEF(const char*) pj_get_version(void)
47{
48 return PJ_VERSION;
49}
50
51PJ_DEF(void) pj_dump_config(void)
52{
53 PJ_LOG(3, (id, "PJLIB (c)2008-2009 Teluu Inc."));
54 PJ_LOG(3, (id, "Dumping configurations:"));
55 PJ_LOG(3, (id, " PJ_VERSION : %s", PJ_VERSION));
56 PJ_LOG(3, (id, " PJ_M_NAME : %s", PJ_M_NAME));
57 PJ_LOG(3, (id, " PJ_HAS_PENTIUM : %d", PJ_HAS_PENTIUM));
58 PJ_LOG(3, (id, " PJ_OS_NAME : %s", PJ_OS_NAME));
59 PJ_LOG(3, (id, " PJ_CC_NAME/VER_(1,2,3) : %s-%d.%d.%d", PJ_CC_NAME,
60 PJ_CC_VER_1, PJ_CC_VER_2, PJ_CC_VER_3));
61 PJ_LOG(3, (id, " PJ_IS_(BIG/LITTLE)_ENDIAN : %s",
62 (PJ_IS_BIG_ENDIAN?"big-endian":"little-endian")));
63 PJ_LOG(3, (id, " PJ_HAS_INT64 : %d", PJ_HAS_INT64));
64 PJ_LOG(3, (id, " PJ_HAS_FLOATING_POINT : %d", PJ_HAS_FLOATING_POINT));
65 PJ_LOG(3, (id, " PJ_DEBUG : %d", PJ_DEBUG));
66 PJ_LOG(3, (id, " PJ_FUNCTIONS_ARE_INLINED : %d", PJ_FUNCTIONS_ARE_INLINED));
67 PJ_LOG(3, (id, " PJ_LOG_MAX_LEVEL : %d", PJ_LOG_MAX_LEVEL));
68 PJ_LOG(3, (id, " PJ_LOG_MAX_SIZE : %d", PJ_LOG_MAX_SIZE));
69 PJ_LOG(3, (id, " PJ_LOG_USE_STACK_BUFFER : %d", PJ_LOG_USE_STACK_BUFFER));
70 PJ_LOG(3, (id, " PJ_POOL_DEBUG : %d", PJ_POOL_DEBUG));
71 PJ_LOG(3, (id, " PJ_HAS_POOL_ALT_API : %d", PJ_HAS_POOL_ALT_API));
72 PJ_LOG(3, (id, " PJ_HAS_TCP : %d", PJ_HAS_TCP));
73 PJ_LOG(3, (id, " PJ_MAX_HOSTNAME : %d", PJ_MAX_HOSTNAME));
74 PJ_LOG(3, (id, " ioqueue type : %s", pj_ioqueue_name()));
75 PJ_LOG(3, (id, " PJ_IOQUEUE_MAX_HANDLES : %d", PJ_IOQUEUE_MAX_HANDLES));
76 PJ_LOG(3, (id, " PJ_IOQUEUE_HAS_SAFE_UNREG : %d", PJ_IOQUEUE_HAS_SAFE_UNREG));
77 PJ_LOG(3, (id, " PJ_HAS_THREADS : %d", PJ_HAS_THREADS));
78 PJ_LOG(3, (id, " PJ_LOG_USE_STACK_BUFFER : %d", PJ_LOG_USE_STACK_BUFFER));
79 PJ_LOG(3, (id, " PJ_HAS_SEMAPHORE : %d", PJ_HAS_SEMAPHORE));
80 PJ_LOG(3, (id, " PJ_HAS_EVENT_OBJ : %d", PJ_HAS_EVENT_OBJ));
81 PJ_LOG(3, (id, " PJ_ENABLE_EXTRA_CHECK : %d", PJ_ENABLE_EXTRA_CHECK));
82 PJ_LOG(3, (id, " PJ_HAS_EXCEPTION_NAMES : %d", PJ_HAS_EXCEPTION_NAMES));
83 PJ_LOG(3, (id, " PJ_MAX_EXCEPTION_ID : %d", PJ_MAX_EXCEPTION_ID));
84 PJ_LOG(3, (id, " PJ_EXCEPTION_USE_WIN32_SEH: %d", PJ_EXCEPTION_USE_WIN32_SEH));
85 PJ_LOG(3, (id, " PJ_TIMESTAMP_USE_RDTSC: : %d", PJ_TIMESTAMP_USE_RDTSC));
86 PJ_LOG(3, (id, " PJ_OS_HAS_CHECK_STACK : %d", PJ_OS_HAS_CHECK_STACK));
87 PJ_LOG(3, (id, " PJ_HAS_HIGH_RES_TIMER : %d", PJ_HAS_HIGH_RES_TIMER));
88}
89