summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-07-28 02:44:55 +0000
committerBenny Prijono <bennylp@teluu.com>2007-07-28 02:44:55 +0000
commit483a106bd1476d3eb0a2168854318cfef4716b35 (patch)
treeacfe7b2abca3aa9486bf536388a6c4beaebd951a
parent13ffcf20b82f3170f6edeba19d710dad49dbce2d (diff)
Continue work on ticket #354: changed pjlib-util and pjnath libraries to .DSO (DLL) in Symbian
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1410 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--build.symbian/makedef.sh2
-rw-r--r--build.symbian/pjlibU.def570
-rw-r--r--build.symbian/pjlib_util.mmp17
-rw-r--r--build.symbian/pjlib_utilU.def92
-rw-r--r--build.symbian/pjnath.mmp16
-rw-r--r--build.symbian/pjnathU.def85
-rw-r--r--pjlib-util/src/pjlib-util/errno.c4
-rw-r--r--pjlib-util/src/pjlib-util/stun_simple_client.c10
-rw-r--r--pjlib/docs/doxygen.cfg3
-rw-r--r--pjlib/include/pj/config.h11
-rw-r--r--pjlib/include/pj/ctype.h3
-rw-r--r--pjlib/include/pj/sock.h164
-rw-r--r--pjlib/src/pj/config.c10
-rw-r--r--pjlib/src/pj/ctype.c4
-rw-r--r--pjnath/src/pjnath/ice_session.c4
-rw-r--r--pjnath/src/pjnath/ice_strans.c4
-rw-r--r--pjnath/src/pjnath/stun_msg.c132
-rw-r--r--pjnath/src/pjnath/stun_session.c2
-rw-r--r--pjnath/src/pjnath/stun_transaction.c4
19 files changed, 720 insertions, 417 deletions
diff --git a/build.symbian/makedef.sh b/build.symbian/makedef.sh
index 46d85b65..1fe8c49b 100644
--- a/build.symbian/makedef.sh
+++ b/build.symbian/makedef.sh
@@ -52,5 +52,5 @@ done
echo
-echo "Done. Total $i symbols exported."
+echo "Done. Total $i symbols exported in $DEFFILE."
diff --git a/build.symbian/pjlibU.def b/build.symbian/pjlibU.def
index 6af41e23..45439ca9 100644
--- a/build.symbian/pjlibU.def
+++ b/build.symbian/pjlibU.def
@@ -4,287 +4,289 @@ EXPORTS
PJ_FD_ISSET @ 3 NONAME
PJ_FD_SET @ 4 NONAME
PJ_FD_ZERO @ 5 NONAME
- pj_AF_INET @ 6 NONAME
- pj_AF_INET6 @ 7 NONAME
- pj_AF_IRDA @ 8 NONAME
- pj_AF_PACKET @ 9 NONAME
- pj_AF_UNIX @ 10 NONAME
- pj_IPTOS_LOWDELAY @ 11 NONAME
- pj_IPTOS_MINCOST @ 12 NONAME
- pj_IPTOS_RELIABILITY @ 13 NONAME
- pj_IPTOS_THROUGHPUT @ 14 NONAME
- pj_IP_TOS @ 15 NONAME
- pj_MSG_DONTROUTE @ 16 NONAME
- pj_MSG_OOB @ 17 NONAME
- pj_MSG_PEEK @ 18 NONAME
- pj_SOCK_DGRAM @ 19 NONAME
- pj_SOCK_RAW @ 20 NONAME
- pj_SOCK_RDM @ 21 NONAME
- pj_SOCK_STREAM @ 22 NONAME
- pj_SOL_IP @ 23 NONAME
- pj_SOL_IPV6 @ 24 NONAME
- pj_SOL_SOCKET @ 25 NONAME
- pj_SOL_TCP @ 26 NONAME
- pj_SOL_UDP @ 27 NONAME
- pj_SO_RCVBUF @ 28 NONAME
- pj_SO_SNDBUF @ 29 NONAME
- pj_SO_TYPE @ 30 NONAME
- pj_ansi_to_unicode @ 31 NONAME
- pj_array_erase @ 32 NONAME
- pj_array_find @ 33 NONAME
- pj_array_insert @ 34 NONAME
- pj_atexit @ 35 NONAME
- pj_atomic_add @ 36 NONAME
- pj_atomic_add_and_get @ 37 NONAME
- pj_atomic_create @ 38 NONAME
- pj_atomic_dec @ 39 NONAME
- pj_atomic_dec_and_get @ 40 NONAME
- pj_atomic_destroy @ 41 NONAME
- pj_atomic_get @ 42 NONAME
- pj_atomic_inc @ 43 NONAME
- pj_atomic_inc_and_get @ 44 NONAME
- pj_atomic_set @ 45 NONAME
- pj_caching_pool_destroy @ 46 NONAME
- pj_caching_pool_init @ 47 NONAME
- pj_create_random_string @ 48 NONAME
- pj_create_unique_string @ 49 NONAME
- pj_dump_config @ 50 NONAME
- pj_elapsed_cycle @ 51 NONAME
- pj_elapsed_msec @ 52 NONAME
- pj_elapsed_nanosec @ 53 NONAME
- pj_elapsed_time @ 54 NONAME
- pj_elapsed_usec @ 55 NONAME
- pj_enter_critical_section @ 56 NONAME
- pj_enum_ip_interface @ 57 NONAME
- pj_enum_ip_route @ 58 NONAME
- pj_exception_id_alloc @ 59 NONAME
- pj_exception_id_free @ 60 NONAME
- pj_exception_id_name @ 61 NONAME
- pj_fifobuf_alloc @ 62 NONAME
- pj_fifobuf_free @ 63 NONAME
- pj_fifobuf_init @ 64 NONAME
- pj_fifobuf_max_size @ 65 NONAME
- pj_fifobuf_unalloc @ 66 NONAME
- pj_file_close @ 67 NONAME
- pj_file_delete @ 68 NONAME
- pj_file_exists @ 69 NONAME
- pj_file_flush @ 70 NONAME
- pj_file_getpos @ 71 NONAME
- pj_file_getstat @ 72 NONAME
- pj_file_move @ 73 NONAME
- pj_file_open @ 74 NONAME
- pj_file_read @ 75 NONAME
- pj_file_setpos @ 76 NONAME
- pj_file_size @ 77 NONAME
- pj_file_write @ 78 NONAME
- pj_generate_unique_string @ 79 NONAME
- pj_get_netos_error @ 80 NONAME
- pj_get_os_error @ 81 NONAME
- pj_get_timestamp @ 82 NONAME
- pj_get_timestamp_freq @ 83 NONAME
- pj_gethostaddr @ 84 NONAME
- pj_gethostbyname @ 85 NONAME
- pj_gethostip @ 86 NONAME
- pj_gethostname @ 87 NONAME
- pj_getpid @ 88 NONAME
- pj_gettimeofday @ 89 NONAME
- pj_hash_calc @ 90 NONAME
- pj_hash_calc_tolower @ 91 NONAME
- pj_hash_count @ 92 NONAME
- pj_hash_create @ 93 NONAME
- pj_hash_first @ 94 NONAME
- pj_hash_get @ 95 NONAME
- pj_hash_next @ 96 NONAME
- pj_hash_set @ 97 NONAME
- pj_hash_set_np @ 98 NONAME
- pj_hash_this @ 99 NONAME
- pj_htonl @ 100 NONAME
- pj_htons @ 101 NONAME
- pj_inet_addr @ 102 NONAME
- pj_inet_addr2 @ 103 NONAME
- pj_inet_aton @ 104 NONAME
- pj_inet_ntoa @ 105 NONAME
- pj_init @ 106 NONAME
- pj_ioqueue_accept @ 107 NONAME
- pj_ioqueue_connect @ 108 NONAME
- pj_ioqueue_create @ 109 NONAME
- pj_ioqueue_destroy @ 110 NONAME
- pj_ioqueue_get_user_data @ 111 NONAME
- pj_ioqueue_is_pending @ 112 NONAME
- pj_ioqueue_name @ 113 NONAME
- pj_ioqueue_op_key_init @ 114 NONAME
- pj_ioqueue_poll @ 115 NONAME
- pj_ioqueue_post_completion @ 116 NONAME
- pj_ioqueue_recv @ 117 NONAME
- pj_ioqueue_recvfrom @ 118 NONAME
- pj_ioqueue_register_sock @ 119 NONAME
- pj_ioqueue_send @ 120 NONAME
- pj_ioqueue_sendto @ 121 NONAME
- pj_ioqueue_set_lock @ 122 NONAME
- pj_ioqueue_set_user_data @ 123 NONAME
- pj_ioqueue_unregister @ 124 NONAME
- pj_leave_critical_section @ 125 NONAME
- pj_list_erase @ 126 NONAME
- pj_list_find_node @ 127 NONAME
- pj_list_insert_after @ 128 NONAME
- pj_list_insert_before @ 129 NONAME
- pj_list_insert_nodes_after @ 130 NONAME
- pj_list_insert_nodes_before @ 131 NONAME
- pj_list_merge_first @ 132 NONAME
- pj_list_merge_last @ 133 NONAME
- pj_list_search @ 134 NONAME
- pj_list_size @ 135 NONAME
- pj_lock_acquire @ 136 NONAME
- pj_lock_create_null_mutex @ 137 NONAME
- pj_lock_create_recursive_mutex @ 138 NONAME
- pj_lock_create_semaphore @ 139 NONAME
- pj_lock_create_simple_mutex @ 140 NONAME
- pj_lock_destroy @ 141 NONAME
- pj_lock_release @ 142 NONAME
- pj_lock_tryacquire @ 143 NONAME
- pj_log @ 144 NONAME
- pj_log_1 @ 145 NONAME
- pj_log_2 @ 146 NONAME
- pj_log_3 @ 147 NONAME
- pj_log_4 @ 148 NONAME
- pj_log_5 @ 149 NONAME
- pj_log_get_decor @ 150 NONAME
- pj_log_get_level @ 151 NONAME
- pj_log_get_log_func @ 152 NONAME
- pj_log_set_decor @ 153 NONAME
- pj_log_set_level @ 154 NONAME
- pj_log_set_log_func @ 155 NONAME
- pj_log_write @ 156 NONAME
- pj_mutex_create @ 157 NONAME
- pj_mutex_create_recursive @ 158 NONAME
- pj_mutex_create_simple @ 159 NONAME
- pj_mutex_destroy @ 160 NONAME
- pj_mutex_lock @ 161 NONAME
- pj_mutex_trylock @ 162 NONAME
- pj_mutex_unlock @ 163 NONAME
- pj_ntohl @ 164 NONAME
- pj_ntohs @ 165 NONAME
- pj_pool_alloc @ 166 NONAME
- pj_pool_alloc_from_block @ 167 NONAME
- pj_pool_allocate_find @ 168 NONAME
- pj_pool_calloc @ 169 NONAME
- pj_pool_create @ 170 NONAME
- pj_pool_create_int @ 171 NONAME
- pj_pool_create_on_buf @ 172 NONAME
- pj_pool_destroy_int @ 173 NONAME
- pj_pool_factory_default_policy @ 174 NONAME
- pj_pool_factory_get_default_policy @ 175 NONAME
- pj_pool_get_capacity @ 176 NONAME
- pj_pool_get_used_size @ 177 NONAME
- pj_pool_getobjname @ 178 NONAME
- pj_pool_init_int @ 179 NONAME
- pj_pool_release @ 180 NONAME
- pj_pool_reset @ 181 NONAME
- pj_rand @ 182 NONAME
- pj_rbtree_erase @ 183 NONAME
- pj_rbtree_find @ 184 NONAME
- pj_rbtree_first @ 185 NONAME
- pj_rbtree_init @ 186 NONAME
- pj_rbtree_insert @ 187 NONAME
- pj_rbtree_last @ 188 NONAME
- pj_rbtree_max_height @ 189 NONAME
- pj_rbtree_min_height @ 190 NONAME
- pj_rbtree_next @ 191 NONAME
- pj_rbtree_prev @ 192 NONAME
- pj_register_strerror @ 193 NONAME
- pj_rwmutex_create @ 194 NONAME
- pj_rwmutex_destroy @ 195 NONAME
- pj_rwmutex_lock_read @ 196 NONAME
- pj_rwmutex_lock_write @ 197 NONAME
- pj_rwmutex_unlock_read @ 198 NONAME
- pj_rwmutex_unlock_write @ 199 NONAME
- pj_sem_create @ 200 NONAME
- pj_sem_destroy @ 201 NONAME
- pj_sem_post @ 202 NONAME
- pj_sem_trywait @ 203 NONAME
- pj_sem_wait @ 204 NONAME
- pj_set_netos_error @ 205 NONAME
- pj_set_os_error @ 206 NONAME
- pj_shutdown @ 207 NONAME
- pj_sock_accept @ 208 NONAME
- pj_sock_bind @ 209 NONAME
- pj_sock_bind_in @ 210 NONAME
- pj_sock_close @ 211 NONAME
- pj_sock_connect @ 212 NONAME
- pj_sock_getpeername @ 213 NONAME
- pj_sock_getsockname @ 214 NONAME
- pj_sock_getsockopt @ 215 NONAME
- pj_sock_listen @ 216 NONAME
- pj_sock_recv @ 217 NONAME
- pj_sock_recvfrom @ 218 NONAME
- pj_sock_select @ 219 NONAME
- pj_sock_send @ 220 NONAME
- pj_sock_sendto @ 221 NONAME
- pj_sock_setsockopt @ 222 NONAME
- pj_sock_shutdown @ 223 NONAME
- pj_sock_socket @ 224 NONAME
- pj_sockaddr_in_init @ 225 NONAME
- pj_sockaddr_in_set_str_addr @ 226 NONAME
- pj_srand @ 227 NONAME
- pj_str @ 228 NONAME
- pj_strassign @ 229 NONAME
- pj_strcat @ 230 NONAME
- pj_strcat2 @ 231 NONAME
- pj_strcmp @ 232 NONAME
- pj_strcmp2 @ 233 NONAME
- pj_strcpy @ 234 NONAME
- pj_strcpy2 @ 235 NONAME
- pj_strdup @ 236 NONAME
- pj_strdup2 @ 237 NONAME
- pj_strdup2_with_null @ 238 NONAME
- pj_strdup3 @ 239 NONAME
- pj_strdup_with_null @ 240 NONAME
- pj_strerror @ 241 NONAME
- pj_stricmp @ 242 NONAME
- pj_stricmp2 @ 243 NONAME
- pj_strltrim @ 244 NONAME
- pj_strncmp @ 245 NONAME
- pj_strncmp2 @ 246 NONAME
- pj_strncpy @ 247 NONAME
- pj_strncpy_with_null @ 248 NONAME
- pj_strnicmp @ 249 NONAME
- pj_strnicmp2 @ 250 NONAME
- pj_strrtrim @ 251 NONAME
- pj_strtoul @ 252 NONAME
- pj_strtoul2 @ 253 NONAME
- pj_strtrim @ 254 NONAME
- pj_symbianos_poll @ 255 NONAME
- pj_thread_create @ 256 NONAME
- pj_thread_destroy @ 257 NONAME
- pj_thread_get_name @ 258 NONAME
- pj_thread_join @ 259 NONAME
- pj_thread_local_alloc @ 260 NONAME
- pj_thread_local_free @ 261 NONAME
- pj_thread_local_get @ 262 NONAME
- pj_thread_local_set @ 263 NONAME
- pj_thread_register @ 264 NONAME
- pj_thread_resume @ 265 NONAME
- pj_thread_sleep @ 266 NONAME
- pj_thread_this @ 267 NONAME
- pj_time_decode @ 268 NONAME
- pj_time_encode @ 269 NONAME
- pj_time_gmt_to_local @ 270 NONAME
- pj_time_local_to_gmt @ 271 NONAME
- pj_time_val_normalize @ 272 NONAME
- pj_timer_entry_init @ 273 NONAME
- pj_timer_heap_cancel @ 274 NONAME
- pj_timer_heap_count @ 275 NONAME
- pj_timer_heap_create @ 276 NONAME
- pj_timer_heap_destroy @ 277 NONAME
- pj_timer_heap_earliest_time @ 278 NONAME
- pj_timer_heap_mem_size @ 279 NONAME
- pj_timer_heap_poll @ 280 NONAME
- pj_timer_heap_schedule @ 281 NONAME
- pj_timer_heap_set_lock @ 282 NONAME
- pj_timer_heap_set_max_timed_out_per_poll @ 283 NONAME
- pj_unicode_to_ansi @ 284 NONAME
- pj_utoa @ 285 NONAME
- pj_utoa_pad @ 286 NONAME
- platform_strerror @ 287 NONAME
- snprintf @ 288 NONAME
- vsnprintf @ 289 NONAME
+ PJ_VERSION @ 6 NONAME
+ pj_AF_INET @ 7 NONAME
+ pj_AF_INET6 @ 8 NONAME
+ pj_AF_IRDA @ 9 NONAME
+ pj_AF_PACKET @ 10 NONAME
+ pj_AF_UNIX @ 11 NONAME
+ pj_IPTOS_LOWDELAY @ 12 NONAME
+ pj_IPTOS_MINCOST @ 13 NONAME
+ pj_IPTOS_RELIABILITY @ 14 NONAME
+ pj_IPTOS_THROUGHPUT @ 15 NONAME
+ pj_IP_TOS @ 16 NONAME
+ pj_MSG_DONTROUTE @ 17 NONAME
+ pj_MSG_OOB @ 18 NONAME
+ pj_MSG_PEEK @ 19 NONAME
+ pj_SOCK_DGRAM @ 20 NONAME
+ pj_SOCK_RAW @ 21 NONAME
+ pj_SOCK_RDM @ 22 NONAME
+ pj_SOCK_STREAM @ 23 NONAME
+ pj_SOL_IP @ 24 NONAME
+ pj_SOL_IPV6 @ 25 NONAME
+ pj_SOL_SOCKET @ 26 NONAME
+ pj_SOL_TCP @ 27 NONAME
+ pj_SOL_UDP @ 28 NONAME
+ pj_SO_RCVBUF @ 29 NONAME
+ pj_SO_SNDBUF @ 30 NONAME
+ pj_SO_TYPE @ 31 NONAME
+ pj_ansi_to_unicode @ 32 NONAME
+ pj_array_erase @ 33 NONAME
+ pj_array_find @ 34 NONAME
+ pj_array_insert @ 35 NONAME
+ pj_atexit @ 36 NONAME
+ pj_atomic_add @ 37 NONAME
+ pj_atomic_add_and_get @ 38 NONAME
+ pj_atomic_create @ 39 NONAME
+ pj_atomic_dec @ 40 NONAME
+ pj_atomic_dec_and_get @ 41 NONAME
+ pj_atomic_destroy @ 42 NONAME
+ pj_atomic_get @ 43 NONAME
+ pj_atomic_inc @ 44 NONAME
+ pj_atomic_inc_and_get @ 45 NONAME
+ pj_atomic_set @ 46 NONAME
+ pj_caching_pool_destroy @ 47 NONAME
+ pj_caching_pool_init @ 48 NONAME
+ pj_create_random_string @ 49 NONAME
+ pj_create_unique_string @ 50 NONAME
+ pj_dump_config @ 51 NONAME
+ pj_elapsed_cycle @ 52 NONAME
+ pj_elapsed_msec @ 53 NONAME
+ pj_elapsed_nanosec @ 54 NONAME
+ pj_elapsed_time @ 55 NONAME
+ pj_elapsed_usec @ 56 NONAME
+ pj_enter_critical_section @ 57 NONAME
+ pj_enum_ip_interface @ 58 NONAME
+ pj_enum_ip_route @ 59 NONAME
+ pj_exception_id_alloc @ 60 NONAME
+ pj_exception_id_free @ 61 NONAME
+ pj_exception_id_name @ 62 NONAME
+ pj_fifobuf_alloc @ 63 NONAME
+ pj_fifobuf_free @ 64 NONAME
+ pj_fifobuf_init @ 65 NONAME
+ pj_fifobuf_max_size @ 66 NONAME
+ pj_fifobuf_unalloc @ 67 NONAME
+ pj_file_close @ 68 NONAME
+ pj_file_delete @ 69 NONAME
+ pj_file_exists @ 70 NONAME
+ pj_file_flush @ 71 NONAME
+ pj_file_getpos @ 72 NONAME
+ pj_file_getstat @ 73 NONAME
+ pj_file_move @ 74 NONAME
+ pj_file_open @ 75 NONAME
+ pj_file_read @ 76 NONAME
+ pj_file_setpos @ 77 NONAME
+ pj_file_size @ 78 NONAME
+ pj_file_write @ 79 NONAME
+ pj_generate_unique_string @ 80 NONAME
+ pj_get_netos_error @ 81 NONAME
+ pj_get_os_error @ 82 NONAME
+ pj_get_timestamp @ 83 NONAME
+ pj_get_timestamp_freq @ 84 NONAME
+ pj_get_version @ 85 NONAME
+ pj_gethostaddr @ 86 NONAME
+ pj_gethostbyname @ 87 NONAME
+ pj_gethostip @ 88 NONAME
+ pj_gethostname @ 89 NONAME
+ pj_getpid @ 90 NONAME
+ pj_gettimeofday @ 91 NONAME
+ pj_hash_calc @ 92 NONAME
+ pj_hash_calc_tolower @ 93 NONAME
+ pj_hash_count @ 94 NONAME
+ pj_hash_create @ 95 NONAME
+ pj_hash_first @ 96 NONAME
+ pj_hash_get @ 97 NONAME
+ pj_hash_next @ 98 NONAME
+ pj_hash_set @ 99 NONAME
+ pj_hash_set_np @ 100 NONAME
+ pj_hash_this @ 101 NONAME
+ pj_htonl @ 102 NONAME
+ pj_htons @ 103 NONAME
+ pj_inet_addr @ 104 NONAME
+ pj_inet_addr2 @ 105 NONAME
+ pj_inet_aton @ 106 NONAME
+ pj_inet_ntoa @ 107 NONAME
+ pj_init @ 108 NONAME
+ pj_ioqueue_accept @ 109 NONAME
+ pj_ioqueue_connect @ 110 NONAME
+ pj_ioqueue_create @ 111 NONAME
+ pj_ioqueue_destroy @ 112 NONAME
+ pj_ioqueue_get_user_data @ 113 NONAME
+ pj_ioqueue_is_pending @ 114 NONAME
+ pj_ioqueue_name @ 115 NONAME
+ pj_ioqueue_op_key_init @ 116 NONAME
+ pj_ioqueue_poll @ 117 NONAME
+ pj_ioqueue_post_completion @ 118 NONAME
+ pj_ioqueue_recv @ 119 NONAME
+ pj_ioqueue_recvfrom @ 120 NONAME
+ pj_ioqueue_register_sock @ 121 NONAME
+ pj_ioqueue_send @ 122 NONAME
+ pj_ioqueue_sendto @ 123 NONAME
+ pj_ioqueue_set_lock @ 124 NONAME
+ pj_ioqueue_set_user_data @ 125 NONAME
+ pj_ioqueue_unregister @ 126 NONAME
+ pj_leave_critical_section @ 127 NONAME
+ pj_list_erase @ 128 NONAME
+ pj_list_find_node @ 129 NONAME
+ pj_list_insert_after @ 130 NONAME
+ pj_list_insert_before @ 131 NONAME
+ pj_list_insert_nodes_after @ 132 NONAME
+ pj_list_insert_nodes_before @ 133 NONAME
+ pj_list_merge_first @ 134 NONAME
+ pj_list_merge_last @ 135 NONAME
+ pj_list_search @ 136 NONAME
+ pj_list_size @ 137 NONAME
+ pj_lock_acquire @ 138 NONAME
+ pj_lock_create_null_mutex @ 139 NONAME
+ pj_lock_create_recursive_mutex @ 140 NONAME
+ pj_lock_create_semaphore @ 141 NONAME
+ pj_lock_create_simple_mutex @ 142 NONAME
+ pj_lock_destroy @ 143 NONAME
+ pj_lock_release @ 144 NONAME
+ pj_lock_tryacquire @ 145 NONAME
+ pj_log @ 146 NONAME
+ pj_log_1 @ 147 NONAME
+ pj_log_2 @ 148 NONAME
+ pj_log_3 @ 149 NONAME
+ pj_log_4 @ 150 NONAME
+ pj_log_5 @ 151 NONAME
+ pj_log_get_decor @ 152 NONAME
+ pj_log_get_level @ 153 NONAME
+ pj_log_get_log_func @ 154 NONAME
+ pj_log_set_decor @ 155 NONAME
+ pj_log_set_level @ 156 NONAME
+ pj_log_set_log_func @ 157 NONAME
+ pj_log_write @ 158 NONAME
+ pj_mutex_create @ 159 NONAME
+ pj_mutex_create_recursive @ 160 NONAME
+ pj_mutex_create_simple @ 161 NONAME
+ pj_mutex_destroy @ 162 NONAME
+ pj_mutex_lock @ 163 NONAME
+ pj_mutex_trylock @ 164 NONAME
+ pj_mutex_unlock @ 165 NONAME
+ pj_ntohl @ 166 NONAME
+ pj_ntohs @ 167 NONAME
+ pj_pool_alloc @ 168 NONAME
+ pj_pool_alloc_from_block @ 169 NONAME
+ pj_pool_allocate_find @ 170 NONAME
+ pj_pool_calloc @ 171 NONAME
+ pj_pool_create @ 172 NONAME
+ pj_pool_create_int @ 173 NONAME
+ pj_pool_create_on_buf @ 174 NONAME
+ pj_pool_destroy_int @ 175 NONAME
+ pj_pool_factory_default_policy @ 176 NONAME
+ pj_pool_factory_get_default_policy @ 177 NONAME
+ pj_pool_get_capacity @ 178 NONAME
+ pj_pool_get_used_size @ 179 NONAME
+ pj_pool_getobjname @ 180 NONAME
+ pj_pool_init_int @ 181 NONAME
+ pj_pool_release @ 182 NONAME
+ pj_pool_reset @ 183 NONAME
+ pj_rand @ 184 NONAME
+ pj_rbtree_erase @ 185 NONAME
+ pj_rbtree_find @ 186 NONAME
+ pj_rbtree_first @ 187 NONAME
+ pj_rbtree_init @ 188 NONAME
+ pj_rbtree_insert @ 189 NONAME
+ pj_rbtree_last @ 190 NONAME
+ pj_rbtree_max_height @ 191 NONAME
+ pj_rbtree_min_height @ 192 NONAME
+ pj_rbtree_next @ 193 NONAME
+ pj_rbtree_prev @ 194 NONAME
+ pj_register_strerror @ 195 NONAME
+ pj_rwmutex_create @ 196 NONAME
+ pj_rwmutex_destroy @ 197 NONAME
+ pj_rwmutex_lock_read @ 198 NONAME
+ pj_rwmutex_lock_write @ 199 NONAME
+ pj_rwmutex_unlock_read @ 200 NONAME
+ pj_rwmutex_unlock_write @ 201 NONAME
+ pj_sem_create @ 202 NONAME
+ pj_sem_destroy @ 203 NONAME
+ pj_sem_post @ 204 NONAME
+ pj_sem_trywait @ 205 NONAME
+ pj_sem_wait @ 206 NONAME
+ pj_set_netos_error @ 207 NONAME
+ pj_set_os_error @ 208 NONAME
+ pj_shutdown @ 209 NONAME
+ pj_sock_accept @ 210 NONAME
+ pj_sock_bind @ 211 NONAME
+ pj_sock_bind_in @ 212 NONAME
+ pj_sock_close @ 213 NONAME
+ pj_sock_connect @ 214 NONAME
+ pj_sock_getpeername @ 215 NONAME
+ pj_sock_getsockname @ 216 NONAME
+ pj_sock_getsockopt @ 217 NONAME
+ pj_sock_listen @ 218 NONAME
+ pj_sock_recv @ 219 NONAME
+ pj_sock_recvfrom @ 220 NONAME
+ pj_sock_select @ 221 NONAME
+ pj_sock_send @ 222 NONAME
+ pj_sock_sendto @ 223 NONAME
+ pj_sock_setsockopt @ 224 NONAME
+ pj_sock_shutdown @ 225 NONAME
+ pj_sock_socket @ 226 NONAME
+ pj_sockaddr_in_init @ 227 NONAME
+ pj_sockaddr_in_set_str_addr @ 228 NONAME
+ pj_srand @ 229 NONAME
+ pj_str @ 230 NONAME
+ pj_strassign @ 231 NONAME
+ pj_strcat @ 232 NONAME
+ pj_strcat2 @ 233 NONAME
+ pj_strcmp @ 234 NONAME
+ pj_strcmp2 @ 235 NONAME
+ pj_strcpy @ 236 NONAME
+ pj_strcpy2 @ 237 NONAME
+ pj_strdup @ 238 NONAME
+ pj_strdup2 @ 239 NONAME
+ pj_strdup2_with_null @ 240 NONAME
+ pj_strdup3 @ 241 NONAME
+ pj_strdup_with_null @ 242 NONAME
+ pj_strerror @ 243 NONAME
+ pj_stricmp @ 244 NONAME
+ pj_stricmp2 @ 245 NONAME
+ pj_strltrim @ 246 NONAME
+ pj_strncmp @ 247 NONAME
+ pj_strncmp2 @ 248 NONAME
+ pj_strncpy @ 249 NONAME
+ pj_strncpy_with_null @ 250 NONAME
+ pj_strnicmp @ 251 NONAME
+ pj_strnicmp2 @ 252 NONAME
+ pj_strrtrim @ 253 NONAME
+ pj_strtoul @ 254 NONAME
+ pj_strtoul2 @ 255 NONAME
+ pj_strtrim @ 256 NONAME
+ pj_symbianos_poll @ 257 NONAME
+ pj_thread_create @ 258 NONAME
+ pj_thread_destroy @ 259 NONAME
+ pj_thread_get_name @ 260 NONAME
+ pj_thread_join @ 261 NONAME
+ pj_thread_local_alloc @ 262 NONAME
+ pj_thread_local_free @ 263 NONAME
+ pj_thread_local_get @ 264 NONAME
+ pj_thread_local_set @ 265 NONAME
+ pj_thread_register @ 266 NONAME
+ pj_thread_resume @ 267 NONAME
+ pj_thread_sleep @ 268 NONAME
+ pj_thread_this @ 269 NONAME
+ pj_time_decode @ 270 NONAME
+ pj_time_encode @ 271 NONAME
+ pj_time_gmt_to_local @ 272 NONAME
+ pj_time_local_to_gmt @ 273 NONAME
+ pj_time_val_normalize @ 274 NONAME
+ pj_timer_entry_init @ 275 NONAME
+ pj_timer_heap_cancel @ 276 NONAME
+ pj_timer_heap_count @ 277 NONAME
+ pj_timer_heap_create @ 278 NONAME
+ pj_timer_heap_destroy @ 279 NONAME
+ pj_timer_heap_earliest_time @ 280 NONAME
+ pj_timer_heap_mem_size @ 281 NONAME
+ pj_timer_heap_poll @ 282 NONAME
+ pj_timer_heap_schedule @ 283 NONAME
+ pj_timer_heap_set_lock @ 284 NONAME
+ pj_timer_heap_set_max_timed_out_per_poll @ 285 NONAME
+ pj_unicode_to_ansi @ 286 NONAME
+ pj_utoa @ 287 NONAME
+ pj_utoa_pad @ 288 NONAME
+ platform_strerror @ 289 NONAME
+ snprintf @ 290 NONAME
+ vsnprintf @ 291 NONAME
diff --git a/build.symbian/pjlib_util.mmp b/build.symbian/pjlib_util.mmp
index fc161cae..2d4b3d79 100644
--- a/build.symbian/pjlib_util.mmp
+++ b/build.symbian/pjlib_util.mmp
@@ -1,7 +1,21 @@
+#if defined(EKA2)
+TARGET pjlib_util.dll
+TARGETTYPE dll
+UID 0x1000008d 0xA0004298
+CAPABILITY NONE
+LIBRARY pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO PJ_DLL
+MACRO PJ_EXPORTING
+
+DEFFILE .\pjlib_util.def
+
+#else
TARGET pjlib_util.lib
TARGETTYPE lib
UID 0x100039CE 0x10004299
-VENDORID 0x70000001
+//VENDORID 0x70000001
+
+#endif
SOURCEPATH ..\pjlib-util\src\pjlib-util
@@ -59,5 +73,4 @@ SYSTEMINCLUDE ..\pjlib-util\include
SYSTEMINCLUDE \epoc32\include
SYSTEMINCLUDE \epoc32\include\libc
-CAPABILITY None
diff --git a/build.symbian/pjlib_utilU.def b/build.symbian/pjlib_utilU.def
new file mode 100644
index 00000000..3e482afe
--- /dev/null
+++ b/build.symbian/pjlib_utilU.def
@@ -0,0 +1,92 @@
+EXPORTS
+ pj_cis_add_alpha @ 1 NONAME
+ pj_cis_add_cis @ 2 NONAME
+ pj_cis_add_num @ 3 NONAME
+ pj_cis_add_range @ 4 NONAME
+ pj_cis_add_str @ 5 NONAME
+ pj_cis_buf_init @ 6 NONAME
+ pj_cis_del_range @ 7 NONAME
+ pj_cis_del_str @ 8 NONAME
+ pj_cis_dup @ 9 NONAME
+ pj_cis_init @ 10 NONAME
+ pj_cis_invert @ 11 NONAME
+ pj_crc32_calc @ 12 NONAME
+ pj_crc32_final @ 13 NONAME
+ pj_crc32_init @ 14 NONAME
+ pj_crc32_update @ 15 NONAME
+ pj_dns_dump_packet @ 16 NONAME
+ pj_dns_get_type_name @ 17 NONAME
+ pj_dns_make_query @ 18 NONAME
+ pj_dns_packet_dup @ 19 NONAME
+ pj_dns_parse_a_response @ 20 NONAME
+ pj_dns_parse_packet @ 21 NONAME
+ pj_dns_resolver_add_entry @ 22 NONAME
+ pj_dns_resolver_cancel_query @ 23 NONAME
+ pj_dns_resolver_create @ 24 NONAME
+ pj_dns_resolver_destroy @ 25 NONAME
+ pj_dns_resolver_dump @ 26 NONAME
+ pj_dns_resolver_get_cached_count @ 27 NONAME
+ pj_dns_resolver_get_settings @ 28 NONAME
+ pj_dns_resolver_handle_events @ 29 NONAME
+ pj_dns_resolver_set_ns @ 30 NONAME
+ pj_dns_resolver_set_settings @ 31 NONAME
+ pj_dns_resolver_start_query @ 32 NONAME
+ pj_dns_settings_default @ 33 NONAME
+ pj_dns_srv_resolve @ 34 NONAME
+ pj_hmac_md5 @ 35 NONAME
+ pj_hmac_md5_final @ 36 NONAME
+ pj_hmac_md5_init @ 37 NONAME
+ pj_hmac_md5_update @ 38 NONAME
+ pj_hmac_sha1 @ 39 NONAME
+ pj_hmac_sha1_final @ 40 NONAME
+ pj_hmac_sha1_init @ 41 NONAME
+ pj_hmac_sha1_update @ 42 NONAME
+ pj_md5_final @ 43 NONAME
+ pj_md5_init @ 44 NONAME
+ pj_md5_update @ 45 NONAME
+ pj_scan_advance_n @ 46 NONAME
+ pj_scan_fini @ 47 NONAME
+ pj_scan_get @ 48 NONAME
+ pj_scan_get_char @ 49 NONAME
+ pj_scan_get_n @ 50 NONAME
+ pj_scan_get_newline @ 51 NONAME
+ pj_scan_get_quote @ 52 NONAME
+ pj_scan_get_quotes @ 53 NONAME
+ pj_scan_get_unescape @ 54 NONAME
+ pj_scan_get_until @ 55 NONAME
+ pj_scan_get_until_ch @ 56 NONAME
+ pj_scan_get_until_chr @ 57 NONAME
+ pj_scan_init @ 58 NONAME
+ pj_scan_peek @ 59 NONAME
+ pj_scan_peek_n @ 60 NONAME
+ pj_scan_peek_until @ 61 NONAME
+ pj_scan_restore_state @ 62 NONAME
+ pj_scan_save_state @ 63 NONAME
+ pj_scan_skip_line @ 64 NONAME
+ pj_scan_skip_whitespace @ 65 NONAME
+ pj_scan_strcmp @ 66 NONAME
+ pj_scan_stricmp @ 67 NONAME
+ pj_scan_stricmp_alnum @ 68 NONAME
+ pj_sha1_final @ 69 NONAME
+ pj_sha1_init @ 70 NONAME
+ pj_sha1_update @ 71 NONAME
+ pj_str_unescape @ 72 NONAME
+ pj_strcpy_unescape @ 73 NONAME
+ pj_strncpy2_escape @ 74 NONAME
+ pj_strncpy_escape @ 75 NONAME
+ pj_xml_add_attr @ 76 NONAME
+ pj_xml_add_node @ 77 NONAME
+ pj_xml_attr_new @ 78 NONAME
+ pj_xml_clone @ 79 NONAME
+ pj_xml_find @ 80 NONAME
+ pj_xml_find_attr @ 81 NONAME
+ pj_xml_find_next_node @ 82 NONAME
+ pj_xml_find_node @ 83 NONAME
+ pj_xml_node_new @ 84 NONAME
+ pj_xml_parse @ 85 NONAME
+ pj_xml_print @ 86 NONAME
+ pjlib_util_init @ 87 NONAME
+ pjstun_create_bind_req @ 88 NONAME
+ pjstun_get_mapped_addr @ 89 NONAME
+ pjstun_msg_find_attr @ 90 NONAME
+ pjstun_parse_msg @ 91 NONAME
diff --git a/build.symbian/pjnath.mmp b/build.symbian/pjnath.mmp
index 2bd86911..344aa44d 100644
--- a/build.symbian/pjnath.mmp
+++ b/build.symbian/pjnath.mmp
@@ -1,8 +1,23 @@
+#if defined(EKA2)
+TARGET pjnath.dll
+TARGETTYPE dll
+UID 0x1000008d 0xA0004297
+CAPABILITY None
+LIBRARY pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib
+MACRO PJ_DLL
+MACRO PJ_EXPORTING
+
+DEFFILE .\pjnath.def
+
+#else
+
TARGET pjnath.lib
TARGETTYPE lib
UID 0x100039CE 0x10004299
VENDORID 0x70000001
+#endif
+
SOURCEPATH ..\pjnath\src\pjnath
MACRO PJ_M_I386=1
@@ -49,5 +64,4 @@ SYSTEMINCLUDE \epoc32\include\libc
//STATICLIBRARY pjlib.lib
//STATICLIBRARY pjlib_util.lib
-CAPABILITY None
diff --git a/build.symbian/pjnathU.def b/build.symbian/pjnathU.def
new file mode 100644
index 00000000..4d5442aa
--- /dev/null
+++ b/build.symbian/pjnathU.def
@@ -0,0 +1,85 @@
+EXPORTS
+ pj_ice_calc_foundation @ 1 NONAME
+ pj_ice_get_cand_type_name @ 2 NONAME
+ pj_ice_sess_add_cand @ 3 NONAME
+ pj_ice_sess_change_role @ 4 NONAME
+ pj_ice_sess_create @ 5 NONAME
+ pj_ice_sess_create_check_list @ 6 NONAME
+ pj_ice_sess_destroy @ 7 NONAME
+ pj_ice_sess_find_default_cand @ 8 NONAME
+ pj_ice_sess_on_rx_pkt @ 9 NONAME
+ pj_ice_sess_send_data @ 10 NONAME
+ pj_ice_sess_set_prefs @ 11 NONAME
+ pj_ice_sess_start_check @ 12 NONAME
+ pj_ice_strans_add_cand @ 13 NONAME
+ pj_ice_strans_create @ 14 NONAME
+ pj_ice_strans_create_comp @ 15 NONAME
+ pj_ice_strans_destroy @ 16 NONAME
+ pj_ice_strans_enum_cands @ 17 NONAME
+ pj_ice_strans_get_comps_status @ 18 NONAME
+ pj_ice_strans_init_ice @ 19 NONAME
+ pj_ice_strans_sendto @ 20 NONAME
+ pj_ice_strans_set_stun_domain @ 21 NONAME
+ pj_ice_strans_set_stun_srv @ 22 NONAME
+ pj_ice_strans_start_ice @ 23 NONAME
+ pj_ice_strans_stop_ice @ 24 NONAME
+ pj_stun_auth_cred_dup @ 25 NONAME
+ pj_stun_auth_valid_for_msg @ 26 NONAME
+ pj_stun_authenticate_request @ 27 NONAME
+ pj_stun_authenticate_response @ 28 NONAME
+ pj_stun_binary_attr_create @ 29 NONAME
+ pj_stun_client_tsx_create @ 30 NONAME
+ pj_stun_client_tsx_destroy @ 31 NONAME
+ pj_stun_client_tsx_get_data @ 32 NONAME
+ pj_stun_client_tsx_is_complete @ 33 NONAME
+ pj_stun_client_tsx_on_rx_msg @ 34 NONAME
+ pj_stun_client_tsx_retransmit @ 35 NONAME
+ pj_stun_client_tsx_schedule_destroy @ 36 NONAME
+ pj_stun_client_tsx_send_msg @ 37 NONAME
+ pj_stun_client_tsx_set_data @ 38 NONAME
+ pj_stun_create_key @ 39 NONAME
+ pj_stun_empty_attr_create @ 40 NONAME
+ pj_stun_errcode_attr_create @ 41 NONAME
+ pj_stun_get_attr_name @ 42 NONAME
+ pj_stun_get_class_name @ 43 NONAME
+ pj_stun_get_err_reason @ 44 NONAME
+ pj_stun_get_method_name @ 45 NONAME
+ pj_stun_msg_add_attr @ 46 NONAME
+ pj_stun_msg_add_binary_attr @ 47 NONAME
+ pj_stun_msg_add_empty_attr @ 48 NONAME
+ pj_stun_msg_add_errcode_attr @ 49 NONAME
+ pj_stun_msg_add_msgint_attr @ 50 NONAME
+ pj_stun_msg_add_sockaddr_attr @ 51 NONAME
+ pj_stun_msg_add_string_attr @ 52 NONAME
+ pj_stun_msg_add_uint64_attr @ 53 NONAME
+ pj_stun_msg_add_uint_attr @ 54 NONAME
+ pj_stun_msg_add_unknown_attr @ 55 NONAME
+ pj_stun_msg_check @ 56 NONAME
+ pj_stun_msg_create @ 57 NONAME
+ pj_stun_msg_create_response @ 58 NONAME
+ pj_stun_msg_decode @ 59 NONAME
+ pj_stun_msg_destroy_tdata @ 60 NONAME
+ pj_stun_msg_dump @ 61 NONAME
+ pj_stun_msg_encode @ 62 NONAME
+ pj_stun_msg_find_attr @ 63 NONAME
+ pj_stun_msgint_attr_create @ 64 NONAME
+ pj_stun_session_cancel_req @ 65 NONAME
+ pj_stun_session_create @ 66 NONAME
+ pj_stun_session_create_ind @ 67 NONAME
+ pj_stun_session_create_req @ 68 NONAME
+ pj_stun_session_create_res @ 69 NONAME
+ pj_stun_session_destroy @ 70 NONAME
+ pj_stun_session_get_user_data @ 71 NONAME
+ pj_stun_session_on_rx_pkt @ 72 NONAME
+ pj_stun_session_retransmit_req @ 73 NONAME
+ pj_stun_session_send_msg @ 74 NONAME
+ pj_stun_session_set_credential @ 75 NONAME
+ pj_stun_session_set_server_name @ 76 NONAME
+ pj_stun_session_set_user_data @ 77 NONAME
+ pj_stun_sockaddr_attr_create @ 78 NONAME
+ pj_stun_string_attr_create @ 79 NONAME
+ pj_stun_uint64_attr_create @ 80 NONAME
+ pj_stun_uint_attr_create @ 81 NONAME
+ pj_stun_unknown_attr_create @ 82 NONAME
+ pjnath_init @ 83 NONAME
+ pjnath_perror @ 84 NONAME
diff --git a/pjlib-util/src/pjlib-util/errno.c b/pjlib-util/src/pjlib-util/errno.c
index e4d8bce9..22eb3c44 100644
--- a/pjlib-util/src/pjlib-util/errno.c
+++ b/pjlib-util/src/pjlib-util/errno.c
@@ -94,8 +94,8 @@ static const struct
/*
* pjlib_util_strerror()
*/
-PJ_DEF(pj_str_t) pjlib_util_strerror( pj_status_t statcode,
- char *buf, pj_size_t bufsize )
+pj_str_t pjlib_util_strerror(pj_status_t statcode,
+ char *buf, pj_size_t bufsize )
{
pj_str_t errstr;
diff --git a/pjlib-util/src/pjlib-util/stun_simple_client.c b/pjlib-util/src/pjlib-util/stun_simple_client.c
index 8a58f71a..de1b0836 100644
--- a/pjlib-util/src/pjlib-util/stun_simple_client.c
+++ b/pjlib-util/src/pjlib-util/stun_simple_client.c
@@ -32,11 +32,11 @@ static int stun_timer[] = {1600, 1600, 1600 };
#define LOG_ADDR(addr) pj_inet_ntoa(addr.sin_addr), pj_ntohs(addr.sin_port)
-PJ_DECL(pj_status_t) pjstun_get_mapped_addr( pj_pool_factory *pf,
- int sock_cnt, pj_sock_t sock[],
- const pj_str_t *srv1, int port1,
- const pj_str_t *srv2, int port2,
- pj_sockaddr_in mapped_addr[])
+PJ_DEF(pj_status_t) pjstun_get_mapped_addr( pj_pool_factory *pf,
+ int sock_cnt, pj_sock_t sock[],
+ const pj_str_t *srv1, int port1,
+ const pj_str_t *srv2, int port2,
+ pj_sockaddr_in mapped_addr[])
{
pj_sockaddr_in srv_addr[2];
int i, j, send_cnt = 0;
diff --git a/pjlib/docs/doxygen.cfg b/pjlib/docs/doxygen.cfg
index d8956325..f6a7e70a 100644
--- a/pjlib/docs/doxygen.cfg
+++ b/pjlib/docs/doxygen.cfg
@@ -847,7 +847,8 @@ PREDEFINED = PJ_DECL(x)=x PJ_DEF(x)=x PJ_IDECL(x)=x \
PJ_HAS_HIGH_RES_TIMER=1 \
PJ_LOG_MAX_LEVEL=4 \
PJ_HAS_SEMAPHORE=1 \
- PJ_HAS_EVENT_OBJ=1
+ PJ_HAS_EVENT_OBJ=1 \
+ PJ_HAS_TCP=1
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
diff --git a/pjlib/include/pj/config.h b/pjlib/include/pj/config.h
index db557c9d..d5652578 100644
--- a/pjlib/include/pj/config.h
+++ b/pjlib/include/pj/config.h
@@ -905,9 +905,16 @@
PJ_BEGIN_DECL
/**
- * PJLIB version string.
+ * PJLIB version string constant. @see pj_get_version()
*/
-extern const char *PJ_VERSION;
+PJ_DECL_DATA(const char*) PJ_VERSION;
+
+/**
+ * Get PJLIB version string.
+ *
+ * @return #PJ_VERSION constant.
+ */
+PJ_DECL(const char*) pj_get_version(void);
/**
* Dump configuration to log with verbosity equal to info(3).
diff --git a/pjlib/include/pj/ctype.h b/pjlib/include/pj/ctype.h
index ada2acfb..589edae6 100644
--- a/pjlib/include/pj/ctype.h
+++ b/pjlib/include/pj/ctype.h
@@ -136,7 +136,8 @@ PJ_INLINE(int) pj_isxdigit(int c){ return isxdigit(c); }
/**
* Array of hex digits, in lowerspace.
*/
-extern char pj_hex_digits[];
+/*extern char pj_hex_digits[];*/
+#define pj_hex_digits "0123456789abcdef"
/**
* Convert a value to hex representation.
diff --git a/pjlib/include/pj/sock.h b/pjlib/include/pj/sock.h
index fe97c106..12b771c9 100644
--- a/pjlib/include/pj/sock.h
+++ b/pjlib/include/pj/sock.h
@@ -59,17 +59,40 @@ PJ_BEGIN_DECL
* APPLICATION MUST USE THESE VALUES INSTEAD OF NORMAL AF_*, BECAUSE
* THE LIBRARY WILL DO TRANSLATION TO THE NATIVE VALUE.
*/
-extern const pj_uint16_t PJ_AF_UNIX; /**< Unix domain socket. */
-#define PJ_AF_LOCAL PJ_AF_UNIX; /**< POSIX name for AF_UNIX */
-extern const pj_uint16_t PJ_AF_INET; /**< Internet IP protocol. */
-extern const pj_uint16_t PJ_AF_INET6;/**< IP version 6. */
-extern const pj_uint16_t PJ_AF_PACKET;/**< Packet family. */
-extern const pj_uint16_t PJ_AF_IRDA; /**< IRDA sockets. */
+/** Unix domain socket. @see pj_AF_UNIX() */
+extern const pj_uint16_t PJ_AF_UNIX;
+
+/** POSIX name for AF_UNIX */
+#define PJ_AF_LOCAL PJ_AF_UNIX;
+
+/** Internet IP protocol. @see pj_AF_INET() */
+extern const pj_uint16_t PJ_AF_INET;
+
+/** IP version 6. @see pj_AF_INET6() */
+extern const pj_uint16_t PJ_AF_INET6;
+
+/** Packet family. @see pj_AF_PACKET() */
+extern const pj_uint16_t PJ_AF_PACKET;
+
+/** IRDA sockets. @see pj_AF_IRDA() */
+extern const pj_uint16_t PJ_AF_IRDA;
+
+/*
+ * Accessor functions for various address family constants. These
+ * functions are provided because Symbian doesn't allow exporting
+ * global variables from a DLL.
+ */
+
+/** Get #PJ_AF_UNIX value. */
PJ_DECL(pj_uint16_t) pj_AF_UNIX(void);
+/** Get #PJ_AF_INET value. */
PJ_DECL(pj_uint16_t) pj_AF_INET(void);
+/** Get #PJ_AF_INET6 value. */
PJ_DECL(pj_uint16_t) pj_AF_INET6(void);
+/** Get #PJ_AF_PACKET value. */
PJ_DECL(pj_uint16_t) pj_AF_PACKET(void);
+/** Get #PJ_AF_IRDA value. */
PJ_DECL(pj_uint16_t) pj_AF_IRDA(void);
@@ -79,18 +102,33 @@ PJ_DECL(pj_uint16_t) pj_AF_IRDA(void);
* THE LIBRARY WILL TRANSLATE THE VALUE TO THE NATIVE VALUE.
*/
-extern const pj_uint16_t PJ_SOCK_STREAM; /**< Sequenced, reliable, connection-
- based byte streams. */
-extern const pj_uint16_t PJ_SOCK_DGRAM; /**< Connectionless, unreliable
- datagrams of fixed maximum
- lengths. */
-extern const pj_uint16_t PJ_SOCK_RAW; /**< Raw protocol interface. */
-extern const pj_uint16_t PJ_SOCK_RDM; /**< Reliably-delivered messages. */
+/** Sequenced, reliable, connection-based byte streams.
+ * @see pj_SOCK_STREAM() */
+extern const pj_uint16_t PJ_SOCK_STREAM;
+
+/** Connectionless, unreliable datagrams of fixed maximum lengths.
+ * @see pj_SOCK_DGRAM() */
+extern const pj_uint16_t PJ_SOCK_DGRAM;
+/** Raw protocol interface. @see pj_SOCK_RAW() */
+extern const pj_uint16_t PJ_SOCK_RAW;
+/** Reliably-delivered messages. @see pj_SOCK_RDM() */
+extern const pj_uint16_t PJ_SOCK_RDM;
+
+
+/*
+ * Accessor functions for various constants. These functions are provided
+ * because Symbian doesn't allow exporting global variables from a DLL.
+ */
+
+/** Get #PJ_SOCK_STREAM constant */
PJ_DECL(int) pj_SOCK_STREAM(void);
+/** Get #PJ_SOCK_DGRAM constant */
PJ_DECL(int) pj_SOCK_DGRAM(void);
+/** Get #PJ_SOCK_RAW constant */
PJ_DECL(int) pj_SOCK_RAW(void);
+/** Get #PJ_SOCK_RDM constant */
PJ_DECL(int) pj_SOCK_RDM(void);
@@ -99,16 +137,31 @@ PJ_DECL(int) pj_SOCK_RDM(void);
* APPLICATION MUST USE THESE VALUES INSTEAD OF NORMAL SOL_*, BECAUSE
* THE LIBRARY WILL TRANSLATE THE VALUE TO THE NATIVE VALUE.
*/
-extern const pj_uint16_t PJ_SOL_SOCKET; /**< Socket level. */
-extern const pj_uint16_t PJ_SOL_IP; /**< IP level. */
-extern const pj_uint16_t PJ_SOL_TCP; /**< TCP level. */
-extern const pj_uint16_t PJ_SOL_UDP; /**< UDP level. */
-extern const pj_uint16_t PJ_SOL_IPV6; /**< IP version 6 */
+/** Socket level. @see pj_SOL_SOCKET() */
+extern const pj_uint16_t PJ_SOL_SOCKET;
+/** IP level. @see pj_SOL_IP() */
+extern const pj_uint16_t PJ_SOL_IP;
+/** TCP level. @see pj_SOL_TCP() */
+extern const pj_uint16_t PJ_SOL_TCP;
+/** UDP level. @see pj_SOL_UDP() */
+extern const pj_uint16_t PJ_SOL_UDP;
+/** IP version 6. @see pj_SOL_IPV6() */
+extern const pj_uint16_t PJ_SOL_IPV6;
+/*
+ * Accessor functions for various constants. These functions are provided
+ * because Symbian doesn't allow exporting global variables from a DLL.
+ */
+
+/** Get #PJ_SOL_SOCKET constant */
PJ_DECL(pj_uint16_t) pj_SOL_SOCKET(void);
+/** Get #PJ_SOL_IP constant */
PJ_DECL(pj_uint16_t) pj_SOL_IP(void);
+/** Get #PJ_SOL_TCP constant */
PJ_DECL(pj_uint16_t) pj_SOL_TCP(void);
+/** Get #PJ_SOL_UDP constant */
PJ_DECL(pj_uint16_t) pj_SOL_UDP(void);
+/** Get #PJ_SOL_IPV6 constant */
PJ_DECL(pj_uint16_t) pj_SOL_IPV6(void);
@@ -118,8 +171,10 @@ PJ_DECL(pj_uint16_t) pj_SOL_IPV6(void);
* TOS CURRENTLY DOES NOT WORK IN Windows 2000 and above!
* See http://support.microsoft.com/kb/248611
*/
-extern const pj_uint16_t PJ_IP_TOS; /**< IP_TOS optname in setsockopt() */
+/** IP_TOS optname in setsockopt(). @see pj_IP_TOS() */
+extern const pj_uint16_t PJ_IP_TOS;
+/** Get #PJ_IP_TOS constant */
PJ_DECL(int) pj_IP_TOS(void);
/*
@@ -129,15 +184,30 @@ PJ_DECL(int) pj_IP_TOS(void);
* TOS CURRENTLY DOES NOT WORK IN Windows 2000 and above!
* See http://support.microsoft.com/kb/248611
*/
-extern const pj_uint16_t PJ_IPTOS_LOWDELAY; /**< Minimize delays */
-extern const pj_uint16_t PJ_IPTOS_THROUGHPUT; /**< Optimize throughput */
-extern const pj_uint16_t PJ_IPTOS_RELIABILITY; /**< Optimize for reliability*/
-extern const pj_uint16_t PJ_IPTOS_MINCOST; /**< "filler data" where slow
- transmission does't matter */
+/** Minimize delays. @see pj_IPTOS_LOWDELAY() */
+extern const pj_uint16_t PJ_IPTOS_LOWDELAY;
+
+/** Optimize throughput. @see pj_IPTOS_THROUGHPUT() */
+extern const pj_uint16_t PJ_IPTOS_THROUGHPUT;
+/** Optimize for reliability. @see pj_IPTOS_RELIABILITY() */
+extern const pj_uint16_t PJ_IPTOS_RELIABILITY;
+
+/** "filler data" where slow transmission does't matter.
+ * @see pj_IPTOS_MINCOST() */
+extern const pj_uint16_t PJ_IPTOS_MINCOST;
+
+
+/** Get #PJ_IPTOS_LOWDELAY constant */
PJ_DECL(int) pj_IPTOS_LOWDELAY(void);
+
+/** Get #PJ_IPTOS_THROUGHPUT constant */
PJ_DECL(int) pj_IPTOS_THROUGHPUT(void);
+
+/** Get #PJ_IPTOS_RELIABILITY constant */
PJ_DECL(int) pj_IPTOS_RELIABILITY(void);
+
+/** Get #PJ_IPTOS_MINCOST constant */
PJ_DECL(int) pj_IPTOS_MINCOST(void);
@@ -145,29 +215,53 @@ PJ_DECL(int) pj_IPTOS_MINCOST(void);
* Values to be specified as \c optname when calling #pj_sock_setsockopt()
* or #pj_sock_getsockopt().
*/
-extern const pj_uint16_t PJ_SO_TYPE; /**< Socket type. */
-extern const pj_uint16_t PJ_SO_RCVBUF;/**< Buffer size for receive. */
-extern const pj_uint16_t PJ_SO_SNDBUF;/**< Buffer size for send. */
+/** Socket type. @see pj_SO_TYPE() */
+extern const pj_uint16_t PJ_SO_TYPE;
+
+/** Buffer size for receive. @see pj_SO_RCVBUF() */
+extern const pj_uint16_t PJ_SO_RCVBUF;
+
+/** Buffer size for send. @see pj_SO_SNDBUF() */
+extern const pj_uint16_t PJ_SO_SNDBUF;
+
+
+/** Get #PJ_SO_TYPE constant */
PJ_DECL(pj_uint16_t) pj_SO_TYPE(void);
+
+/** Get #PJ_SO_RCVBUF constant */
PJ_DECL(pj_uint16_t) pj_SO_RCVBUF(void);
+
+/** Get #PJ_SO_SNDBUF constant */
PJ_DECL(pj_uint16_t) pj_SO_SNDBUF(void);
/*
* Flags to be specified in #pj_sock_recv, #pj_sock_send, etc.
*/
-extern const int PJ_MSG_OOB; /**< Out-of-band messages. */
-extern const int PJ_MSG_PEEK; /**< Peek, don't remove from buffer*/
-extern const int PJ_MSG_DONTROUTE;/**< Don't route. */
+/** Out-of-band messages. @see pj_MSG_OOB() */
+extern const int PJ_MSG_OOB;
+
+/** Peek, don't remove from buffer. @see pj_MSG_PEEK() */
+extern const int PJ_MSG_PEEK;
+
+/** Don't route. @see pj_MSG_DONTROUTE() */
+extern const int PJ_MSG_DONTROUTE;
+
+
+/** Get #PJ_MSG_OOB constant */
PJ_DECL(int) pj_MSG_OOB(void);
+
+/** Get #PJ_MSG_PEEK constant */
PJ_DECL(int) pj_MSG_PEEK(void);
+
+/** Get #PJ_MSG_DONTROUTE constant */
PJ_DECL(int) pj_MSG_DONTROUTE(void);
/**
- * Flag to be specified in #pj_sock_shutdown.
+ * Flag to be specified in #pj_sock_shutdown().
*/
typedef enum pj_socket_sd_type
{
@@ -711,7 +805,7 @@ PJ_DECL(pj_status_t) pj_sock_setsockopt( pj_sock_t sockfd,
* @param buf The buffer to receive the data or message.
* @param len On input, the length of the buffer. On return,
* contains the length of data received.
- * @param flags Combination of #pj_sock_msg_flag.
+ * @param flags Flags (such as pj_MSG_PEEK()).
*
* @return PJ_SUCCESS or the error code.
*/
@@ -727,7 +821,7 @@ PJ_DECL(pj_status_t) pj_sock_recv(pj_sock_t sockfd,
* @param buf The buffer to receive the data or message.
* @param len On input, the length of the buffer. On return,
* contains the length of data received.
- * @param flags Bitmask combination of #pj_sock_msg_flag.
+ * @param flags Flags (such as pj_MSG_PEEK()).
* @param from If not NULL, it will be filled with the source
* address of the connection.
* @param fromlen Initially contains the length of from address,
@@ -751,7 +845,7 @@ PJ_DECL(pj_status_t) pj_sock_recvfrom( pj_sock_t sockfd,
* @param len On input, the length of the data in the buffer.
* Upon return, it will be filled with the length
* of data sent.
- * @param flags Bitmask combination of #pj_sock_msg_flag.
+ * @param flags Flags (such as pj_MSG_DONTROUTE()).
*
* @return PJ_SUCCESS or the status code.
*/
@@ -768,7 +862,7 @@ PJ_DECL(pj_status_t) pj_sock_send(pj_sock_t sockfd,
* @param len On input, the length of the data in the buffer.
* Upon return, it will be filled with the length
* of data sent.
- * @param flags Bitmask combination of #pj_sock_msg_flag.
+ * @param flags Flags (such as pj_MSG_DONTROUTE()).
* @param to The address to send.
* @param tolen The length of the address in bytes.
*
diff --git a/pjlib/src/pj/config.c b/pjlib/src/pj/config.c
index ceac7379..8cc3e983 100644
--- a/pjlib/src/pj/config.c
+++ b/pjlib/src/pj/config.c
@@ -21,7 +21,15 @@
#include <pj/ioqueue.h>
static const char *id = "config.c";
-const char *PJ_VERSION = "0.7.0-trunk";
+PJ_DEF_DATA(const char*) PJ_VERSION = "0.7.0-trunk";
+
+/*
+ * Get PJLIB version string.
+ */
+PJ_DEF(const char*) pj_get_version(void)
+{
+ return PJ_VERSION;
+}
PJ_DEF(void) pj_dump_config(void)
{
diff --git a/pjlib/src/pj/ctype.c b/pjlib/src/pj/ctype.c
index 76eadc2a..25a2e4df 100644
--- a/pjlib/src/pj/ctype.c
+++ b/pjlib/src/pj/ctype.c
@@ -18,7 +18,7 @@
*/
#include <pj/ctype.h>
-
+/*
char pj_hex_digits[] = {'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
-
+*/
diff --git a/pjnath/src/pjnath/ice_session.c b/pjnath/src/pjnath/ice_session.c
index 0c33207f..78422af1 100644
--- a/pjnath/src/pjnath/ice_session.c
+++ b/pjnath/src/pjnath/ice_session.c
@@ -1183,8 +1183,8 @@ static pj_bool_t on_check_complete(pj_ice_sess *ice,
/* Create checklist by pairing local candidates with remote candidates */
-PJ_DEF(pj_status_t)
-pj_ice_sess_create_check_list(pj_ice_sess *ice,
+PJ_DEF(pj_status_t) pj_ice_sess_create_check_list(
+ pj_ice_sess *ice,
const pj_str_t *rem_ufrag,
const pj_str_t *rem_passwd,
unsigned rcand_cnt,
diff --git a/pjnath/src/pjnath/ice_strans.c b/pjnath/src/pjnath/ice_strans.c
index 052e1a80..d789b993 100644
--- a/pjnath/src/pjnath/ice_strans.c
+++ b/pjnath/src/pjnath/ice_strans.c
@@ -80,7 +80,7 @@ static void stop_ka_timer(pj_ice_strans *ice_st);
/*
* Create ICE stream transport
*/
-PJ_DECL(pj_status_t) pj_ice_strans_create(pj_stun_config *stun_cfg,
+PJ_DEF(pj_status_t) pj_ice_strans_create( pj_stun_config *stun_cfg,
const char *name,
unsigned comp_cnt,
void *user_data,
@@ -928,7 +928,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_start_ice( pj_ice_strans *ice_st,
/*
* Stop ICE!
*/
-PJ_DECL(pj_status_t) pj_ice_strans_stop_ice(pj_ice_strans *ice_st)
+PJ_DEF(pj_status_t) pj_ice_strans_stop_ice(pj_ice_strans *ice_st)
{
unsigned i;
diff --git a/pjnath/src/pjnath/stun_msg.c b/pjnath/src/pjnath/stun_msg.c
index d16e1cb6..2dadca40 100644
--- a/pjnath/src/pjnath/stun_msg.c
+++ b/pjnath/src/pjnath/stun_msg.c
@@ -641,13 +641,12 @@ static void GETATTRHDR(const pj_uint8_t *buf, pj_stun_attr_hdr *hdr)
/*
* Create a generic STUN IP address attribute for IPv4 address.
*/
-PJ_DEF(pj_status_t)
-pj_stun_sockaddr_attr_create(pj_pool_t *pool,
- int attr_type,
- pj_bool_t xor_ed,
- const pj_sockaddr_t *addr,
- unsigned addr_len,
- pj_stun_sockaddr_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_sockaddr_attr_create(pj_pool_t *pool,
+ int attr_type,
+ pj_bool_t xor_ed,
+ const pj_sockaddr_t *addr,
+ unsigned addr_len,
+ pj_stun_sockaddr_attr **p_attr)
{
pj_stun_sockaddr_attr *attr;
@@ -670,13 +669,12 @@ pj_stun_sockaddr_attr_create(pj_pool_t *pool,
/*
* Create and add generic STUN IP address attribute to a STUN message.
*/
-PJ_DEF(pj_status_t)
-pj_stun_msg_add_sockaddr_attr(pj_pool_t *pool,
- pj_stun_msg *msg,
- int attr_type,
- pj_bool_t xor_ed,
- const pj_sockaddr_t *addr,
- unsigned addr_len)
+PJ_DEF(pj_status_t) pj_stun_msg_add_sockaddr_attr(pj_pool_t *pool,
+ pj_stun_msg *msg,
+ int attr_type,
+ pj_bool_t xor_ed,
+ const pj_sockaddr_t *addr,
+ unsigned addr_len)
{
pj_stun_sockaddr_attr *attr;
pj_status_t status;
@@ -817,11 +815,10 @@ static pj_status_t encode_sockaddr_attr(const void *a, pj_uint8_t *buf,
/*
* Create a STUN generic string attribute.
*/
-PJ_DEF(pj_status_t)
-pj_stun_string_attr_create(pj_pool_t *pool,
- int attr_type,
- const pj_str_t *value,
- pj_stun_string_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_string_attr_create(pj_pool_t *pool,
+ int attr_type,
+ const pj_str_t *value,
+ pj_stun_string_attr **p_attr)
{
pj_stun_string_attr *attr;
@@ -840,11 +837,10 @@ pj_stun_string_attr_create(pj_pool_t *pool,
/*
* Create and add STUN generic string attribute to the message.
*/
-PJ_DEF(pj_status_t)
-pj_stun_msg_add_string_attr(pj_pool_t *pool,
- pj_stun_msg *msg,
- int attr_type,
- const pj_str_t *value)
+PJ_DEF(pj_status_t) pj_stun_msg_add_string_attr(pj_pool_t *pool,
+ pj_stun_msg *msg,
+ int attr_type,
+ const pj_str_t *value)
{
pj_stun_string_attr *attr = NULL;
pj_status_t status;
@@ -917,10 +913,9 @@ static pj_status_t encode_string_attr(const void *a, pj_uint8_t *buf,
/*
* Create a STUN empty attribute.
*/
-PJ_DEF(pj_status_t)
-pj_stun_empty_attr_create(pj_pool_t *pool,
- int attr_type,
- pj_stun_empty_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_empty_attr_create(pj_pool_t *pool,
+ int attr_type,
+ pj_stun_empty_attr **p_attr)
{
pj_stun_empty_attr *attr;
@@ -1002,11 +997,10 @@ static pj_status_t encode_empty_attr(const void *a, pj_uint8_t *buf,
/*
* Create a STUN generic 32bit value attribute.
*/
-PJ_DEF(pj_status_t)
-pj_stun_uint_attr_create(pj_pool_t *pool,
- int attr_type,
- pj_uint32_t value,
- pj_stun_uint_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_uint_attr_create(pj_pool_t *pool,
+ int attr_type,
+ pj_uint32_t value,
+ pj_stun_uint_attr **p_attr)
{
pj_stun_uint_attr *attr;
@@ -1022,11 +1016,10 @@ pj_stun_uint_attr_create(pj_pool_t *pool,
}
/* Create and add STUN generic 32bit value attribute to the message. */
-PJ_DEF(pj_status_t)
-pj_stun_msg_add_uint_attr(pj_pool_t *pool,
- pj_stun_msg *msg,
- int attr_type,
- pj_uint32_t value)
+PJ_DEF(pj_status_t) pj_stun_msg_add_uint_attr(pj_pool_t *pool,
+ pj_stun_msg *msg,
+ int attr_type,
+ pj_uint32_t value)
{
pj_stun_uint_attr *attr = NULL;
pj_status_t status;
@@ -1084,11 +1077,10 @@ static pj_status_t encode_uint_attr(const void *a, pj_uint8_t *buf,
/*
* Create a STUN generic 64bit value attribute.
*/
-PJ_DEF(pj_status_t)
-pj_stun_uint64_attr_create(pj_pool_t *pool,
- int attr_type,
- const pj_timestamp *value,
- pj_stun_uint64_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_uint64_attr_create(pj_pool_t *pool,
+ int attr_type,
+ const pj_timestamp *value,
+ pj_stun_uint64_attr **p_attr)
{
pj_stun_uint64_attr *attr;
@@ -1172,9 +1164,8 @@ static pj_status_t encode_uint64_attr(const void *a, pj_uint8_t *buf,
/*
* Create a STUN MESSAGE-INTEGRITY attribute.
*/
-PJ_DEF(pj_status_t)
-pj_stun_msgint_attr_create(pj_pool_t *pool,
- pj_stun_msgint_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_msgint_attr_create(pj_pool_t *pool,
+ pj_stun_msgint_attr **p_attr)
{
pj_stun_msgint_attr *attr;
@@ -1253,11 +1244,10 @@ static pj_status_t encode_msgint_attr(const void *a, pj_uint8_t *buf,
/*
* Create a STUN ERROR-CODE attribute.
*/
-PJ_DEF(pj_status_t)
-pj_stun_errcode_attr_create(pj_pool_t *pool,
- int err_code,
- const pj_str_t *err_reason,
- pj_stun_errcode_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_errcode_attr_create(pj_pool_t *pool,
+ int err_code,
+ const pj_str_t *err_reason,
+ pj_stun_errcode_attr **p_attr)
{
pj_stun_errcode_attr *attr;
char err_buf[80];
@@ -1367,11 +1357,10 @@ static pj_status_t encode_errcode_attr(const void *a, pj_uint8_t *buf,
*
* @return PJ_SUCCESS on success or the appropriate error code.
*/
-PJ_DEF(pj_status_t)
-pj_stun_unknown_attr_create(pj_pool_t *pool,
- unsigned attr_cnt,
- const pj_uint16_t attr_array[],
- pj_stun_unknown_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_unknown_attr_create(pj_pool_t *pool,
+ unsigned attr_cnt,
+ const pj_uint16_t attr_array[],
+ pj_stun_unknown_attr **p_attr)
{
pj_stun_unknown_attr *attr;
unsigned i;
@@ -1400,11 +1389,10 @@ pj_stun_unknown_attr_create(pj_pool_t *pool,
/* Create and add STUN UNKNOWN-ATTRIBUTES attribute to the message. */
-PJ_DEF(pj_status_t)
-pj_stun_msg_add_unknown_attr(pj_pool_t *pool,
- pj_stun_msg *msg,
- unsigned attr_cnt,
- const pj_uint16_t attr_types[])
+PJ_DEF(pj_status_t) pj_stun_msg_add_unknown_attr(pj_pool_t *pool,
+ pj_stun_msg *msg,
+ unsigned attr_cnt,
+ const pj_uint16_t attr_types[])
{
pj_stun_unknown_attr *attr = NULL;
pj_status_t status;
@@ -1478,12 +1466,11 @@ static pj_status_t encode_unknown_attr(const void *a, pj_uint8_t *buf,
/*
* Create a blank binary attribute.
*/
-PJ_DEF(pj_status_t)
-pj_stun_binary_attr_create(pj_pool_t *pool,
- int attr_type,
- const pj_uint8_t *data,
- unsigned length,
- pj_stun_binary_attr **p_attr)
+PJ_DEF(pj_status_t) pj_stun_binary_attr_create(pj_pool_t *pool,
+ int attr_type,
+ const pj_uint8_t *data,
+ unsigned length,
+ pj_stun_binary_attr **p_attr)
{
pj_stun_binary_attr *attr;
@@ -1505,12 +1492,11 @@ pj_stun_binary_attr_create(pj_pool_t *pool,
/* Create and add binary attr. */
-PJ_DEF(pj_status_t)
-pj_stun_msg_add_binary_attr(pj_pool_t *pool,
- pj_stun_msg *msg,
- int attr_type,
- const pj_uint8_t *data,
- unsigned length)
+PJ_DEF(pj_status_t) pj_stun_msg_add_binary_attr(pj_pool_t *pool,
+ pj_stun_msg *msg,
+ int attr_type,
+ const pj_uint8_t *data,
+ unsigned length)
{
pj_stun_binary_attr *attr = NULL;
pj_status_t status;
diff --git a/pjnath/src/pjnath/stun_session.c b/pjnath/src/pjnath/stun_session.c
index 2e11a81d..abf19777 100644
--- a/pjnath/src/pjnath/stun_session.c
+++ b/pjnath/src/pjnath/stun_session.c
@@ -395,7 +395,7 @@ PJ_DEF(pj_status_t) pj_stun_session_create( pj_stun_config *cfg,
sess->srv_name.ptr = (char*) pj_pool_alloc(pool, 32);
sess->srv_name.slen = pj_ansi_snprintf(sess->srv_name.ptr, 32,
- "pj_stun-%s", PJ_VERSION);
+ "pj_stun-%s", pj_get_version());
pj_list_init(&sess->pending_request_list);
pj_list_init(&sess->cached_response_list);
diff --git a/pjnath/src/pjnath/stun_transaction.c b/pjnath/src/pjnath/stun_transaction.c
index 09fe9ea6..ebee152a 100644
--- a/pjnath/src/pjnath/stun_transaction.c
+++ b/pjnath/src/pjnath/stun_transaction.c
@@ -88,8 +88,8 @@ PJ_DEF(pj_status_t) pj_stun_client_tsx_create(pj_stun_config *cfg,
}
-PJ_DEF(pj_status_t)
-pj_stun_client_tsx_schedule_destroy(pj_stun_client_tsx *tsx,
+PJ_DEF(pj_status_t) pj_stun_client_tsx_schedule_destroy(
+ pj_stun_client_tsx *tsx,
const pj_time_val *delay)
{
pj_status_t status;