Changeset 984a9ba in mainline for uspace/lib/c/generic/inet/tcp.c
- Timestamp:
- 2018-07-05T09:34:09Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 63d46341
- Parents:
- 76f566d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/inet/tcp.c
r76f566d r984a9ba 41 41 #include <stdlib.h> 42 42 43 static void tcp_cb_conn( cap_call_handle_t,ipc_call_t *, void *);43 static void tcp_cb_conn(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 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) 635 * @param tcp TCP client 636 * @param icall Call data 637 * 638 */ 639 static void tcp_ev_connected(tcp_t *tcp, ipc_call_t *icall) 641 640 { 642 641 tcp_conn_t *conn; … … 648 647 rc = tcp_conn_get(tcp, conn_id, &conn); 649 648 if (rc != EOK) { 650 async_answer_0(icall _handle, ENOENT);649 async_answer_0(icall, ENOENT); 651 650 return; 652 651 } … … 657 656 fibril_mutex_unlock(&conn->lock); 658 657 659 async_answer_0(icall _handle, EOK);658 async_answer_0(icall, EOK); 660 659 } 661 660 662 661 /** Connection failed event. 663 662 * 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) 663 * @param tcp TCP client 664 * @param icall Call data 665 * 666 */ 667 static void tcp_ev_conn_failed(tcp_t *tcp, ipc_call_t *icall) 671 668 { 672 669 tcp_conn_t *conn; … … 678 675 rc = tcp_conn_get(tcp, conn_id, &conn); 679 676 if (rc != EOK) { 680 async_answer_0(icall _handle, ENOENT);677 async_answer_0(icall, ENOENT); 681 678 return; 682 679 } … … 687 684 fibril_mutex_unlock(&conn->lock); 688 685 689 async_answer_0(icall _handle, EOK);686 async_answer_0(icall, EOK); 690 687 } 691 688 692 689 /** Connection reset event. 693 690 * 694 * @param tcp 695 * @param icall _handle Call handle696 * @param icall Call data697 */ 698 static void tcp_ev_conn_reset(tcp_t *tcp, cap_call_handle_t icall_handle,ipc_call_t *icall)691 * @param tcp TCP client 692 * @param icall Call data 693 * 694 */ 695 static void tcp_ev_conn_reset(tcp_t *tcp, ipc_call_t *icall) 699 696 { 700 697 tcp_conn_t *conn; … … 706 703 rc = tcp_conn_get(tcp, conn_id, &conn); 707 704 if (rc != EOK) { 708 async_answer_0(icall _handle, ENOENT);705 async_answer_0(icall, ENOENT); 709 706 return; 710 707 } … … 715 712 fibril_mutex_unlock(&conn->lock); 716 713 717 async_answer_0(icall _handle, EOK);714 async_answer_0(icall, EOK); 718 715 } 719 716 720 717 /** Data available event. 721 718 * 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) 719 * @param tcp TCP client 720 * @param icall Call data 721 * 722 */ 723 static void tcp_ev_data(tcp_t *tcp, ipc_call_t *icall) 728 724 { 729 725 tcp_conn_t *conn; … … 735 731 rc = tcp_conn_get(tcp, conn_id, &conn); 736 732 if (rc != EOK) { 737 async_answer_0(icall _handle, ENOENT);733 async_answer_0(icall, ENOENT); 738 734 return; 739 735 } … … 745 741 conn->cb->data_avail(conn); 746 742 747 async_answer_0(icall _handle, EOK);743 async_answer_0(icall, EOK); 748 744 } 749 745 750 746 /** Urgent data event. 751 747 * 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); 748 * @param tcp TCP client 749 * @param icall Call data 750 * 751 */ 752 static void tcp_ev_urg_data(tcp_t *tcp, ipc_call_t *icall) 753 { 754 async_answer_0(icall, ENOTSUP); 760 755 } 761 756 762 757 /** New connection event. 763 758 * 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) 759 * @param tcp TCP client 760 * @param icall Call data 761 * 762 */ 763 static void tcp_ev_new_conn(tcp_t *tcp, ipc_call_t *icall) 770 764 { 771 765 tcp_listener_t *lst; … … 782 776 rc = tcp_listener_get(tcp, lst_id, &lst); 783 777 if (rc != EOK) { 784 async_answer_0(icall _handle, ENOENT);778 async_answer_0(icall, ENOENT); 785 779 return; 786 780 } … … 788 782 rc = tcp_conn_new(tcp, conn_id, lst->cb, lst->cb_arg, &conn); 789 783 if (rc != EOK) { 790 async_answer_0(icall _handle, ENOMEM);784 async_answer_0(icall, ENOMEM); 791 785 return; 792 786 } … … 795 789 cinfo = calloc(1, sizeof(tcp_in_conn_t)); 796 790 if (cinfo == NULL) { 797 async_answer_0(icall _handle, ENOMEM);791 async_answer_0(icall, ENOMEM); 798 792 return; 799 793 } … … 804 798 fid = fibril_create(tcp_conn_fibril, cinfo); 805 799 if (fid == 0) { 806 async_answer_0(icall _handle, ENOMEM);800 async_answer_0(icall, ENOMEM); 807 801 } 808 802 … … 810 804 } 811 805 812 async_answer_0(icall _handle, EOK);806 async_answer_0(icall, EOK); 813 807 } 814 808 815 809 /** Callback connection handler. 816 810 * 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) 811 * @param icall Connect call data 812 * @param arg Argument, TCP client 813 * 814 */ 815 static void tcp_cb_conn(ipc_call_t *icall, void *arg) 823 816 { 824 817 tcp_t *tcp = (tcp_t *)arg; 825 818 826 async_answer_0(icall _handle, EOK);819 async_answer_0(icall, EOK); 827 820 828 821 while (true) { 829 822 ipc_call_t call; 830 cap_call_handle_t chandle =async_get_call(&call);823 async_get_call(&call); 831 824 832 825 if (!IPC_GET_IMETHOD(call)) { … … 837 830 switch (IPC_GET_IMETHOD(call)) { 838 831 case TCP_EV_CONNECTED: 839 tcp_ev_connected(tcp, chandle,&call);832 tcp_ev_connected(tcp, &call); 840 833 break; 841 834 case TCP_EV_CONN_FAILED: 842 tcp_ev_conn_failed(tcp, chandle,&call);835 tcp_ev_conn_failed(tcp, &call); 843 836 break; 844 837 case TCP_EV_CONN_RESET: 845 tcp_ev_conn_reset(tcp, chandle,&call);838 tcp_ev_conn_reset(tcp, &call); 846 839 break; 847 840 case TCP_EV_DATA: 848 tcp_ev_data(tcp, chandle,&call);841 tcp_ev_data(tcp, &call); 849 842 break; 850 843 case TCP_EV_URG_DATA: 851 tcp_ev_urg_data(tcp, chandle,&call);844 tcp_ev_urg_data(tcp, &call); 852 845 break; 853 846 case TCP_EV_NEW_CONN: 854 tcp_ev_new_conn(tcp, chandle,&call);847 tcp_ev_new_conn(tcp, &call); 855 848 break; 856 849 default: 857 async_answer_0( chandle, ENOTSUP);850 async_answer_0(&call, ENOTSUP); 858 851 break; 859 852 } 860 853 } 854 861 855 out: 862 856 fibril_mutex_lock(&tcp->lock);
Note:
See TracChangeset
for help on using the changeset viewer.