Changes in uspace/srv/net/tl/udp/udp.c [e417b96:849ed54] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tl/udp/udp.c
re417b96 r849ed54 40 40 #include <malloc.h> 41 41 #include <stdio.h> 42 43 42 #include <ipc/ipc.h> 44 43 #include <ipc/services.h> 45 44 46 #include "../../err.h" 47 #include "../../messages.h" 48 #include "../../modules.h" 49 50 #include "../../structures/dynamic_fifo.h" 51 #include "../../structures/packet/packet_client.h" 52 53 #include "../../include/checksum.h" 54 #include "../../include/in.h" 55 #include "../../include/in6.h" 56 #include "../../include/inet.h" 57 #include "../../include/ip_client.h" 58 #include "../../include/ip_interface.h" 59 #include "../../include/ip_protocols.h" 60 #include "../../include/icmp_client.h" 61 #include "../../include/icmp_interface.h" 62 #include "../../include/net_interface.h" 63 #include "../../include/socket_codes.h" 64 #include "../../include/socket_errno.h" 65 66 #include "../../socket/socket_core.h" 67 #include "../../socket/socket_messages.h" 68 69 #include "../tl_common.h" 70 #include "../tl_messages.h" 45 #include <net_err.h> 46 #include <net_messages.h> 47 #include <net_modules.h> 48 #include <adt/dynamic_fifo.h> 49 #include <packet/packet_client.h> 50 #include <net_checksum.h> 51 #include <in.h> 52 #include <in6.h> 53 #include <inet.h> 54 #include <ip_client.h> 55 #include <ip_interface.h> 56 #include <ip_protocols.h> 57 #include <icmp_client.h> 58 #include <icmp_interface.h> 59 #include <net_interface.h> 60 #include <socket_codes.h> 61 #include <socket_errno.h> 62 #include <socket_core.h> 63 #include <socket_messages.h> 64 #include <tl_common.h> 65 #include <tl_messages.h> 71 66 72 67 #include "udp.h" 73 68 #include "udp_header.h" 74 69 #include "udp_module.h" 70 71 /** UDP module name. 72 */ 73 #define NAME "UDP protocol" 75 74 76 75 /** Default UDP checksum computing. … … 700 699 } 701 700 701 #ifdef CONFIG_NETWORKING_modular 702 703 #include <tl_standalone.h> 704 705 /** Default thread for new connections. 706 * 707 * @param[in] iid The initial message identifier. 708 * @param[in] icall The initial message call structure. 709 * 710 */ 711 static void tl_client_connection(ipc_callid_t iid, ipc_call_t * icall) 712 { 713 /* 714 * Accept the connection 715 * - Answer the first IPC_M_CONNECT_ME_TO call. 716 */ 717 ipc_answer_0(iid, EOK); 718 719 while(true) { 720 ipc_call_t answer; 721 int answer_count; 722 723 /* Clear the answer structure */ 724 refresh_answer(&answer, &answer_count); 725 726 /* Fetch the next message */ 727 ipc_call_t call; 728 ipc_callid_t callid = async_get_call(&call); 729 730 /* Process the message */ 731 int res = tl_module_message(callid, &call, &answer, &answer_count); 732 733 /* End if said to either by the message or the processing result */ 734 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP)) 735 return; 736 737 /* Answer the message */ 738 answer_call(callid, res, &answer, answer_count); 739 } 740 } 741 742 /** Starts the module. 743 * 744 * @param argc The count of the command line arguments. Ignored parameter. 745 * @param argv The command line parameters. Ignored parameter. 746 * 747 * @returns EOK on success. 748 * @returns Other error codes as defined for each specific module start function. 749 * 750 */ 751 int main(int argc, char *argv[]) 752 { 753 ERROR_DECLARE; 754 755 /* Print the module label */ 756 printf("Task %d - %s\n", task_get_id(), NAME); 757 758 /* Start the module */ 759 if (ERROR_OCCURRED(tl_module_start(tl_client_connection))) { 760 printf(" - ERROR %i\n", ERROR_CODE); 761 return ERROR_CODE; 762 } 763 764 return EOK; 765 } 766 767 #endif /* CONFIG_NETWORKING_modular */ 768 702 769 /** @} 703 770 */
Note:
See TracChangeset
for help on using the changeset viewer.