summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-04-06 10:25:23 +0000
committerBenny Prijono <bennylp@teluu.com>2007-04-06 10:25:23 +0000
commit3867d2a30499fd9e87047b0c43d30e9e6511841e (patch)
treead6aebc5ceb044dc8db039638af838855c6a79ed
parent28001e6a56709413b59da8e42afdda8a35f4ff50 (diff)
Fixed ticket #215: Build error when PJ_HAS_TCP is set to zero (thanks ChenHuan)
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/pjproject-0.5-stable@1158 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib/src/pj/ioqueue_common_abs.c1
-rw-r--r--pjlib/src/pj/ioqueue_select.c11
-rw-r--r--pjlib/src/pj/ioqueue_winnt.c4
-rw-r--r--pjsip-apps/src/samples/pjsip-perf.c5
-rw-r--r--pjsip-apps/src/samples/sipstateless.c4
-rw-r--r--pjsip/include/pjsip/sip_transport_tcp.h7
-rw-r--r--pjsip/src/pjsip/sip_transport_tcp.c5
-rw-r--r--pjsip/src/pjsua-lib/pjsua_core.c4
-rw-r--r--pjsip/src/test-pjsip/test.c6
-rw-r--r--pjsip/src/test-pjsip/transport_tcp_test.c7
10 files changed, 48 insertions, 6 deletions
diff --git a/pjlib/src/pj/ioqueue_common_abs.c b/pjlib/src/pj/ioqueue_common_abs.c
index 2301ac96..82f962c2 100644
--- a/pjlib/src/pj/ioqueue_common_abs.c
+++ b/pjlib/src/pj/ioqueue_common_abs.c
@@ -155,6 +155,7 @@ PJ_INLINE(int) key_has_pending_accept(pj_ioqueue_key_t *key)
#if PJ_HAS_TCP
return !pj_list_empty(&key->accept_list);
#else
+ PJ_UNUSED_ARG(key);
return 0;
#endif
}
diff --git a/pjlib/src/pj/ioqueue_select.c b/pjlib/src/pj/ioqueue_select.c
index 7595e635..f5e36904 100644
--- a/pjlib/src/pj/ioqueue_select.c
+++ b/pjlib/src/pj/ioqueue_select.c
@@ -556,8 +556,10 @@ static void ioqueue_remove_from_set( pj_ioqueue_t *ioqueue,
PJ_FD_CLR((pj_sock_t)key->fd, &ioqueue->rfdset);
else if (event_type == WRITEABLE_EVENT)
PJ_FD_CLR((pj_sock_t)key->fd, &ioqueue->wfdset);
+#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0
else if (event_type == EXCEPTION_EVENT)
PJ_FD_CLR((pj_sock_t)key->fd, &ioqueue->xfdset);
+#endif
else
pj_assert(0);
@@ -580,8 +582,10 @@ static void ioqueue_add_to_set( pj_ioqueue_t *ioqueue,
PJ_FD_SET((pj_sock_t)key->fd, &ioqueue->rfdset);
else if (event_type == WRITEABLE_EVENT)
PJ_FD_SET((pj_sock_t)key->fd, &ioqueue->wfdset);
+#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0
else if (event_type == EXCEPTION_EVENT)
PJ_FD_SET((pj_sock_t)key->fd, &ioqueue->xfdset);
+#endif
else
pj_assert(0);
@@ -649,8 +653,11 @@ PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout)
* Otherwise select() will return error.
*/
if (PJ_FD_COUNT(&ioqueue->rfdset)==0 &&
- PJ_FD_COUNT(&ioqueue->wfdset)==0 &&
- PJ_FD_COUNT(&ioqueue->xfdset)==0)
+ PJ_FD_COUNT(&ioqueue->wfdset)==0
+#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0
+ && PJ_FD_COUNT(&ioqueue->xfdset)==0
+#endif
+ )
{
#if PJ_IOQUEUE_HAS_SAFE_UNREG
scan_closing_keys(ioqueue);
diff --git a/pjlib/src/pj/ioqueue_winnt.c b/pjlib/src/pj/ioqueue_winnt.c
index ce8cd5d9..8d17878e 100644
--- a/pjlib/src/pj/ioqueue_winnt.c
+++ b/pjlib/src/pj/ioqueue_winnt.c
@@ -366,7 +366,9 @@ PJ_DEF(pj_status_t) pj_ioqueue_create( pj_pool_t *pool,
*/
PJ_DEF(pj_status_t) pj_ioqueue_destroy( pj_ioqueue_t *ioqueue )
{
+#if PJ_HAS_TCP
unsigned i;
+#endif
pj_ioqueue_key_t *key;
PJ_CHECK_STACK();
@@ -739,7 +741,9 @@ PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_key_t *key )
PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout)
{
DWORD dwMsec;
+#if PJ_HAS_TCP
int connect_count = 0;
+#endif
int event_count = 0;
PJ_ASSERT_RETURN(ioqueue, -PJ_EINVAL);
diff --git a/pjsip-apps/src/samples/pjsip-perf.c b/pjsip-apps/src/samples/pjsip-perf.c
index ae7d0ee1..264c2065 100644
--- a/pjsip-apps/src/samples/pjsip-perf.c
+++ b/pjsip-apps/src/samples/pjsip-perf.c
@@ -771,7 +771,9 @@ static pj_status_t init_sip()
if (app.local_port != 0)
addrname.port = app.local_port;
- if (app.use_tcp) {
+ if (0) {
+#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0
+ } else if (app.use_tcp) {
pj_sockaddr_in local_addr;
pjsip_tpfactory *tpfactory;
@@ -783,6 +785,7 @@ static pj_status_t init_sip()
app.local_addr = tpfactory->addr_name.host;
app.local_port = tpfactory->addr_name.port;
}
+#endif
} else {
pjsip_transport *tp;
diff --git a/pjsip-apps/src/samples/sipstateless.c b/pjsip-apps/src/samples/sipstateless.c
index 832c021f..53b1fc7c 100644
--- a/pjsip-apps/src/samples/sipstateless.c
+++ b/pjsip-apps/src/samples/sipstateless.c
@@ -36,7 +36,7 @@
#define HAS_UDP_TRANSPORT
/* If this macro is set, TCP transport will be initialized at port 5060 */
-#define HAS_TCP_TRANSPORT
+#define HAS_TCP_TRANSPORT (1 && PJ_HAS_TCP)
/* Log identification */
#define THIS_FILE "sipstateless.c"
@@ -141,7 +141,7 @@ int main(int argc, char *argv[])
}
#endif
-#ifdef HAS_TCP_TRANSPORT
+#if HAS_TCP_TRANSPORT
/*
* Add UDP transport, with hard-coded port
*/
diff --git a/pjsip/include/pjsip/sip_transport_tcp.h b/pjsip/include/pjsip/sip_transport_tcp.h
index ff1af7a9..abadf171 100644
--- a/pjsip/include/pjsip/sip_transport_tcp.h
+++ b/pjsip/include/pjsip/sip_transport_tcp.h
@@ -26,6 +26,11 @@
#include <pjsip/sip_transport.h>
+
+/* Only declare the API if PJ_HAS_TCP is true */
+#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0
+
+
PJ_BEGIN_DECL
/**
@@ -112,4 +117,6 @@ PJ_END_DECL
* @}
*/
+#endif /* PJ_HAS_TCP */
+
#endif /* __PJSIP_TRANSPORT_TCP_H__ */
diff --git a/pjsip/src/pjsip/sip_transport_tcp.c b/pjsip/src/pjsip/sip_transport_tcp.c
index 8aa679d4..d9bdfc1c 100644
--- a/pjsip/src/pjsip/sip_transport_tcp.c
+++ b/pjsip/src/pjsip/sip_transport_tcp.c
@@ -29,6 +29,9 @@
#include <pj/pool.h>
#include <pj/string.h>
+/* Only declare the API if PJ_HAS_TCP is true */
+#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0
+
#define THIS_FILE "sip_transport_tcp.c"
@@ -1365,3 +1368,5 @@ static void on_connect_complete(pj_ioqueue_key_t *key,
tcp_flush_pending_tx(tcp);
}
+#endif /* PJ_HAS_TCP */
+
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index a0e8d6fa..796b1c6d 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -1013,6 +1013,8 @@ PJ_DEF(pj_status_t) pjsua_transport_create( pjsip_transport_type_e type,
pjsua_var.tpdata[id].local_name = tp->local_name;
pjsua_var.tpdata[id].data.tp = tp;
+#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0
+
} else if (type == PJSIP_TRANSPORT_TCP) {
/*
* Create TCP transport.
@@ -1064,6 +1066,8 @@ PJ_DEF(pj_status_t) pjsua_transport_create( pjsip_transport_type_e type,
pjsua_var.tpdata[id].local_name = tcp->addr_name;
pjsua_var.tpdata[id].data.factory = tcp;
+#endif /* PJ_HAS_TCP */
+
#if defined(PJSIP_HAS_TLS_TRANSPORT) && PJSIP_HAS_TLS_TRANSPORT!=0
} else if (type == PJSIP_TRANSPORT_TLS) {
/*
diff --git a/pjsip/src/test-pjsip/test.c b/pjsip/src/test-pjsip/test.c
index 62360756..62e3aed3 100644
--- a/pjsip/src/test-pjsip/test.c
+++ b/pjsip/src/test-pjsip/test.c
@@ -226,8 +226,10 @@ int test_main(void)
#if INCLUDE_TSX_TEST
unsigned i;
pjsip_transport *tp;
+#if PJ_HAS_TCP
pjsip_tpfactory *tpfactory;
-#endif
+#endif /* PJ_HAS_TCP */
+#endif /* INCLUDE_TSX_TEST */
int line;
pj_log_set_level(log_level);
@@ -331,6 +333,7 @@ int test_main(void)
++tsx_test_cnt;
}
+#if PJ_HAS_TCP
status = pjsip_tcp_transport_start(endpt, NULL, 1, &tpfactory);
if (status == PJ_SUCCESS) {
tsx_test[tsx_test_cnt].port = tpfactory->addr_name.port;
@@ -342,6 +345,7 @@ int test_main(void)
rc = -4;
goto on_return;
}
+#endif
for (i=0; i<tsx_test_cnt; ++i) {
diff --git a/pjsip/src/test-pjsip/transport_tcp_test.c b/pjsip/src/test-pjsip/transport_tcp_test.c
index 1835f1d5..50b59afe 100644
--- a/pjsip/src/test-pjsip/transport_tcp_test.c
+++ b/pjsip/src/test-pjsip/transport_tcp_test.c
@@ -27,6 +27,7 @@
/*
* TCP transport test.
*/
+#if PJ_HAS_TCP
int transport_tcp_test(void)
{
enum { SEND_RECV_LOOP = 8 };
@@ -141,3 +142,9 @@ int transport_tcp_test(void)
/* Done */
return 0;
}
+#else /* PJ_HAS_TCP */
+int transport_tcp_test(void)
+{
+ return 0;
+}
+#endif /* PJ_HAS_TCP */