Ticket #417: added pjlib API to retrieve the native thread handle from pj_thread_t

git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@1589 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/build.symbian/pjlibU.def b/build.symbian/pjlibU.def
index 8e2cf97..11c3479 100644
--- a/build.symbian/pjlibU.def
+++ b/build.symbian/pjlibU.def
@@ -111,188 +111,192 @@
 	pj_inet_addr2                            @ 110 NONAME
 	pj_inet_aton                             @ 111 NONAME
 	pj_inet_ntoa                             @ 112 NONAME
-	pj_init                                  @ 113 NONAME
-	pj_ioqueue_accept                        @ 114 NONAME
-	pj_ioqueue_connect                       @ 115 NONAME
-	pj_ioqueue_create                        @ 116 NONAME
-	pj_ioqueue_destroy                       @ 117 NONAME
-	pj_ioqueue_get_user_data                 @ 118 NONAME
-	pj_ioqueue_is_pending                    @ 119 NONAME
-	pj_ioqueue_name                          @ 120 NONAME
-	pj_ioqueue_op_key_init                   @ 121 NONAME
-	pj_ioqueue_poll                          @ 122 NONAME
-	pj_ioqueue_post_completion               @ 123 NONAME
-	pj_ioqueue_recv                          @ 124 NONAME
-	pj_ioqueue_recvfrom                      @ 125 NONAME
-	pj_ioqueue_register_sock                 @ 126 NONAME
-	pj_ioqueue_send                          @ 127 NONAME
-	pj_ioqueue_sendto                        @ 128 NONAME
-	pj_ioqueue_set_lock                      @ 129 NONAME
-	pj_ioqueue_set_user_data                 @ 130 NONAME
-	pj_ioqueue_unregister                    @ 131 NONAME
-	pj_leave_critical_section                @ 132 NONAME
-	pj_list_erase                            @ 133 NONAME
-	pj_list_find_node                        @ 134 NONAME
-	pj_list_insert_after                     @ 135 NONAME
-	pj_list_insert_before                    @ 136 NONAME
-	pj_list_insert_nodes_after               @ 137 NONAME
-	pj_list_insert_nodes_before              @ 138 NONAME
-	pj_list_merge_first                      @ 139 NONAME
-	pj_list_merge_last                       @ 140 NONAME
-	pj_list_search                           @ 141 NONAME
-	pj_list_size                             @ 142 NONAME
-	pj_lock_acquire                          @ 143 NONAME
-	pj_lock_create_null_mutex                @ 144 NONAME
-	pj_lock_create_recursive_mutex           @ 145 NONAME
-	pj_lock_create_semaphore                 @ 146 NONAME
-	pj_lock_create_simple_mutex              @ 147 NONAME
-	pj_lock_destroy                          @ 148 NONAME
-	pj_lock_release                          @ 149 NONAME
-	pj_lock_tryacquire                       @ 150 NONAME
-	pj_log                                   @ 151 NONAME
-	pj_log_1                                 @ 152 NONAME
-	pj_log_2                                 @ 153 NONAME
-	pj_log_3                                 @ 154 NONAME
-	pj_log_4                                 @ 155 NONAME
-	pj_log_5                                 @ 156 NONAME
-	pj_log_get_decor                         @ 157 NONAME
-	pj_log_get_level                         @ 158 NONAME
-	pj_log_get_log_func                      @ 159 NONAME
-	pj_log_set_decor                         @ 160 NONAME
-	pj_log_set_level                         @ 161 NONAME
-	pj_log_set_log_func                      @ 162 NONAME
-	pj_log_write                             @ 163 NONAME
-	pj_mutex_create                          @ 164 NONAME
-	pj_mutex_create_recursive                @ 165 NONAME
-	pj_mutex_create_simple                   @ 166 NONAME
-	pj_mutex_destroy                         @ 167 NONAME
-	pj_mutex_lock                            @ 168 NONAME
-	pj_mutex_trylock                         @ 169 NONAME
-	pj_mutex_unlock                          @ 170 NONAME
-	pj_ntohl                                 @ 171 NONAME
-	pj_ntohs                                 @ 172 NONAME
-	pj_pool_alloc                            @ 173 NONAME
-	pj_pool_alloc_from_block                 @ 174 NONAME
-	pj_pool_allocate_find                    @ 175 NONAME
-	pj_pool_calloc                           @ 176 NONAME
-	pj_pool_create                           @ 177 NONAME
-	pj_pool_create_int                       @ 178 NONAME
-	pj_pool_create_on_buf                    @ 179 NONAME
-	pj_pool_destroy_int                      @ 180 NONAME
-	pj_pool_factory_default_policy           @ 181 NONAME
-	pj_pool_factory_get_default_policy       @ 182 NONAME
-	pj_pool_get_capacity                     @ 183 NONAME
-	pj_pool_get_used_size                    @ 184 NONAME
-	pj_pool_getobjname                       @ 185 NONAME
-	pj_pool_init_int                         @ 186 NONAME
-	pj_pool_release                          @ 187 NONAME
-	pj_pool_reset                            @ 188 NONAME
-	pj_rand                                  @ 189 NONAME
-	pj_rbtree_erase                          @ 190 NONAME
-	pj_rbtree_find                           @ 191 NONAME
-	pj_rbtree_first                          @ 192 NONAME
-	pj_rbtree_init                           @ 193 NONAME
-	pj_rbtree_insert                         @ 194 NONAME
-	pj_rbtree_last                           @ 195 NONAME
-	pj_rbtree_max_height                     @ 196 NONAME
-	pj_rbtree_min_height                     @ 197 NONAME
-	pj_rbtree_next                           @ 198 NONAME
-	pj_rbtree_prev                           @ 199 NONAME
-	pj_register_strerror                     @ 200 NONAME
-	pj_rwmutex_create                        @ 201 NONAME
-	pj_rwmutex_destroy                       @ 202 NONAME
-	pj_rwmutex_lock_read                     @ 203 NONAME
-	pj_rwmutex_lock_write                    @ 204 NONAME
-	pj_rwmutex_unlock_read                   @ 205 NONAME
-	pj_rwmutex_unlock_write                  @ 206 NONAME
-	pj_sem_create                            @ 207 NONAME
-	pj_sem_destroy                           @ 208 NONAME
-	pj_sem_post                              @ 209 NONAME
-	pj_sem_trywait                           @ 210 NONAME
-	pj_sem_wait                              @ 211 NONAME
-	pj_set_netos_error                       @ 212 NONAME
-	pj_set_os_error                          @ 213 NONAME
-	pj_shutdown                              @ 214 NONAME
-	pj_sock_accept                           @ 215 NONAME
-	pj_sock_bind                             @ 216 NONAME
-	pj_sock_bind_in                          @ 217 NONAME
-	pj_sock_close                            @ 218 NONAME
-	pj_sock_connect                          @ 219 NONAME
-	pj_sock_getpeername                      @ 220 NONAME
-	pj_sock_getsockname                      @ 221 NONAME
-	pj_sock_getsockopt                       @ 222 NONAME
-	pj_sock_listen                           @ 223 NONAME
-	pj_sock_recv                             @ 224 NONAME
-	pj_sock_recvfrom                         @ 225 NONAME
-	pj_sock_select                           @ 226 NONAME
-	pj_sock_send                             @ 227 NONAME
-	pj_sock_sendto                           @ 228 NONAME
-	pj_sock_setsockopt                       @ 229 NONAME
-	pj_sock_shutdown                         @ 230 NONAME
-	pj_sock_socket                           @ 231 NONAME
-	pj_sockaddr_in_init                      @ 232 NONAME
-	pj_sockaddr_in_set_str_addr              @ 233 NONAME
-	pj_srand                                 @ 234 NONAME
-	pj_str                                   @ 235 NONAME
-	pj_strassign                             @ 236 NONAME
-	pj_strcat                                @ 237 NONAME
-	pj_strcat2                               @ 238 NONAME
-	pj_strcmp                                @ 239 NONAME
-	pj_strcmp2                               @ 240 NONAME
-	pj_strcpy                                @ 241 NONAME
-	pj_strcpy2                               @ 242 NONAME
-	pj_strdup                                @ 243 NONAME
-	pj_strdup2                               @ 244 NONAME
-	pj_strdup2_with_null                     @ 245 NONAME
-	pj_strdup3                               @ 246 NONAME
-	pj_strdup_with_null                      @ 247 NONAME
-	pj_strerror                              @ 248 NONAME
-	pj_stricmp                               @ 249 NONAME
-	pj_stricmp2                              @ 250 NONAME
-	pj_strltrim                              @ 251 NONAME
-	pj_strncmp                               @ 252 NONAME
-	pj_strncmp2                              @ 253 NONAME
-	pj_strncpy                               @ 254 NONAME
-	pj_strncpy_with_null                     @ 255 NONAME
-	pj_strnicmp                              @ 256 NONAME
-	pj_strnicmp2                             @ 257 NONAME
-	pj_strrtrim                              @ 258 NONAME
-	pj_strtoul                               @ 259 NONAME
-	pj_strtoul2                              @ 260 NONAME
-	pj_strtrim                               @ 261 NONAME
-	pj_symbianos_poll                        @ 262 NONAME
-	pj_symbianos_set_params                  @ 263 NONAME
-	pj_thread_create                         @ 264 NONAME
-	pj_thread_destroy                        @ 265 NONAME
-	pj_thread_get_name                       @ 266 NONAME
-	pj_thread_join                           @ 267 NONAME
-	pj_thread_local_alloc                    @ 268 NONAME
-	pj_thread_local_free                     @ 269 NONAME
-	pj_thread_local_get                      @ 270 NONAME
-	pj_thread_local_set                      @ 271 NONAME
-	pj_thread_register                       @ 272 NONAME
-	pj_thread_resume                         @ 273 NONAME
-	pj_thread_sleep                          @ 274 NONAME
-	pj_thread_this                           @ 275 NONAME
-	pj_time_decode                           @ 276 NONAME
-	pj_time_encode                           @ 277 NONAME
-	pj_time_gmt_to_local                     @ 278 NONAME
-	pj_time_local_to_gmt                     @ 279 NONAME
-	pj_time_val_normalize                    @ 280 NONAME
-	pj_timer_entry_init                      @ 281 NONAME
-	pj_timer_heap_cancel                     @ 282 NONAME
-	pj_timer_heap_count                      @ 283 NONAME
-	pj_timer_heap_create                     @ 284 NONAME
-	pj_timer_heap_destroy                    @ 285 NONAME
-	pj_timer_heap_earliest_time              @ 286 NONAME
-	pj_timer_heap_mem_size                   @ 287 NONAME
-	pj_timer_heap_poll                       @ 288 NONAME
-	pj_timer_heap_schedule                   @ 289 NONAME
-	pj_timer_heap_set_lock                   @ 290 NONAME
-	pj_timer_heap_set_max_timed_out_per_poll @ 291 NONAME
-	pj_unicode_to_ansi                       @ 292 NONAME
-	pj_utoa                                  @ 293 NONAME
-	pj_utoa_pad                              @ 294 NONAME
-	platform_strerror                        @ 295 NONAME
-	snprintf                                 @ 296 NONAME
-	vsnprintf                                @ 297 NONAME
+	pj_inet_ntop                             @ 113 NONAME
+	pj_inet_pton                             @ 114 NONAME
+	pj_init                                  @ 115 NONAME
+	pj_ioqueue_accept                        @ 116 NONAME
+	pj_ioqueue_connect                       @ 117 NONAME
+	pj_ioqueue_create                        @ 118 NONAME
+	pj_ioqueue_destroy                       @ 119 NONAME
+	pj_ioqueue_get_user_data                 @ 120 NONAME
+	pj_ioqueue_is_pending                    @ 121 NONAME
+	pj_ioqueue_name                          @ 122 NONAME
+	pj_ioqueue_op_key_init                   @ 123 NONAME
+	pj_ioqueue_poll                          @ 124 NONAME
+	pj_ioqueue_post_completion               @ 125 NONAME
+	pj_ioqueue_recv                          @ 126 NONAME
+	pj_ioqueue_recvfrom                      @ 127 NONAME
+	pj_ioqueue_register_sock                 @ 128 NONAME
+	pj_ioqueue_send                          @ 129 NONAME
+	pj_ioqueue_sendto                        @ 130 NONAME
+	pj_ioqueue_set_lock                      @ 131 NONAME
+	pj_ioqueue_set_user_data                 @ 132 NONAME
+	pj_ioqueue_unregister                    @ 133 NONAME
+	pj_leave_critical_section                @ 134 NONAME
+	pj_list_erase                            @ 135 NONAME
+	pj_list_find_node                        @ 136 NONAME
+	pj_list_insert_after                     @ 137 NONAME
+	pj_list_insert_before                    @ 138 NONAME
+	pj_list_insert_nodes_after               @ 139 NONAME
+	pj_list_insert_nodes_before              @ 140 NONAME
+	pj_list_merge_first                      @ 141 NONAME
+	pj_list_merge_last                       @ 142 NONAME
+	pj_list_search                           @ 143 NONAME
+	pj_list_size                             @ 144 NONAME
+	pj_lock_acquire                          @ 145 NONAME
+	pj_lock_create_null_mutex                @ 146 NONAME
+	pj_lock_create_recursive_mutex           @ 147 NONAME
+	pj_lock_create_semaphore                 @ 148 NONAME
+	pj_lock_create_simple_mutex              @ 149 NONAME
+	pj_lock_destroy                          @ 150 NONAME
+	pj_lock_release                          @ 151 NONAME
+	pj_lock_tryacquire                       @ 152 NONAME
+	pj_log                                   @ 153 NONAME
+	pj_log_1                                 @ 154 NONAME
+	pj_log_2                                 @ 155 NONAME
+	pj_log_3                                 @ 156 NONAME
+	pj_log_4                                 @ 157 NONAME
+	pj_log_5                                 @ 158 NONAME
+	pj_log_get_decor                         @ 159 NONAME
+	pj_log_get_level                         @ 160 NONAME
+	pj_log_get_log_func                      @ 161 NONAME
+	pj_log_set_decor                         @ 162 NONAME
+	pj_log_set_level                         @ 163 NONAME
+	pj_log_set_log_func                      @ 164 NONAME
+	pj_log_write                             @ 165 NONAME
+	pj_mutex_create                          @ 166 NONAME
+	pj_mutex_create_recursive                @ 167 NONAME
+	pj_mutex_create_simple                   @ 168 NONAME
+	pj_mutex_destroy                         @ 169 NONAME
+	pj_mutex_lock                            @ 170 NONAME
+	pj_mutex_trylock                         @ 171 NONAME
+	pj_mutex_unlock                          @ 172 NONAME
+	pj_ntohl                                 @ 173 NONAME
+	pj_ntohs                                 @ 174 NONAME
+	pj_pool_alloc                            @ 175 NONAME
+	pj_pool_alloc_from_block                 @ 176 NONAME
+	pj_pool_allocate_find                    @ 177 NONAME
+	pj_pool_calloc                           @ 178 NONAME
+	pj_pool_create                           @ 179 NONAME
+	pj_pool_create_int                       @ 180 NONAME
+	pj_pool_create_on_buf                    @ 181 NONAME
+	pj_pool_destroy_int                      @ 182 NONAME
+	pj_pool_factory_default_policy           @ 183 NONAME
+	pj_pool_factory_get_default_policy       @ 184 NONAME
+	pj_pool_get_capacity                     @ 185 NONAME
+	pj_pool_get_used_size                    @ 186 NONAME
+	pj_pool_getobjname                       @ 187 NONAME
+	pj_pool_init_int                         @ 188 NONAME
+	pj_pool_release                          @ 189 NONAME
+	pj_pool_reset                            @ 190 NONAME
+	pj_rand                                  @ 191 NONAME
+	pj_rbtree_erase                          @ 192 NONAME
+	pj_rbtree_find                           @ 193 NONAME
+	pj_rbtree_first                          @ 194 NONAME
+	pj_rbtree_init                           @ 195 NONAME
+	pj_rbtree_insert                         @ 196 NONAME
+	pj_rbtree_last                           @ 197 NONAME
+	pj_rbtree_max_height                     @ 198 NONAME
+	pj_rbtree_min_height                     @ 199 NONAME
+	pj_rbtree_next                           @ 200 NONAME
+	pj_rbtree_prev                           @ 201 NONAME
+	pj_register_strerror                     @ 202 NONAME
+	pj_rwmutex_create                        @ 203 NONAME
+	pj_rwmutex_destroy                       @ 204 NONAME
+	pj_rwmutex_lock_read                     @ 205 NONAME
+	pj_rwmutex_lock_write                    @ 206 NONAME
+	pj_rwmutex_unlock_read                   @ 207 NONAME
+	pj_rwmutex_unlock_write                  @ 208 NONAME
+	pj_sem_create                            @ 209 NONAME
+	pj_sem_destroy                           @ 210 NONAME
+	pj_sem_post                              @ 211 NONAME
+	pj_sem_trywait                           @ 212 NONAME
+	pj_sem_wait                              @ 213 NONAME
+	pj_set_netos_error                       @ 214 NONAME
+	pj_set_os_error                          @ 215 NONAME
+	pj_shutdown                              @ 216 NONAME
+	pj_sock_accept                           @ 217 NONAME
+	pj_sock_bind                             @ 218 NONAME
+	pj_sock_bind_in                          @ 219 NONAME
+	pj_sock_close                            @ 220 NONAME
+	pj_sock_connect                          @ 221 NONAME
+	pj_sock_getpeername                      @ 222 NONAME
+	pj_sock_getsockname                      @ 223 NONAME
+	pj_sock_getsockopt                       @ 224 NONAME
+	pj_sock_listen                           @ 225 NONAME
+	pj_sock_recv                             @ 226 NONAME
+	pj_sock_recvfrom                         @ 227 NONAME
+	pj_sock_select                           @ 228 NONAME
+	pj_sock_send                             @ 229 NONAME
+	pj_sock_sendto                           @ 230 NONAME
+	pj_sock_setsockopt                       @ 231 NONAME
+	pj_sock_shutdown                         @ 232 NONAME
+	pj_sock_socket                           @ 233 NONAME
+	pj_sockaddr_in_init                      @ 234 NONAME
+	pj_sockaddr_in_set_str_addr              @ 235 NONAME
+	pj_srand                                 @ 236 NONAME
+	pj_str                                   @ 237 NONAME
+	pj_strassign                             @ 238 NONAME
+	pj_strcat                                @ 239 NONAME
+	pj_strcat2                               @ 240 NONAME
+	pj_strcmp                                @ 241 NONAME
+	pj_strcmp2                               @ 242 NONAME
+	pj_strcpy                                @ 243 NONAME
+	pj_strcpy2                               @ 244 NONAME
+	pj_strdup                                @ 245 NONAME
+	pj_strdup2                               @ 246 NONAME
+	pj_strdup2_with_null                     @ 247 NONAME
+	pj_strdup3                               @ 248 NONAME
+	pj_strdup_with_null                      @ 249 NONAME
+	pj_strerror                              @ 250 NONAME
+	pj_stricmp                               @ 251 NONAME
+	pj_stricmp2                              @ 252 NONAME
+	pj_strltrim                              @ 253 NONAME
+	pj_strncmp                               @ 254 NONAME
+	pj_strncmp2                              @ 255 NONAME
+	pj_strncpy                               @ 256 NONAME
+	pj_strncpy_with_null                     @ 257 NONAME
+	pj_strnicmp                              @ 258 NONAME
+	pj_strnicmp2                             @ 259 NONAME
+	pj_strrtrim                              @ 260 NONAME
+	pj_strtoul                               @ 261 NONAME
+	pj_strtoul2                              @ 262 NONAME
+	pj_strtrim                               @ 263 NONAME
+	pj_symbianos_poll                        @ 264 NONAME
+	pj_symbianos_set_params                  @ 265 NONAME
+	pj_thread_create                         @ 266 NONAME
+	pj_thread_destroy                        @ 267 NONAME
+	pj_thread_get_name                       @ 268 NONAME
+	pj_thread_get_os_handle                  @ 269 NONAME
+	pj_thread_is_registered                  @ 270 NONAME
+	pj_thread_join                           @ 271 NONAME
+	pj_thread_local_alloc                    @ 272 NONAME
+	pj_thread_local_free                     @ 273 NONAME
+	pj_thread_local_get                      @ 274 NONAME
+	pj_thread_local_set                      @ 275 NONAME
+	pj_thread_register                       @ 276 NONAME
+	pj_thread_resume                         @ 277 NONAME
+	pj_thread_sleep                          @ 278 NONAME
+	pj_thread_this                           @ 279 NONAME
+	pj_time_decode                           @ 280 NONAME
+	pj_time_encode                           @ 281 NONAME
+	pj_time_gmt_to_local                     @ 282 NONAME
+	pj_time_local_to_gmt                     @ 283 NONAME
+	pj_time_val_normalize                    @ 284 NONAME
+	pj_timer_entry_init                      @ 285 NONAME
+	pj_timer_heap_cancel                     @ 286 NONAME
+	pj_timer_heap_count                      @ 287 NONAME
+	pj_timer_heap_create                     @ 288 NONAME
+	pj_timer_heap_destroy                    @ 289 NONAME
+	pj_timer_heap_earliest_time              @ 290 NONAME
+	pj_timer_heap_mem_size                   @ 291 NONAME
+	pj_timer_heap_poll                       @ 292 NONAME
+	pj_timer_heap_schedule                   @ 293 NONAME
+	pj_timer_heap_set_lock                   @ 294 NONAME
+	pj_timer_heap_set_max_timed_out_per_poll @ 295 NONAME
+	pj_unicode_to_ansi                       @ 296 NONAME
+	pj_utoa                                  @ 297 NONAME
+	pj_utoa_pad                              @ 298 NONAME
+	platform_strerror                        @ 299 NONAME
+	snprintf                                 @ 300 NONAME
+	vsnprintf                                @ 301 NONAME