Changes in uspace/lib/c/generic/inet/tcp.c [a35b458:b752a31] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/inet/tcp.c
ra35b458 rb752a31 41 41 #include <stdlib.h> 42 42 43 static void tcp_cb_conn( ipc_callid_t, ipc_call_t *, void *);43 static void tcp_cb_conn(cap_call_handle_t, ipc_call_t *, void *); 44 44 static errno_t tcp_conn_fibril(void *); 45 45 … … 633 633 /** Connection established event. 634 634 * 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 */ 639 static void 640 tcp_ev_connected(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall) 640 641 { 641 642 tcp_conn_t *conn; … … 647 648 rc = tcp_conn_get(tcp, conn_id, &conn); 648 649 if (rc != EOK) { 649 async_answer_0(i id, ENOENT);650 async_answer_0(icall_handle, ENOENT); 650 651 return; 651 652 } … … 656 657 fibril_mutex_unlock(&conn->lock); 657 658 658 async_answer_0(i id, EOK);659 async_answer_0(icall_handle, EOK); 659 660 } 660 661 661 662 /** Connection failed event. 662 663 * 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 */ 668 static void 669 tcp_ev_conn_failed(tcp_t *tcp, cap_call_handle_t icall_handle, 670 ipc_call_t *icall) 668 671 { 669 672 tcp_conn_t *conn; … … 675 678 rc = tcp_conn_get(tcp, conn_id, &conn); 676 679 if (rc != EOK) { 677 async_answer_0(i id, ENOENT);680 async_answer_0(icall_handle, ENOENT); 678 681 return; 679 682 } … … 684 687 fibril_mutex_unlock(&conn->lock); 685 688 686 async_answer_0(i id, EOK);689 async_answer_0(icall_handle, EOK); 687 690 } 688 691 689 692 /** Connection reset event. 690 693 * 691 * @param tcp TCP client692 * @param i id Call ID693 * @param icall Call data694 */ 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 */ 698 static void tcp_ev_conn_reset(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall) 696 699 { 697 700 tcp_conn_t *conn; … … 703 706 rc = tcp_conn_get(tcp, conn_id, &conn); 704 707 if (rc != EOK) { 705 async_answer_0(i id, ENOENT);708 async_answer_0(icall_handle, ENOENT); 706 709 return; 707 710 } … … 712 715 fibril_mutex_unlock(&conn->lock); 713 716 714 async_answer_0(i id, EOK);717 async_answer_0(icall_handle, EOK); 715 718 } 716 719 717 720 /** Data available event. 718 721 * 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 */ 726 static void 727 tcp_ev_data(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall) 724 728 { 725 729 tcp_conn_t *conn; … … 731 735 rc = tcp_conn_get(tcp, conn_id, &conn); 732 736 if (rc != EOK) { 733 async_answer_0(i id, ENOENT);737 async_answer_0(icall_handle, ENOENT); 734 738 return; 735 739 } … … 741 745 conn->cb->data_avail(conn); 742 746 743 async_answer_0(i id, EOK);747 async_answer_0(icall_handle, EOK); 744 748 } 745 749 746 750 /** Urgent data event. 747 751 * 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 */ 756 static void 757 tcp_ev_urg_data(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall) 758 { 759 async_answer_0(icall_handle, ENOTSUP); 755 760 } 756 761 757 762 /** New connection event. 758 763 * 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 */ 768 static void 769 tcp_ev_new_conn(tcp_t *tcp, cap_call_handle_t icall_handle, ipc_call_t *icall) 764 770 { 765 771 tcp_listener_t *lst; … … 776 782 rc = tcp_listener_get(tcp, lst_id, &lst); 777 783 if (rc != EOK) { 778 async_answer_0(i id, ENOENT);784 async_answer_0(icall_handle, ENOENT); 779 785 return; 780 786 } … … 782 788 rc = tcp_conn_new(tcp, conn_id, lst->cb, lst->cb_arg, &conn); 783 789 if (rc != EOK) { 784 async_answer_0(i id, ENOMEM);790 async_answer_0(icall_handle, ENOMEM); 785 791 return; 786 792 } … … 789 795 cinfo = calloc(1, sizeof(tcp_in_conn_t)); 790 796 if (cinfo == NULL) { 791 async_answer_0(i id, ENOMEM);797 async_answer_0(icall_handle, ENOMEM); 792 798 return; 793 799 } … … 798 804 fid = fibril_create(tcp_conn_fibril, cinfo); 799 805 if (fid == 0) { 800 async_answer_0(i id, ENOMEM);806 async_answer_0(icall_handle, ENOMEM); 801 807 } 802 808 … … 804 810 } 805 811 806 async_answer_0(i id, EOK);812 async_answer_0(icall_handle, EOK); 807 813 } 808 814 809 815 /** Callback connection handler. 810 816 * 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 */ 821 static void 822 tcp_cb_conn(cap_call_handle_t icall_handle, ipc_call_t *icall, void *arg) 816 823 { 817 824 tcp_t *tcp = (tcp_t *)arg; 818 825 819 async_answer_0(i id, EOK);826 async_answer_0(icall_handle, EOK); 820 827 821 828 while (true) { 822 829 ipc_call_t call; 823 ipc_callid_t callid= async_get_call(&call);830 cap_call_handle_t chandle = async_get_call(&call); 824 831 825 832 if (!IPC_GET_IMETHOD(call)) { … … 830 837 switch (IPC_GET_IMETHOD(call)) { 831 838 case TCP_EV_CONNECTED: 832 tcp_ev_connected(tcp, c allid, &call);839 tcp_ev_connected(tcp, chandle, &call); 833 840 break; 834 841 case TCP_EV_CONN_FAILED: 835 tcp_ev_conn_failed(tcp, c allid, &call);842 tcp_ev_conn_failed(tcp, chandle, &call); 836 843 break; 837 844 case TCP_EV_CONN_RESET: 838 tcp_ev_conn_reset(tcp, c allid, &call);845 tcp_ev_conn_reset(tcp, chandle, &call); 839 846 break; 840 847 case TCP_EV_DATA: 841 tcp_ev_data(tcp, c allid, &call);848 tcp_ev_data(tcp, chandle, &call); 842 849 break; 843 850 case TCP_EV_URG_DATA: 844 tcp_ev_urg_data(tcp, c allid, &call);851 tcp_ev_urg_data(tcp, chandle, &call); 845 852 break; 846 853 case TCP_EV_NEW_CONN: 847 tcp_ev_new_conn(tcp, c allid, &call);854 tcp_ev_new_conn(tcp, chandle, &call); 848 855 break; 849 856 default: 850 async_answer_0(c allid, ENOTSUP);857 async_answer_0(chandle, ENOTSUP); 851 858 break; 852 859 }
Note:
See TracChangeset
for help on using the changeset viewer.