Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/inet/tcp.c

    ra35b458 rb752a31  
    4141#include <stdlib.h>
    4242
    43 static void tcp_cb_conn(ipc_callid_t, ipc_call_t *, void *);
     43static void tcp_cb_conn(cap_call_handle_t, ipc_call_t *, void *);
    4444static errno_t tcp_conn_fibril(void *);
    4545
     
    633633/** Connection established event.
    634634 *
    635  * @param tcp TCP client
    636  * @param iid Call ID
    637  * @param icall Call data
    638  */
    639 static void tcp_ev_connected(tcp_t *tcp, ipc_callid_t iid, ipc_call_t *icall)
     635 * @param tcp           TCP client
     636 * @param icall_handle  Call handle
     637 * @param icall         Call data
     638 */
     639static void
     640tcp_ev_connected(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall)
    640641{
    641642        tcp_conn_t *conn;
     
    647648        rc = tcp_conn_get(tcp, conn_id, &conn);
    648649        if (rc != EOK) {
    649                 async_answer_0(iid, ENOENT);
     650                async_answer_0(icall_handle, ENOENT);
    650651                return;
    651652        }
     
    656657        fibril_mutex_unlock(&conn->lock);
    657658
    658         async_answer_0(iid, EOK);
     659        async_answer_0(icall_handle, EOK);
    659660}
    660661
    661662/** Connection failed event.
    662663 *
    663  * @param tcp TCP client
    664  * @param iid Call ID
    665  * @param icall Call data
    666  */
    667 static void tcp_ev_conn_failed(tcp_t *tcp, ipc_callid_t iid, ipc_call_t *icall)
     664 * @param tcp           TCP client
     665 * @param icall_handle  Call handle
     666 * @param icall         Call data
     667 */
     668static void
     669tcp_ev_conn_failed(tcp_t *tcp, cap_call_handle_t icall_handle,
     670    ipc_call_t *icall)
    668671{
    669672        tcp_conn_t *conn;
     
    675678        rc = tcp_conn_get(tcp, conn_id, &conn);
    676679        if (rc != EOK) {
    677                 async_answer_0(iid, ENOENT);
     680                async_answer_0(icall_handle, ENOENT);
    678681                return;
    679682        }
     
    684687        fibril_mutex_unlock(&conn->lock);
    685688
    686         async_answer_0(iid, EOK);
     689        async_answer_0(icall_handle, EOK);
    687690}
    688691
    689692/** Connection reset event.
    690693 *
    691  * @param tcp TCP client
    692  * @param iid Call ID
    693  * @param icall Call data
    694  */
    695 static void tcp_ev_conn_reset(tcp_t *tcp, ipc_callid_t iid, ipc_call_t *icall)
     694 * @param tcp           TCP client
     695 * @param icall_handle  Call handle
     696 * @param icall         Call data
     697 */
     698static void tcp_ev_conn_reset(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall)
    696699{
    697700        tcp_conn_t *conn;
     
    703706        rc = tcp_conn_get(tcp, conn_id, &conn);
    704707        if (rc != EOK) {
    705                 async_answer_0(iid, ENOENT);
     708                async_answer_0(icall_handle, ENOENT);
    706709                return;
    707710        }
     
    712715        fibril_mutex_unlock(&conn->lock);
    713716
    714         async_answer_0(iid, EOK);
     717        async_answer_0(icall_handle, EOK);
    715718}
    716719
    717720/** Data available event.
    718721 *
    719  * @param tcp TCP client
    720  * @param iid Call ID
    721  * @param icall Call data
    722  */
    723 static void tcp_ev_data(tcp_t *tcp, ipc_callid_t iid, ipc_call_t *icall)
     722 * @param tcp           TCP client
     723 * @param icall_handle  Call handle
     724 * @param icall         Call data
     725 */
     726static void
     727tcp_ev_data(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall)
    724728{
    725729        tcp_conn_t *conn;
     
    731735        rc = tcp_conn_get(tcp, conn_id, &conn);
    732736        if (rc != EOK) {
    733                 async_answer_0(iid, ENOENT);
     737                async_answer_0(icall_handle, ENOENT);
    734738                return;
    735739        }
     
    741745                conn->cb->data_avail(conn);
    742746
    743         async_answer_0(iid, EOK);
     747        async_answer_0(icall_handle, EOK);
    744748}
    745749
    746750/** Urgent data event.
    747751 *
    748  * @param tcp TCP client
    749  * @param iid Call ID
    750  * @param icall Call data
    751  */
    752 static void tcp_ev_urg_data(tcp_t *tcp, ipc_callid_t iid, ipc_call_t *icall)
    753 {
    754         async_answer_0(iid, ENOTSUP);
     752 * @param tcp           TCP client
     753 * @param icall_handle  Call handle
     754 * @param icall         Call data
     755 */
     756static void
     757tcp_ev_urg_data(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall)
     758{
     759        async_answer_0(icall_handle, ENOTSUP);
    755760}
    756761
    757762/** New connection event.
    758763 *
    759  * @param tcp TCP client
    760  * @param iid Call ID
    761  * @param icall Call data
    762  */
    763 static void tcp_ev_new_conn(tcp_t *tcp, ipc_callid_t iid, ipc_call_t *icall)
     764 * @param tcp           TCP client
     765 * @param icall_handle  Call handle
     766 * @param icall         Call data
     767 */
     768static void
     769tcp_ev_new_conn(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall)
    764770{
    765771        tcp_listener_t *lst;
     
    776782        rc = tcp_listener_get(tcp, lst_id, &lst);
    777783        if (rc != EOK) {
    778                 async_answer_0(iid, ENOENT);
     784                async_answer_0(icall_handle, ENOENT);
    779785                return;
    780786        }
     
    782788        rc = tcp_conn_new(tcp, conn_id, lst->cb, lst->cb_arg, &conn);
    783789        if (rc != EOK) {
    784                 async_answer_0(iid, ENOMEM);
     790                async_answer_0(icall_handle, ENOMEM);
    785791                return;
    786792        }
     
    789795                cinfo = calloc(1, sizeof(tcp_in_conn_t));
    790796                if (cinfo == NULL) {
    791                         async_answer_0(iid, ENOMEM);
     797                        async_answer_0(icall_handle, ENOMEM);
    792798                        return;
    793799                }
     
    798804                fid = fibril_create(tcp_conn_fibril, cinfo);
    799805                if (fid == 0) {
    800                         async_answer_0(iid, ENOMEM);
     806                        async_answer_0(icall_handle, ENOMEM);
    801807                }
    802808
     
    804810        }
    805811
    806         async_answer_0(iid, EOK);
     812        async_answer_0(icall_handle, EOK);
    807813}
    808814
    809815/** Callback connection handler.
    810816 *
    811  * @param iid Connect call ID
    812  * @param icall Connect call data
    813  * @param arg Argument, TCP client
    814  */
    815 static void tcp_cb_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg)
     817 * @param icall_handle  Connect call handle
     818 * @param icall         Connect call data
     819 * @param arg           Argument, TCP client
     820 */
     821static void
     822tcp_cb_conn(cap_call_handle_t icall_handle, ipc_call_t *icall, void *arg)
    816823{
    817824        tcp_t *tcp = (tcp_t *)arg;
    818825
    819         async_answer_0(iid, EOK);
     826        async_answer_0(icall_handle, EOK);
    820827
    821828        while (true) {
    822829                ipc_call_t call;
    823                 ipc_callid_t callid = async_get_call(&call);
     830                cap_call_handle_t chandle = async_get_call(&call);
    824831
    825832                if (!IPC_GET_IMETHOD(call)) {
     
    830837                switch (IPC_GET_IMETHOD(call)) {
    831838                case TCP_EV_CONNECTED:
    832                         tcp_ev_connected(tcp, callid, &call);
     839                        tcp_ev_connected(tcp, chandle, &call);
    833840                        break;
    834841                case TCP_EV_CONN_FAILED:
    835                         tcp_ev_conn_failed(tcp, callid, &call);
     842                        tcp_ev_conn_failed(tcp, chandle, &call);
    836843                        break;
    837844                case TCP_EV_CONN_RESET:
    838                         tcp_ev_conn_reset(tcp, callid, &call);
     845                        tcp_ev_conn_reset(tcp, chandle, &call);
    839846                        break;
    840847                case TCP_EV_DATA:
    841                         tcp_ev_data(tcp, callid, &call);
     848                        tcp_ev_data(tcp, chandle, &call);
    842849                        break;
    843850                case TCP_EV_URG_DATA:
    844                         tcp_ev_urg_data(tcp, callid, &call);
     851                        tcp_ev_urg_data(tcp, chandle, &call);
    845852                        break;
    846853                case TCP_EV_NEW_CONN:
    847                         tcp_ev_new_conn(tcp, callid, &call);
     854                        tcp_ev_new_conn(tcp, chandle, &call);
    848855                        break;
    849856                default:
    850                         async_answer_0(callid, ENOTSUP);
     857                        async_answer_0(chandle, ENOTSUP);
    851858                        break;
    852859                }
Note: See TracChangeset for help on using the changeset viewer.