diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-07-20 08:08:30 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-07-20 08:08:30 +0000 |
commit | d24a9aee403d6540ec792d3b56a1934fbc0969d4 (patch) | |
tree | 0706522f9173a479f4f3af4e6fbf1e1cddb9ef2b /pjlib/src/pj | |
parent | c3f4bae326d9e2dfa78d23f288e822e7ae16c2db (diff) |
Ticket #354: build PJLIB as dynamic libraries (.DSO) in Symbian
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1405 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib/src/pj')
-rw-r--r-- | pjlib/src/pj/addr_resolv_sock.c | 2 | ||||
-rw-r--r-- | pjlib/src/pj/addr_resolv_symbian.cpp | 6 | ||||
-rw-r--r-- | pjlib/src/pj/errno.c | 2 | ||||
-rw-r--r-- | pjlib/src/pj/fifobuf.c | 15 | ||||
-rw-r--r-- | pjlib/src/pj/file_io_ansi.c | 2 | ||||
-rw-r--r-- | pjlib/src/pj/ioqueue_common_abs.c | 10 | ||||
-rw-r--r-- | pjlib/src/pj/ioqueue_select.c | 16 | ||||
-rw-r--r-- | pjlib/src/pj/ioqueue_winnt.c | 2 | ||||
-rw-r--r-- | pjlib/src/pj/log.c | 10 | ||||
-rw-r--r-- | pjlib/src/pj/os_core_symbian.cpp | 90 | ||||
-rw-r--r-- | pjlib/src/pj/os_symbian.h | 2 | ||||
-rw-r--r-- | pjlib/src/pj/os_time_common.c | 14 | ||||
-rw-r--r-- | pjlib/src/pj/pool_caching.c | 4 | ||||
-rw-r--r-- | pjlib/src/pj/pool_policy_kmalloc.c | 5 | ||||
-rw-r--r-- | pjlib/src/pj/pool_policy_malloc.c | 8 | ||||
-rw-r--r-- | pjlib/src/pj/pool_policy_new.cpp | 8 | ||||
-rw-r--r-- | pjlib/src/pj/sock_common.c | 145 | ||||
-rw-r--r-- | pjlib/src/pj/sock_symbian.cpp | 15 | ||||
-rw-r--r-- | pjlib/src/pj/types.c | 2 |
19 files changed, 306 insertions, 52 deletions
diff --git a/pjlib/src/pj/addr_resolv_sock.c b/pjlib/src/pj/addr_resolv_sock.c index 9e64378b..408eae12 100644 --- a/pjlib/src/pj/addr_resolv_sock.c +++ b/pjlib/src/pj/addr_resolv_sock.c @@ -83,7 +83,7 @@ PJ_DEF(pj_status_t) pj_gethostip(pj_in_addr *addr) pj_sockaddr_in a; int len; - status = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &fd); + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &fd); if (status != PJ_SUCCESS) { return status; } diff --git a/pjlib/src/pj/addr_resolv_symbian.cpp b/pjlib/src/pj/addr_resolv_symbian.cpp index 95da5cdd..ea3c7660 100644 --- a/pjlib/src/pj/addr_resolv_symbian.cpp +++ b/pjlib/src/pj/addr_resolv_symbian.cpp @@ -76,7 +76,7 @@ PJ_DEF(pj_status_t) pj_gethostbyname(const pj_str_t *name, pj_hostent *he) // Return hostent he->h_name = resolved_name; he->h_aliases = no_aliases; - he->h_addrtype = PJ_AF_INET; + he->h_addrtype = pj_AF_INET(); he->h_length = 4; he->h_addr_list = (char**) addr_list; @@ -85,7 +85,7 @@ PJ_DEF(pj_status_t) pj_gethostbyname(const pj_str_t *name, pj_hostent *he) /* Resolve the IP address of local machine */ -pj_status_t pj_gethostip(pj_in_addr *addr) +PJ_DEF(pj_status_t) pj_gethostip(pj_in_addr *addr) { const pj_str_t *hostname = pj_gethostname(); struct pj_hostent he; @@ -111,7 +111,7 @@ pj_status_t pj_gethostip(pj_in_addr *addr) pj_sockaddr_in a; int len; - status = pj_sock_socket(PJ_AF_INET, PJ_SOCK_DGRAM, 0, &fd); + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &fd); if (status != PJ_SUCCESS) { return status; } diff --git a/pjlib/src/pj/errno.c b/pjlib/src/pj/errno.c index f7273a42..a11f3b43 100644 --- a/pjlib/src/pj/errno.c +++ b/pjlib/src/pj/errno.c @@ -101,7 +101,7 @@ static int pjlib_error(pj_status_t code, char *buf, pj_size_t size) #define IN_RANGE(val,start,end) ((val)>=(start) && (val)<(end)) /* Register strerror handle. */ -PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start, +PJ_DEF(pj_status_t) pj_register_strerror( pj_status_t start, pj_status_t space, pjsip_error_callback f) { diff --git a/pjlib/src/pj/fifobuf.c b/pjlib/src/pj/fifobuf.c index 08bf907a..54a23753 100644 --- a/pjlib/src/pj/fifobuf.c +++ b/pjlib/src/pj/fifobuf.c @@ -25,8 +25,7 @@ #define SZ sizeof(unsigned) -PJ_DEF(void) -pj_fifobuf_init (pj_fifobuf_t *fifobuf, void *buffer, unsigned size) +PJ_DEF(void) pj_fifobuf_init (pj_fifobuf_t *fifobuf, void *buffer, unsigned size) { PJ_CHECK_STACK(); @@ -40,8 +39,7 @@ pj_fifobuf_init (pj_fifobuf_t *fifobuf, void *buffer, unsigned size) fifobuf->full = 0; } -PJ_DEF(unsigned) -pj_fifobuf_max_size (pj_fifobuf_t *fifobuf) +PJ_DEF(unsigned) pj_fifobuf_max_size (pj_fifobuf_t *fifobuf) { unsigned s1, s2; @@ -57,8 +55,7 @@ pj_fifobuf_max_size (pj_fifobuf_t *fifobuf) return s1<s2 ? s2 : s1; } -PJ_DEF(void*) -pj_fifobuf_alloc (pj_fifobuf_t *fifobuf, unsigned size) +PJ_DEF(void*) pj_fifobuf_alloc (pj_fifobuf_t *fifobuf, unsigned size) { unsigned available; char *start; @@ -115,8 +112,7 @@ pj_fifobuf_alloc (pj_fifobuf_t *fifobuf, unsigned size) return NULL; } -PJ_DEF(pj_status_t) -pj_fifobuf_unalloc (pj_fifobuf_t *fifobuf, void *buf) +PJ_DEF(pj_status_t) pj_fifobuf_unalloc (pj_fifobuf_t *fifobuf, void *buf) { char *ptr = (char*)buf; char *endptr; @@ -146,8 +142,7 @@ pj_fifobuf_unalloc (pj_fifobuf_t *fifobuf, void *buf) return 0; } -PJ_DEF(pj_status_t) -pj_fifobuf_free (pj_fifobuf_t *fifobuf, void *buf) +PJ_DEF(pj_status_t) pj_fifobuf_free (pj_fifobuf_t *fifobuf, void *buf) { char *ptr = (char*)buf; char *end; diff --git a/pjlib/src/pj/file_io_ansi.c b/pjlib/src/pj/file_io_ansi.c index 6d340ce1..1bdfef8b 100644 --- a/pjlib/src/pj/file_io_ansi.c +++ b/pjlib/src/pj/file_io_ansi.c @@ -109,11 +109,13 @@ PJ_DEF(pj_status_t) pj_file_read( pj_oshandle_t fd, return PJ_SUCCESS; } +/* PJ_DEF(pj_bool_t) pj_file_eof(pj_oshandle_t fd, enum pj_file_access access) { PJ_UNUSED_ARG(access); return feof((FILE*)fd) ? PJ_TRUE : 0; } +*/ PJ_DEF(pj_status_t) pj_file_setpos( pj_oshandle_t fd, pj_off_t offset, diff --git a/pjlib/src/pj/ioqueue_common_abs.c b/pjlib/src/pj/ioqueue_common_abs.c index 8fd1be72..fdd1afe7 100644 --- a/pjlib/src/pj/ioqueue_common_abs.c +++ b/pjlib/src/pj/ioqueue_common_abs.c @@ -100,10 +100,10 @@ static pj_status_t ioqueue_init_key( pj_pool_t *pool, * will be performed during send to allow parallel send operations. */ optlen = sizeof(key->fd_type); - rc = pj_sock_getsockopt(sock, PJ_SOL_SOCKET, PJ_SO_TYPE, + rc = pj_sock_getsockopt(sock, pj_SOL_SOCKET(), pj_SO_TYPE(), &key->fd_type, &optlen); if (rc != PJ_SUCCESS) - key->fd_type = PJ_SOCK_STREAM; + key->fd_type = pj_SOCK_STREAM(); /* Create mutex for the key. */ #if !PJ_IOQUEUE_HAS_SAFE_UNREG @@ -269,7 +269,7 @@ void ioqueue_dispatch_write_event(pj_ioqueue_t *ioqueue, pj_ioqueue_key_t *h) /* For datagrams, we can remove the write_op from the list * so that send() can work in parallel. */ - if (h->fd_type == PJ_SOCK_DGRAM) { + if (h->fd_type == pj_SOCK_DGRAM()) { pj_list_erase(write_op); if (pj_list_empty(&h->write_list)) @@ -315,12 +315,12 @@ void ioqueue_dispatch_write_event(pj_ioqueue_t *ioqueue, pj_ioqueue_key_t *h) /* Are we finished with this buffer? */ if (send_rc!=PJ_SUCCESS || write_op->written == (pj_ssize_t)write_op->size || - h->fd_type == PJ_SOCK_DGRAM) + h->fd_type == pj_SOCK_DGRAM()) { write_op->op = PJ_IOQUEUE_OP_NONE; - if (h->fd_type != PJ_SOCK_DGRAM) { + if (h->fd_type != pj_SOCK_DGRAM()) { /* Write completion of the whole stream. */ pj_list_erase(write_op); diff --git a/pjlib/src/pj/ioqueue_select.c b/pjlib/src/pj/ioqueue_select.c index e200d642..48612d22 100644 --- a/pjlib/src/pj/ioqueue_select.c +++ b/pjlib/src/pj/ioqueue_select.c @@ -64,22 +64,6 @@ # error "Error reporting must be enabled for this function to work!" #endif -/** - * Get the number of descriptors in the set. This is defined in sock_select.c - * This function will only return the number of sockets set from PJ_FD_SET - * operation. When the set is modified by other means (such as by select()), - * the count will not be reflected here. - * - * That's why don't export this function in the header file, to avoid - * misunderstanding. - * - * @param fdsetp The descriptor set. - * - * @return Number of descriptors in the set. - */ -PJ_DECL(pj_size_t) PJ_FD_COUNT(const pj_fd_set_t *fdsetp); - - /* * During debugging build, VALIDATE_FD_SET is set. * This will check the validity of the fd_sets. diff --git a/pjlib/src/pj/ioqueue_winnt.c b/pjlib/src/pj/ioqueue_winnt.c index 8d17878e..3e8253e1 100644 --- a/pjlib/src/pj/ioqueue_winnt.c +++ b/pjlib/src/pj/ioqueue_winnt.c @@ -1106,7 +1106,7 @@ PJ_DEF(pj_status_t) pj_ioqueue_accept( pj_ioqueue_key_t *key, */ op_key_rec = (union operation_key*)op_key->internal__; - status = pj_sock_socket(PJ_AF_INET, PJ_SOCK_STREAM, 0, + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &op_key_rec->accept.newsock); if (status != PJ_SUCCESS) return status; diff --git a/pjlib/src/pj/log.c b/pjlib/src/pj/log.c index 518854c4..59e8956f 100644 --- a/pjlib/src/pj/log.c +++ b/pjlib/src/pj/log.c @@ -24,7 +24,11 @@ #if PJ_LOG_MAX_LEVEL >= 1 -PJ_DEF(int) pj_log_max_level = PJ_LOG_MAX_LEVEL; +#if 0 +PJ_DEF_DATA(int) pj_log_max_level = PJ_LOG_MAX_LEVEL; +#else +static int pj_log_max_level = PJ_LOG_MAX_LEVEL; +#endif static pj_log_func *log_writer = &pj_log_write; static unsigned log_decor = PJ_LOG_HAS_TIME | PJ_LOG_HAS_MICRO_SEC | PJ_LOG_HAS_SENDER | PJ_LOG_HAS_NEWLINE; @@ -48,7 +52,7 @@ PJ_DEF(void) pj_log_set_level(int level) pj_log_max_level = level; } -#if 0 +#if 1 PJ_DEF(int) pj_log_get_level(void) { return pj_log_max_level; @@ -169,6 +173,7 @@ PJ_DEF(void) pj_log( const char *sender, int level, (*log_writer)(level, log_buffer, len); } +/* PJ_DEF(void) pj_log_0(const char *obj, const char *format, ...) { va_list arg; @@ -176,6 +181,7 @@ PJ_DEF(void) pj_log_0(const char *obj, const char *format, ...) pj_log(obj, 0, format, arg); va_end(arg); } +*/ PJ_DEF(void) pj_log_1(const char *obj, const char *format, ...) { diff --git a/pjlib/src/pj/os_core_symbian.cpp b/pjlib/src/pj/os_core_symbian.cpp index a3ec3c04..f13365a5 100644 --- a/pjlib/src/pj/os_core_symbian.cpp +++ b/pjlib/src/pj/os_core_symbian.cpp @@ -260,8 +260,6 @@ PJ_DEF(pj_uint32_t) pj_getpid(void) } -PJ_DECL(void) pj_shutdown(void); - /* * pj_init(void). * Init PJLIB! @@ -333,6 +331,94 @@ PJ_DEF(void) pj_shutdown(void) os->Shutdown(); } +///////////////////////////////////////////////////////////////////////////// + +class CPollTimeoutTimer : public CActive +{ +public: + static CPollTimeoutTimer* NewL(int msec, TInt prio); + ~CPollTimeoutTimer(); + + virtual void RunL(); + virtual void DoCancel(); + +private: + RTimer rtimer_; + + explicit CPollTimeoutTimer(TInt prio); + void ConstructL(int msec); +}; + +CPollTimeoutTimer::CPollTimeoutTimer(TInt prio) +: CActive(prio) +{ +} + + +CPollTimeoutTimer::~CPollTimeoutTimer() +{ + rtimer_.Close(); +} + +void CPollTimeoutTimer::ConstructL(int msec) +{ + rtimer_.CreateLocal(); + CActiveScheduler::Add(this); + rtimer_.After(iStatus, msec*1000); + SetActive(); +} + +CPollTimeoutTimer* CPollTimeoutTimer::NewL(int msec, TInt prio) +{ + CPollTimeoutTimer *self = new CPollTimeoutTimer(prio); + CleanupStack::PushL(self); + self->ConstructL(msec); + CleanupStack::Pop(self); + + return self; +} + +void CPollTimeoutTimer::RunL() +{ +} + +void CPollTimeoutTimer::DoCancel() +{ + rtimer_.Cancel(); +} + + +/* + * Wait the completion of any Symbian active objects. + */ +PJ_DEF(pj_bool_t) pj_symbianos_poll(int priority, int ms_timeout) +{ + CPollTimeoutTimer *timer = NULL; + + if (priority==-1) + priority = CActive::EPriorityStandard; + + if (ms_timeout >= 0) { + timer = CPollTimeoutTimer::NewL(ms_timeout, priority); + } + + PjSymbianOS::Instance()->WaitForActiveObjects(priority); + + if (timer) { + bool timer_is_active = timer->IsActive(); + + if (timer_is_active) + timer->Cancel(); + + delete timer; + + return timer_is_active ? PJ_TRUE : PJ_FALSE; + + } else { + return PJ_TRUE; + } +} + /* * pj_thread_register(..) diff --git a/pjlib/src/pj/os_symbian.h b/pjlib/src/pj/os_symbian.h index a1977871..abfa7f04 100644 --- a/pjlib/src/pj/os_symbian.h +++ b/pjlib/src/pj/os_symbian.h @@ -220,7 +220,7 @@ public: pj_sockaddr_in &pj_addr) { pj_bzero(&pj_addr, sizeof(pj_sockaddr_in)); - pj_addr.sin_family = PJ_AF_INET; + pj_addr.sin_family = pj_AF_INET(); pj_addr.sin_addr.s_addr = pj_htonl(sym_addr.Address()); pj_addr.sin_port = pj_htons((pj_uint16_t) sym_addr.Port()); } diff --git a/pjlib/src/pj/os_time_common.c b/pjlib/src/pj/os_time_common.c index 5fffe948..331116bc 100644 --- a/pjlib/src/pj/os_time_common.c +++ b/pjlib/src/pj/os_time_common.c @@ -18,6 +18,8 @@ */ #include <pj/os.h> #include <pj/compat/time.h> +#include <pj/errno.h> + /////////////////////////////////////////////////////////////////////////////// @@ -65,11 +67,19 @@ PJ_DEF(pj_status_t) pj_time_encode(const pj_parsed_time *pt, pj_time_val *tv) /** * Convert local time to GMT. */ -PJ_DEF(pj_status_t) pj_time_local_to_gmt(pj_time_val *tv); +PJ_DEF(pj_status_t) pj_time_local_to_gmt(pj_time_val *tv) +{ + PJ_UNUSED_ARG(tv); + return PJ_EBUG; +} /** * Convert GMT to local time. */ -PJ_DEF(pj_status_t) pj_time_gmt_to_local(pj_time_val *tv); +PJ_DEF(pj_status_t) pj_time_gmt_to_local(pj_time_val *tv) +{ + PJ_UNUSED_ARG(tv); + return PJ_EBUG; +} diff --git a/pjlib/src/pj/pool_caching.c b/pjlib/src/pj/pool_caching.c index 01c303d6..295d6b9a 100644 --- a/pjlib/src/pj/pool_caching.c +++ b/pjlib/src/pj/pool_caching.c @@ -65,6 +65,10 @@ PJ_DEF(void) pj_caching_pool_init( pj_caching_pool *cp, for (i=0; i<PJ_CACHING_POOL_ARRAY_SIZE; ++i) pj_list_init(&cp->free_list[i]); + if (policy == NULL) { + policy = &pj_pool_factory_default_policy; + } + pj_memcpy(&cp->factory.policy, policy, sizeof(pj_pool_factory_policy)); cp->factory.create_pool = &cpool_create_pool; cp->factory.release_pool = &cpool_release_pool; diff --git a/pjlib/src/pj/pool_policy_kmalloc.c b/pjlib/src/pj/pool_policy_kmalloc.c index 439fa4c5..7dc4044d 100644 --- a/pjlib/src/pj/pool_policy_kmalloc.c +++ b/pjlib/src/pj/pool_policy_kmalloc.c @@ -56,3 +56,8 @@ pj_pool_factory_policy pj_pool_factory_default_policy = 0 }; +PJ_DEF(const pj_pool_factory_policy*) pj_pool_factory_get_default_policy(void) +{ + return &pj_pool_factory_default_policy; +} + diff --git a/pjlib/src/pj/pool_policy_malloc.c b/pjlib/src/pj/pool_policy_malloc.c index d7e8ad1f..38db7fd7 100644 --- a/pjlib/src/pj/pool_policy_malloc.c +++ b/pjlib/src/pj/pool_policy_malloc.c @@ -86,7 +86,7 @@ static void default_pool_callback(pj_pool_t *pool, pj_size_t size) PJ_THROW(PJ_NO_MEMORY_EXCEPTION); } -pj_pool_factory_policy pj_pool_factory_default_policy = +PJ_DECL_DATA(pj_pool_factory_policy) pj_pool_factory_default_policy = { &default_block_alloc, &default_block_free, @@ -94,4 +94,10 @@ pj_pool_factory_policy pj_pool_factory_default_policy = 0 }; +PJ_DEF(const pj_pool_factory_policy*) pj_pool_factory_get_default_policy(void) +{ + return &pj_pool_factory_default_policy; +} + + #endif /* PJ_HAS_POOL_ALT_API */ diff --git a/pjlib/src/pj/pool_policy_new.cpp b/pjlib/src/pj/pool_policy_new.cpp index 82374adc..42771660 100644 --- a/pjlib/src/pj/pool_policy_new.cpp +++ b/pjlib/src/pj/pool_policy_new.cpp @@ -77,19 +77,19 @@ static void default_pool_callback(pj_pool_t *pool, pj_size_t size) PJ_THROW(PJ_NO_MEMORY_EXCEPTION); } -pj_pool_factory_policy pj_pool_factory_default_policy = +PJ_DEF_DATA(pj_pool_factory_policy) pj_pool_factory_default_policy = { &operator_new, &operator_delete, &default_pool_callback, 0 }; - -PJ_DEF(pj_pool_factory_policy*) pj_pool_factory_get_default_policy(void) + +PJ_DEF(const pj_pool_factory_policy*) pj_pool_factory_get_default_policy(void) { return &pj_pool_factory_default_policy; } - + #endif /* PJ_HAS_POOL_ALT_API */ diff --git a/pjlib/src/pj/sock_common.c b/pjlib/src/pj/sock_common.c new file mode 100644 index 00000000..4431f593 --- /dev/null +++ b/pjlib/src/pj/sock_common.c @@ -0,0 +1,145 @@ +/* $Id$ */ +/* + * 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 + */ +#include <pj/sock.h> + +PJ_DEF(pj_uint16_t) pj_AF_UNIX(void) +{ + return PJ_AF_UNIX; +} + +PJ_DEF(pj_uint16_t) pj_AF_INET(void) +{ + return PJ_AF_INET; +} + +PJ_DEF(pj_uint16_t) pj_AF_INET6(void) +{ + return PJ_AF_INET6; +} + +PJ_DEF(pj_uint16_t) pj_AF_PACKET(void) +{ + return PJ_AF_PACKET; +} + +PJ_DEF(pj_uint16_t) pj_AF_IRDA(void) +{ + return PJ_AF_IRDA; +} + +PJ_DEF(int) pj_SOCK_STREAM(void) +{ + return PJ_SOCK_STREAM; +} + +PJ_DEF(int) pj_SOCK_DGRAM(void) +{ + return PJ_SOCK_DGRAM; +} + +PJ_DEF(int) pj_SOCK_RAW(void) +{ + return PJ_SOCK_RAW; +} + +PJ_DEF(int) pj_SOCK_RDM(void) +{ + return PJ_SOCK_RDM; +} + +PJ_DEF(pj_uint16_t) pj_SOL_SOCKET(void) +{ + return PJ_SOL_SOCKET; +} + +PJ_DEF(pj_uint16_t) pj_SOL_IP(void) +{ + return PJ_SOL_IP; +} + +PJ_DEF(pj_uint16_t) pj_SOL_TCP(void) +{ + return PJ_SOL_TCP; +} + +PJ_DEF(pj_uint16_t) pj_SOL_UDP(void) +{ + return PJ_SOL_UDP; +} + +PJ_DEF(pj_uint16_t) pj_SOL_IPV6(void) +{ + return PJ_SOL_IPV6; +} + +PJ_DEF(int) pj_IP_TOS(void) +{ + return PJ_IP_TOS; +} + +PJ_DEF(int) pj_IPTOS_LOWDELAY(void) +{ + return PJ_IPTOS_LOWDELAY; +} + +PJ_DEF(int) pj_IPTOS_THROUGHPUT(void) +{ + return PJ_IPTOS_THROUGHPUT; +} + +PJ_DEF(int) pj_IPTOS_RELIABILITY(void) +{ + return PJ_IPTOS_RELIABILITY; +} + +PJ_DEF(int) pj_IPTOS_MINCOST(void) +{ + return PJ_IPTOS_MINCOST; +} + +PJ_DEF(pj_uint16_t) pj_SO_TYPE(void) +{ + return PJ_SO_TYPE; +} + +PJ_DEF(pj_uint16_t) pj_SO_RCVBUF(void) +{ + return PJ_SO_RCVBUF; +} + +PJ_DEF(pj_uint16_t) pj_SO_SNDBUF(void) +{ + return PJ_SO_SNDBUF; +} + +PJ_DEF(int) pj_MSG_OOB(void) +{ + return PJ_MSG_OOB; +} + +PJ_DEF(int) pj_MSG_PEEK(void) +{ + return PJ_MSG_PEEK; +} + +PJ_DEF(int) pj_MSG_DONTROUTE(void) +{ + return PJ_MSG_DONTROUTE; +} + diff --git a/pjlib/src/pj/sock_symbian.cpp b/pjlib/src/pj/sock_symbian.cpp index 38960917..7c7680a9 100644 --- a/pjlib/src/pj/sock_symbian.cpp +++ b/pjlib/src/pj/sock_symbian.cpp @@ -52,11 +52,22 @@ const pj_uint16_t PJ_SOL_TCP = 0xFFFF; const pj_uint16_t PJ_SOL_UDP = 0xFFFF; const pj_uint16_t PJ_SOL_IPV6 = 0xFFFF; +/* TOS */ +const pj_uint16_t PJ_IP_TOS = 0; +const pj_uint16_t PJ_IPTOS_LOWDELAY = 0; +const pj_uint16_t PJ_IPTOS_THROUGHPUT = 0; +const pj_uint16_t PJ_IPTOS_RELIABILITY = 0; +const pj_uint16_t PJ_IPTOS_MINCOST = 0; + /* ioctl() is also not supported. */ const pj_uint16_t PJ_SO_TYPE = 0xFFFF; const pj_uint16_t PJ_SO_RCVBUF = 0xFFFF; const pj_uint16_t PJ_SO_SNDBUF = 0xFFFF; +/* Flags */ +const int PJ_MSG_OOB = 0; +const int PJ_MSG_PEEK = KSockReadPeek; +const int PJ_MSG_DONTROUTE = 0; ///////////////////////////////////////////////////////////////////////////// // @@ -455,9 +466,9 @@ PJ_DEF(pj_status_t) pj_sock_socket(int af, /* Set proto if none is specified. */ if (proto == 0) { - if (type == PJ_SOCK_STREAM) + if (type == pj_SOCK_STREAM()) proto = KProtocolInetTcp; - else if (type == PJ_SOCK_DGRAM) + else if (type == pj_SOCK_DGRAM()) proto = KProtocolInetUdp; } diff --git a/pjlib/src/pj/types.c b/pjlib/src/pj/types.c index 030d6fce..1581b4c1 100644 --- a/pjlib/src/pj/types.c +++ b/pjlib/src/pj/types.c @@ -19,7 +19,7 @@ #include <pj/types.h> #include <pj/os.h> -void pj_time_val_normalize(pj_time_val *t) +PJ_DEF(void) pj_time_val_normalize(pj_time_val *t) { PJ_CHECK_STACK(); |