Changeset 1a23f6e in mainline for uspace/lib
- Timestamp:
- 2012-05-04T10:41:44Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- af42a2b
- Parents:
- 6efb4d2 (diff), d21e935c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- uspace/lib
- Files:
-
- 2 deleted
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/Makefile
r6efb4d2 r1a23f6e 122 122 generic/vfs/canonify.c \ 123 123 generic/net/inet.c \ 124 generic/net/modules.c \125 124 generic/net/socket_client.c \ 126 125 generic/net/socket_parse.c \ -
uspace/lib/c/generic/async.c
r6efb4d2 r1a23f6e 946 946 947 947 switch (IPC_GET_IMETHOD(*call)) { 948 case IPC_M_C ONNECT_ME:948 case IPC_M_CLONE_ESTABLISH: 949 949 case IPC_M_CONNECT_ME_TO: 950 950 /* Open new connection with fibril, etc. */ … … 1668 1668 } 1669 1669 1670 /** Wrapper for making IPC_M_C ONNECT_MEcalls using the async framework.1671 * 1672 * Ask throughfor a cloned connection to some service.1670 /** Wrapper for making IPC_M_CLONE_ESTABLISH calls using the async framework. 1671 * 1672 * Ask for a cloned connection to some service. 1673 1673 * 1674 1674 * @param mgmt Exchange management style. … … 1678 1678 * 1679 1679 */ 1680 async_sess_t *async_c onnect_me(exch_mgmt_t mgmt, async_exch_t *exch)1680 async_sess_t *async_clone_establish(exch_mgmt_t mgmt, async_exch_t *exch) 1681 1681 { 1682 1682 if (exch == NULL) { … … 1703 1703 msg->wdata.active = true; 1704 1704 1705 ipc_call_async_0(exch->phone, IPC_M_C ONNECT_ME, msg,1705 ipc_call_async_0(exch->phone, IPC_M_CLONE_ESTABLISH, msg, 1706 1706 reply_received, true); 1707 1707 -
uspace/lib/c/generic/device/nic.c
r6efb4d2 r1a23f6e 65 65 66 66 if (retval != EOK) { 67 async_ wait_for(req, NULL);67 async_forget(req); 68 68 return retval; 69 69 } … … 94 94 rc = async_connect_to_me(exch, 0, 0, 0, cfun, carg); 95 95 if (rc != EOK) { 96 async_ wait_for(req, NULL);96 async_forget(req); 97 97 return rc; 98 98 } -
uspace/lib/c/generic/devman.c
r6efb4d2 r1a23f6e 188 188 189 189 if (retval != EOK) { 190 async_ wait_for(req, NULL);190 async_forget(req); 191 191 return retval; 192 192 } … … 226 226 if (retval != EOK) { 227 227 devman_exchange_end(exch); 228 async_ wait_for(req, NULL);228 async_forget(req); 229 229 return retval; 230 230 } … … 242 242 if (retval != EOK) { 243 243 devman_exchange_end(exch); 244 async_ wait_for(req2, NULL);245 async_ wait_for(req, NULL);244 async_forget(req2); 245 async_forget(req); 246 246 return retval; 247 247 } … … 250 250 if (retval != EOK) { 251 251 devman_exchange_end(exch); 252 async_ wait_for(req, NULL);252 async_forget(req); 253 253 return retval; 254 254 } … … 283 283 284 284 if (retval != EOK) { 285 async_ wait_for(req, NULL);285 async_forget(req); 286 286 return retval; 287 287 } … … 386 386 387 387 if (retval != EOK) { 388 async_ wait_for(req, NULL);388 async_forget(req); 389 389 return retval; 390 390 } … … 423 423 424 424 if (dretval != EOK) { 425 async_ wait_for(req, NULL);425 async_forget(req); 426 426 return dretval; 427 427 } … … 488 488 489 489 if (rc != EOK) { 490 async_ wait_for(req, NULL);490 async_forget(req); 491 491 return rc; 492 492 } -
uspace/lib/c/generic/inet.c
r6efb4d2 r1a23f6e 120 120 121 121 if (rc != EOK) { 122 async_ wait_for(req, NULL);122 async_forget(req); 123 123 return rc; 124 124 } -
uspace/lib/c/generic/inetcfg.c
r6efb4d2 r1a23f6e 51 51 52 52 if (rc != EOK) { 53 async_ wait_for(req, NULL);53 async_forget(req); 54 54 return rc; 55 55 } … … 146 146 147 147 if (retval != EOK) { 148 async_ wait_for(req, NULL);148 async_forget(req); 149 149 return retval; 150 150 } … … 183 183 184 184 if (dretval != EOK) { 185 async_ wait_for(req, NULL);185 async_forget(req); 186 186 return dretval; 187 187 } … … 216 216 217 217 if (retval != EOK) { 218 async_ wait_for(req, NULL);218 async_forget(req); 219 219 return retval; 220 220 } … … 261 261 262 262 if (dretval != EOK) { 263 async_ wait_for(req, NULL);263 async_forget(req); 264 264 return dretval; 265 265 } … … 294 294 295 295 if (retval != EOK) { 296 async_ wait_for(req, NULL);296 async_forget(req); 297 297 return retval; 298 298 } … … 331 331 332 332 if (dretval != EOK) { 333 async_ wait_for(req, NULL);333 async_forget(req); 334 334 return dretval; 335 335 } … … 364 364 365 365 if (retval != EOK) { 366 async_ wait_for(req, NULL);366 async_forget(req); 367 367 return retval; 368 368 } -
uspace/lib/c/generic/inetping.c
r6efb4d2 r1a23f6e 88 88 89 89 if (retval != EOK) { 90 async_ wait_for(req, NULL);90 async_forget(req); 91 91 return retval; 92 92 } -
uspace/lib/c/generic/ipc.c
r6efb4d2 r1a23f6e 647 647 * 648 648 */ 649 int ipc_c onnect_me(int phoneid)649 int ipc_clone_establish(int phoneid) 650 650 { 651 651 sysarg_t newphid; 652 int res = ipc_call_sync_0_5(phoneid, IPC_M_C ONNECT_ME, NULL, NULL,653 NULL, NULL, &newphid);652 int res = ipc_call_sync_0_5(phoneid, IPC_M_CLONE_ESTABLISH, NULL, 653 NULL, NULL, NULL, &newphid); 654 654 if (res) 655 655 return res; -
uspace/lib/c/generic/iplink.c
r6efb4d2 r1a23f6e 94 94 95 95 if (rc != EOK) { 96 async_ wait_for(req, NULL);96 async_forget(req); 97 97 return rc; 98 98 } -
uspace/lib/c/generic/iplink_srv.c
r6efb4d2 r1a23f6e 178 178 179 179 if (rc != EOK) { 180 async_ wait_for(req, NULL);180 async_forget(req); 181 181 return rc; 182 182 } -
uspace/lib/c/generic/loader.c
r6efb4d2 r1a23f6e 101 101 102 102 if (rc != EOK) { 103 async_ wait_for(req, NULL);103 async_forget(req); 104 104 return (int) rc; 105 105 } … … 139 139 140 140 if (rc != EOK) { 141 async_ wait_for(req, NULL);141 async_forget(req); 142 142 return (int) rc; 143 143 } … … 177 177 178 178 if (rc != EOK) { 179 async_ wait_for(req, NULL);179 async_forget(req); 180 180 return (int) rc; 181 181 } … … 236 236 237 237 if (rc != EOK) { 238 async_ wait_for(req, NULL);238 async_forget(req); 239 239 return (int) rc; 240 240 } … … 281 281 282 282 if (rc != EOK) { 283 async_ wait_for(req, NULL);283 async_forget(req); 284 284 return (int) rc; 285 285 } -
uspace/lib/c/generic/loc.c
r6efb4d2 r1a23f6e 246 246 247 247 if (retval != EOK) { 248 async_ wait_for(req, NULL);248 async_forget(req); 249 249 return retval; 250 250 } … … 285 285 286 286 if (retval != EOK) { 287 async_ wait_for(req, NULL);287 async_forget(req); 288 288 return retval; 289 289 } … … 352 352 353 353 if (retval != EOK) { 354 async_ wait_for(req, NULL);354 async_forget(req); 355 355 return retval; 356 356 } … … 401 401 402 402 if (dretval != EOK) { 403 async_ wait_for(req, NULL);403 async_forget(req); 404 404 return dretval; 405 405 } … … 471 471 472 472 if (retval != EOK) { 473 async_ wait_for(req, NULL);473 async_forget(req); 474 474 return retval; 475 475 } … … 520 520 521 521 if (retval != EOK) { 522 async_ wait_for(req, NULL);522 async_forget(req); 523 523 return retval; 524 524 } … … 683 683 684 684 if (rc != EOK) { 685 async_ wait_for(req, NULL);685 async_forget(req); 686 686 free(devs); 687 687 return 0; … … 732 732 733 733 if (rc != EOK) { 734 async_ wait_for(req, NULL);734 async_forget(req); 735 735 free(devs); 736 736 return 0; … … 760 760 761 761 if (rc != EOK) { 762 async_ wait_for(req, NULL);762 async_forget(req); 763 763 return rc; 764 764 } -
uspace/lib/c/generic/net/socket_client.c
r6efb4d2 r1a23f6e 44 44 #include <errno.h> 45 45 #include <task.h> 46 #include <ns.h> 46 47 #include <ipc/services.h> 47 48 #include <ipc/socket.h> 48 #include <net/modules.h>49 49 #include <net/in.h> 50 50 #include <net/socket.h> … … 284 284 { 285 285 if (socket_globals.tcp_sess == NULL) { 286 socket_globals.tcp_sess = bind_service(SERVICE_TCP,286 socket_globals.tcp_sess = service_bind(SERVICE_TCP, 287 287 0, 0, SERVICE_TCP, socket_connection); 288 288 } … … 301 301 { 302 302 if (socket_globals.udp_sess == NULL) { 303 socket_globals.udp_sess = bind_service(SERVICE_UDP,303 socket_globals.udp_sess = service_bind(SERVICE_UDP, 304 304 0, 0, SERVICE_UDP, socket_connection); 305 305 } … … 378 378 * @return Other error codes as defined for the NET_SOCKET message. 379 379 * @return Other error codes as defined for the 380 * bind_service() function.380 * service_bind() function. 381 381 */ 382 382 int socket(int domain, int type, int protocol) -
uspace/lib/c/generic/ns.c
r6efb4d2 r1a23f6e 37 37 #include <async.h> 38 38 #include <macros.h> 39 #include <errno.h> 39 40 #include "private/ns.h" 40 41 … … 48 49 } 49 50 50 async_sess_t *service_connect(exch_mgmt_t mgmt, s ysarg_t service, sysarg_t arg2,51 async_sess_t *service_connect(exch_mgmt_t mgmt, services_t service, sysarg_t arg2, 51 52 sysarg_t arg3) 52 53 { … … 72 73 } 73 74 74 async_sess_t *service_connect_blocking(exch_mgmt_t mgmt, s ysarg_t service,75 async_sess_t *service_connect_blocking(exch_mgmt_t mgmt, services_t service, 75 76 sysarg_t arg2, sysarg_t arg3) 76 77 { … … 81 82 async_connect_me_to_blocking(mgmt, exch, service, arg2, arg3); 82 83 async_exchange_end(exch); 83 84 84 85 if (!sess) 85 86 return NULL; … … 91 92 */ 92 93 async_sess_args_set(sess, arg2, arg3, 0); 94 95 return sess; 96 } 97 98 /** Create bidirectional connection with a service 99 * 100 * @param[in] service Service. 101 * @param[in] arg1 First parameter. 102 * @param[in] arg2 Second parameter. 103 * @param[in] arg3 Third parameter. 104 * @param[in] client_receiver Message receiver. 105 * 106 * @return Session to the service. 107 * @return Other error codes as defined by async_connect_to_me(). 108 * 109 */ 110 async_sess_t *service_bind(services_t service, sysarg_t arg1, sysarg_t arg2, 111 sysarg_t arg3, async_client_conn_t client_receiver) 112 { 113 /* Connect to the needed service */ 114 async_sess_t *sess = 115 service_connect_blocking(EXCHANGE_SERIALIZE, service, 0, 0); 116 if (sess != NULL) { 117 /* Request callback connection */ 118 async_exch_t *exch = async_exchange_begin(sess); 119 int rc = async_connect_to_me(exch, arg1, arg2, arg3, 120 client_receiver, NULL); 121 async_exchange_end(exch); 122 123 if (rc != EOK) { 124 async_hangup(sess); 125 errno = rc; 126 return NULL; 127 } 128 } 93 129 94 130 return sess; -
uspace/lib/c/include/async.h
r6efb4d2 r1a23f6e 321 321 sysarg_t *, sysarg_t *); 322 322 323 extern async_sess_t *async_c onnect_me(exch_mgmt_t, async_exch_t *);323 extern async_sess_t *async_clone_establish(exch_mgmt_t, async_exch_t *); 324 324 extern async_sess_t *async_connect_me_to(exch_mgmt_t, async_exch_t *, sysarg_t, 325 325 sysarg_t, sysarg_t); -
uspace/lib/c/include/ipc/ipc.h
r6efb4d2 r1a23f6e 254 254 sysarg_t, sysarg_t, void *, ipc_async_callback_t, bool); 255 255 256 extern int ipc_clone_establish(int); 256 257 extern int ipc_connect_to_me(int, sysarg_t, sysarg_t, sysarg_t, task_id_t *, 257 258 sysarg_t *); 258 extern int ipc_connect_me(int);259 259 extern int ipc_connect_me_to(int, sysarg_t, sysarg_t, sysarg_t); 260 260 extern int ipc_connect_me_to_blocking(int, sysarg_t, sysarg_t, sysarg_t); -
uspace/lib/c/include/ns.h
r6efb4d2 r1a23f6e 37 37 38 38 #include <sys/types.h> 39 #include <ipc/services.h> 39 40 #include <task.h> 40 41 #include <async.h> 41 42 42 43 extern int service_register(sysarg_t); 43 extern async_sess_t *service_connect(exch_mgmt_t, s ysarg_t, sysarg_t, sysarg_t);44 extern async_sess_t *service_connect_blocking(exch_mgmt_t, s ysarg_t, sysarg_t,44 extern async_sess_t *service_connect(exch_mgmt_t, services_t, sysarg_t, sysarg_t); 45 extern async_sess_t *service_connect_blocking(exch_mgmt_t, services_t, sysarg_t, 45 46 sysarg_t); 47 extern async_sess_t *service_bind(services_t, sysarg_t, sysarg_t, sysarg_t, 48 async_client_conn_t); 46 49 47 50 extern int ns_ping(void); -
uspace/lib/drv/generic/remote_usbhc.c
r6efb4d2 r1a23f6e 259 259 if (data_request == 0) { 260 260 // FIXME: How to let the other side know that we want to abort? 261 async_ wait_for(opening_request, NULL);261 async_forget(opening_request); 262 262 return ENOMEM; 263 263 } … … 308 308 const int ret = async_data_write_start(exch, data, size); 309 309 if (ret != EOK) { 310 async_ wait_for(opening_request, NULL);310 async_forget(opening_request); 311 311 return ret; 312 312 } -
uspace/lib/fs/libfs.c
r6efb4d2 r1a23f6e 320 320 if (rc != EOK) { 321 321 async_exchange_end(exch); 322 async_ wait_for(req, NULL);322 async_forget(req); 323 323 return rc; 324 324 } … … 341 341 if (reg.plb_ro == (void *) -1) { 342 342 async_exchange_end(exch); 343 async_ wait_for(req, NULL);343 async_forget(req); 344 344 return ENOMEM; 345 345 } … … 348 348 349 349 if (rc) { 350 async_ wait_for(req, NULL);350 async_forget(req); 351 351 return rc; 352 352 } … … 404 404 405 405 async_exch_t *exch = async_exchange_begin(mountee_sess); 406 async_sess_t *sess = async_c onnect_me(EXCHANGE_PARALLEL, exch);406 async_sess_t *sess = async_clone_establish(EXCHANGE_PARALLEL, exch); 407 407 408 408 if (!sess) { -
uspace/lib/net/tl/socket_core.c
r6efb4d2 r1a23f6e 39 39 #include <net/in.h> 40 40 #include <net/inet.h> 41 #include <net/modules.h>42 41 #include <stdint.h> 43 42 #include <stdlib.h> -
uspace/lib/nic/include/nic.h
r6efb4d2 r1a23f6e 232 232 extern int nic_report_poll_mode(nic_t *, nic_poll_mode_t, struct timeval *); 233 233 extern void nic_query_address(nic_t *, nic_address_t *); 234 extern void nic_received_noneth_frame(nic_t *, void *, size_t);235 234 extern void nic_received_frame(nic_t *, nic_frame_t *); 236 235 extern void nic_received_frame_list(nic_t *, nic_frame_list_t *); -
uspace/lib/nic/src/nic_driver.c
r6efb4d2 r1a23f6e 624 624 625 625 /** 626 * This function is to be used only in the loopback driver. It's workaround627 * for the situation when the frame does not contain ethernet address.628 * The filtering is therefore not applied here.629 *630 * @param nic_data631 * @param data Frame data632 * @param size Frame size in bytes633 */634 void nic_received_noneth_frame(nic_t *nic_data, void *data, size_t size)635 {636 fibril_rwlock_write_lock(&nic_data->stats_lock);637 nic_data->stats.receive_packets++;638 nic_data->stats.receive_bytes += size;639 fibril_rwlock_write_unlock(&nic_data->stats_lock);640 641 nic_ev_received(nic_data->client_session, data, size);642 }643 644 /**645 626 * Some NICs can receive multiple frames during single interrupt. These can 646 627 * send them in whole list of frames (actually nic_frame_t structures), then -
uspace/lib/nic/src/nic_ev.c
r6efb4d2 r1a23f6e 54 54 55 55 if (retval != EOK) { 56 async_ wait_for(req, NULL);56 async_forget(req); 57 57 return retval; 58 58 } … … 86 86 87 87 if (retval != EOK) { 88 async_ wait_for(req, NULL);88 async_forget(req); 89 89 return retval; 90 90 } -
uspace/lib/usbhid/src/hidiface.c
r6efb4d2 r1a23f6e 120 120 121 121 if (data_request == 0) { 122 async_ wait_for(opening_request, NULL);122 async_forget(opening_request); 123 123 free(buffer); 124 124 return ENOMEM; … … 206 206 207 207 if (data_request == 0) { 208 async_ wait_for(opening_request, NULL);208 async_forget(opening_request); 209 209 return ENOMEM; 210 210 } -
uspace/lib/usbvirt/src/ipc_hc.c
r6efb4d2 r1a23f6e 80 80 if (rc != EOK) { 81 81 async_exchange_end(exch); 82 async_ wait_for(opening_request, NULL);82 async_forget(opening_request); 83 83 return rc; 84 84 } … … 91 91 92 92 if (data_request == 0) { 93 async_ wait_for(opening_request, NULL);93 async_forget(opening_request); 94 94 return ENOMEM; 95 95 } … … 153 153 if (rc != EOK) { 154 154 async_exchange_end(exch); 155 async_ wait_for(opening_request, NULL);155 async_forget(opening_request); 156 156 return rc; 157 157 } … … 161 161 if (rc != EOK) { 162 162 async_exchange_end(exch); 163 async_ wait_for(opening_request, NULL);163 async_forget(opening_request); 164 164 return rc; 165 165 } … … 226 226 227 227 if (data_request == 0) { 228 async_ wait_for(opening_request, NULL);228 async_forget(opening_request); 229 229 return ENOMEM; 230 230 } … … 301 301 302 302 if (rc != EOK) { 303 async_ wait_for(opening_request, NULL);303 async_forget(opening_request); 304 304 return rc; 305 305 }
Note:
See TracChangeset
for help on using the changeset viewer.