Changeset 1a23f6e in mainline for uspace/lib/c


Ignore:
Timestamp:
2012-05-04T10:41:44Z (13 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
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.
Message:

Merge mainline changes

Location:
uspace/lib/c
Files:
2 deleted
17 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/Makefile

    r6efb4d2 r1a23f6e  
    122122        generic/vfs/canonify.c \
    123123        generic/net/inet.c \
    124         generic/net/modules.c \
    125124        generic/net/socket_client.c \
    126125        generic/net/socket_parse.c \
  • uspace/lib/c/generic/async.c

    r6efb4d2 r1a23f6e  
    946946       
    947947        switch (IPC_GET_IMETHOD(*call)) {
    948         case IPC_M_CONNECT_ME:
     948        case IPC_M_CLONE_ESTABLISH:
    949949        case IPC_M_CONNECT_ME_TO:
    950950                /* Open new connection with fibril, etc. */
     
    16681668}
    16691669
    1670 /** Wrapper for making IPC_M_CONNECT_ME calls using the async framework.
    1671  *
    1672  * Ask through for 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.
    16731673 *
    16741674 * @param mgmt Exchange management style.
     
    16781678 *
    16791679 */
    1680 async_sess_t *async_connect_me(exch_mgmt_t mgmt, async_exch_t *exch)
     1680async_sess_t *async_clone_establish(exch_mgmt_t mgmt, async_exch_t *exch)
    16811681{
    16821682        if (exch == NULL) {
     
    17031703        msg->wdata.active = true;
    17041704       
    1705         ipc_call_async_0(exch->phone, IPC_M_CONNECT_ME, msg,
     1705        ipc_call_async_0(exch->phone, IPC_M_CLONE_ESTABLISH, msg,
    17061706            reply_received, true);
    17071707       
  • uspace/lib/c/generic/device/nic.c

    r6efb4d2 r1a23f6e  
    6565       
    6666        if (retval != EOK) {
    67                 async_wait_for(req, NULL);
     67                async_forget(req);
    6868                return retval;
    6969        }
     
    9494        rc = async_connect_to_me(exch, 0, 0, 0, cfun, carg);
    9595        if (rc != EOK) {
    96                 async_wait_for(req, NULL);
     96                async_forget(req);
    9797                return rc;
    9898        }
  • uspace/lib/c/generic/devman.c

    r6efb4d2 r1a23f6e  
    188188       
    189189        if (retval != EOK) {
    190                 async_wait_for(req, NULL);
     190                async_forget(req);
    191191                return retval;
    192192        }
     
    226226        if (retval != EOK) {
    227227                devman_exchange_end(exch);
    228                 async_wait_for(req, NULL);
     228                async_forget(req);
    229229                return retval;
    230230        }
     
    242242                if (retval != EOK) {
    243243                        devman_exchange_end(exch);
    244                         async_wait_for(req2, NULL);
    245                         async_wait_for(req, NULL);
     244                        async_forget(req2);
     245                        async_forget(req);
    246246                        return retval;
    247247                }
     
    250250                if (retval != EOK) {
    251251                        devman_exchange_end(exch);
    252                         async_wait_for(req, NULL);
     252                        async_forget(req);
    253253                        return retval;
    254254                }
     
    283283       
    284284        if (retval != EOK) {
    285                 async_wait_for(req, NULL);
     285                async_forget(req);
    286286                return retval;
    287287        }
     
    386386       
    387387        if (retval != EOK) {
    388                 async_wait_for(req, NULL);
     388                async_forget(req);
    389389                return retval;
    390390        }
     
    423423       
    424424        if (dretval != EOK) {
    425                 async_wait_for(req, NULL);
     425                async_forget(req);
    426426                return dretval;
    427427        }
     
    488488       
    489489        if (rc != EOK) {
    490                 async_wait_for(req, NULL);
     490                async_forget(req);
    491491                return rc;
    492492        }
  • uspace/lib/c/generic/inet.c

    r6efb4d2 r1a23f6e  
    120120
    121121        if (rc != EOK) {
    122                 async_wait_for(req, NULL);
     122                async_forget(req);
    123123                return rc;
    124124        }
  • uspace/lib/c/generic/inetcfg.c

    r6efb4d2 r1a23f6e  
    5151
    5252        if (rc != EOK) {
    53                 async_wait_for(req, NULL);
     53                async_forget(req);
    5454                return rc;
    5555        }
     
    146146
    147147        if (retval != EOK) {
    148                 async_wait_for(req, NULL);
     148                async_forget(req);
    149149                return retval;
    150150        }
     
    183183
    184184        if (dretval != EOK) {
    185                 async_wait_for(req, NULL);
     185                async_forget(req);
    186186                return dretval;
    187187        }
     
    216216
    217217        if (retval != EOK) {
    218                 async_wait_for(req, NULL);
     218                async_forget(req);
    219219                return retval;
    220220        }
     
    261261
    262262        if (dretval != EOK) {
    263                 async_wait_for(req, NULL);
     263                async_forget(req);
    264264                return dretval;
    265265        }
     
    294294
    295295        if (retval != EOK) {
    296                 async_wait_for(req, NULL);
     296                async_forget(req);
    297297                return retval;
    298298        }
     
    331331
    332332        if (dretval != EOK) {
    333                 async_wait_for(req, NULL);
     333                async_forget(req);
    334334                return dretval;
    335335        }
     
    364364
    365365        if (retval != EOK) {
    366                 async_wait_for(req, NULL);
     366                async_forget(req);
    367367                return retval;
    368368        }
  • uspace/lib/c/generic/inetping.c

    r6efb4d2 r1a23f6e  
    8888
    8989        if (retval != EOK) {
    90                 async_wait_for(req, NULL);
     90                async_forget(req);
    9191                return retval;
    9292        }
  • uspace/lib/c/generic/ipc.c

    r6efb4d2 r1a23f6e  
    647647 *
    648648 */
    649 int ipc_connect_me(int phoneid)
     649int ipc_clone_establish(int phoneid)
    650650{
    651651        sysarg_t newphid;
    652         int res = ipc_call_sync_0_5(phoneid, IPC_M_CONNECT_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);
    654654        if (res)
    655655                return res;
  • uspace/lib/c/generic/iplink.c

    r6efb4d2 r1a23f6e  
    9494
    9595        if (rc != EOK) {
    96                 async_wait_for(req, NULL);
     96                async_forget(req);
    9797                return rc;
    9898        }
  • uspace/lib/c/generic/iplink_srv.c

    r6efb4d2 r1a23f6e  
    178178
    179179        if (rc != EOK) {
    180                 async_wait_for(req, NULL);
     180                async_forget(req);
    181181                return rc;
    182182        }
  • uspace/lib/c/generic/loader.c

    r6efb4d2 r1a23f6e  
    101101       
    102102        if (rc != EOK) {
    103                 async_wait_for(req, NULL);
     103                async_forget(req);
    104104                return (int) rc;
    105105        }
     
    139139       
    140140        if (rc != EOK) {
    141                 async_wait_for(req, NULL);
     141                async_forget(req);
    142142                return (int) rc;
    143143        }
     
    177177       
    178178        if (rc != EOK) {
    179                 async_wait_for(req, NULL);
     179                async_forget(req);
    180180                return (int) rc;
    181181        }
     
    236236       
    237237        if (rc != EOK) {
    238                 async_wait_for(req, NULL);
     238                async_forget(req);
    239239                return (int) rc;
    240240        }
     
    281281
    282282        if (rc != EOK) {
    283                 async_wait_for(req, NULL);
     283                async_forget(req);
    284284                return (int) rc;
    285285        }
  • uspace/lib/c/generic/loc.c

    r6efb4d2 r1a23f6e  
    246246       
    247247        if (retval != EOK) {
    248                 async_wait_for(req, NULL);
     248                async_forget(req);
    249249                return retval;
    250250        }
     
    285285       
    286286        if (retval != EOK) {
    287                 async_wait_for(req, NULL);
     287                async_forget(req);
    288288                return retval;
    289289        }
     
    352352       
    353353        if (retval != EOK) {
    354                 async_wait_for(req, NULL);
     354                async_forget(req);
    355355                return retval;
    356356        }
     
    401401       
    402402        if (dretval != EOK) {
    403                 async_wait_for(req, NULL);
     403                async_forget(req);
    404404                return dretval;
    405405        }
     
    471471       
    472472        if (retval != EOK) {
    473                 async_wait_for(req, NULL);
     473                async_forget(req);
    474474                return retval;
    475475        }
     
    520520       
    521521        if (retval != EOK) {
    522                 async_wait_for(req, NULL);
     522                async_forget(req);
    523523                return retval;
    524524        }
     
    683683               
    684684                if (rc != EOK) {
    685                         async_wait_for(req, NULL);
     685                        async_forget(req);
    686686                        free(devs);
    687687                        return 0;
     
    732732               
    733733                if (rc != EOK) {
    734                         async_wait_for(req, NULL);
     734                        async_forget(req);
    735735                        free(devs);
    736736                        return 0;
     
    760760       
    761761        if (rc != EOK) {
    762                 async_wait_for(req, NULL);
     762                async_forget(req);
    763763                return rc;
    764764        }
  • uspace/lib/c/generic/net/socket_client.c

    r6efb4d2 r1a23f6e  
    4444#include <errno.h>
    4545#include <task.h>
     46#include <ns.h>
    4647#include <ipc/services.h>
    4748#include <ipc/socket.h>
    48 #include <net/modules.h>
    4949#include <net/in.h>
    5050#include <net/socket.h>
     
    284284{
    285285        if (socket_globals.tcp_sess == NULL) {
    286                 socket_globals.tcp_sess = bind_service(SERVICE_TCP,
     286                socket_globals.tcp_sess = service_bind(SERVICE_TCP,
    287287                    0, 0, SERVICE_TCP, socket_connection);
    288288        }
     
    301301{
    302302        if (socket_globals.udp_sess == NULL) {
    303                 socket_globals.udp_sess = bind_service(SERVICE_UDP,
     303                socket_globals.udp_sess = service_bind(SERVICE_UDP,
    304304                    0, 0, SERVICE_UDP, socket_connection);
    305305        }
     
    378378 * @return              Other error codes as defined for the NET_SOCKET message.
    379379 * @return              Other error codes as defined for the
    380  *                      bind_service() function.
     380 *                      service_bind() function.
    381381 */
    382382int socket(int domain, int type, int protocol)
  • uspace/lib/c/generic/ns.c

    r6efb4d2 r1a23f6e  
    3737#include <async.h>
    3838#include <macros.h>
     39#include <errno.h>
    3940#include "private/ns.h"
    4041
     
    4849}
    4950
    50 async_sess_t *service_connect(exch_mgmt_t mgmt, sysarg_t service, sysarg_t arg2,
     51async_sess_t *service_connect(exch_mgmt_t mgmt, services_t service, sysarg_t arg2,
    5152    sysarg_t arg3)
    5253{
     
    7273}
    7374
    74 async_sess_t *service_connect_blocking(exch_mgmt_t mgmt, sysarg_t service,
     75async_sess_t *service_connect_blocking(exch_mgmt_t mgmt, services_t service,
    7576    sysarg_t arg2, sysarg_t arg3)
    7677{
     
    8182            async_connect_me_to_blocking(mgmt, exch, service, arg2, arg3);
    8283        async_exchange_end(exch);
    83 
     84       
    8485        if (!sess)
    8586                return NULL;
     
    9192         */
    9293        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 */
     110async_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        }
    93129       
    94130        return sess;
  • uspace/lib/c/include/async.h

    r6efb4d2 r1a23f6e  
    321321    sysarg_t *, sysarg_t *);
    322322
    323 extern async_sess_t *async_connect_me(exch_mgmt_t, async_exch_t *);
     323extern async_sess_t *async_clone_establish(exch_mgmt_t, async_exch_t *);
    324324extern async_sess_t *async_connect_me_to(exch_mgmt_t, async_exch_t *, sysarg_t,
    325325    sysarg_t, sysarg_t);
  • uspace/lib/c/include/ipc/ipc.h

    r6efb4d2 r1a23f6e  
    254254    sysarg_t, sysarg_t, void *, ipc_async_callback_t, bool);
    255255
     256extern int ipc_clone_establish(int);
    256257extern int ipc_connect_to_me(int, sysarg_t, sysarg_t, sysarg_t, task_id_t *,
    257258    sysarg_t *);
    258 extern int ipc_connect_me(int);
    259259extern int ipc_connect_me_to(int, sysarg_t, sysarg_t, sysarg_t);
    260260extern int ipc_connect_me_to_blocking(int, sysarg_t, sysarg_t, sysarg_t);
  • uspace/lib/c/include/ns.h

    r6efb4d2 r1a23f6e  
    3737
    3838#include <sys/types.h>
     39#include <ipc/services.h>
    3940#include <task.h>
    4041#include <async.h>
    4142
    4243extern int service_register(sysarg_t);
    43 extern async_sess_t *service_connect(exch_mgmt_t, sysarg_t, sysarg_t, sysarg_t);
    44 extern async_sess_t *service_connect_blocking(exch_mgmt_t, sysarg_t, sysarg_t,
     44extern async_sess_t *service_connect(exch_mgmt_t, services_t, sysarg_t, sysarg_t);
     45extern async_sess_t *service_connect_blocking(exch_mgmt_t, services_t, sysarg_t,
    4546    sysarg_t);
     47extern async_sess_t *service_bind(services_t, sysarg_t, sysarg_t, sysarg_t,
     48    async_client_conn_t);
    4649
    4750extern int ns_ping(void);
Note: See TracChangeset for help on using the changeset viewer.