Changes in uspace/srv/net/tl/tcp/tcp.c [849ed54:e417b96] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tl/tcp/tcp.c
r849ed54 re417b96 46 46 #include <ipc/services.h> 47 47 48 #include <net_err.h> 49 #include <net_messages.h> 50 #include <net_modules.h> 51 #include <adt/dynamic_fifo.h> 52 #include <packet/packet_client.h> 53 #include <net_checksum.h> 54 #include <in.h> 55 #include <in6.h> 56 #include <inet.h> 57 #include <ip_client.h> 58 #include <ip_interface.h> 59 #include <ip_protocols.h> 60 #include <icmp_client.h> 61 #include <icmp_interface.h> 62 #include <net_interface.h> 63 #include <socket_codes.h> 64 #include <socket_errno.h> 65 #include <tcp_codes.h> 66 #include <socket_core.h> 67 #include <socket_messages.h> 68 #include <tl_common.h> 69 #include <tl_messages.h> 48 #include "../../err.h" 49 #include "../../messages.h" 50 #include "../../modules.h" 51 52 #include "../../structures/dynamic_fifo.h" 53 #include "../../structures/packet/packet_client.h" 54 55 #include "../../include/checksum.h" 56 #include "../../include/in.h" 57 #include "../../include/in6.h" 58 #include "../../include/inet.h" 59 #include "../../include/ip_client.h" 60 #include "../../include/ip_interface.h" 61 #include "../../include/ip_protocols.h" 62 #include "../../include/icmp_client.h" 63 #include "../../include/icmp_interface.h" 64 #include "../../include/net_interface.h" 65 #include "../../include/socket_codes.h" 66 #include "../../include/socket_errno.h" 67 #include "../../include/tcp_codes.h" 68 69 #include "../../socket/socket_core.h" 70 #include "../../socket/socket_messages.h" 71 72 #include "../tl_common.h" 73 #include "../tl_messages.h" 70 74 71 75 #include "tcp.h" 72 76 #include "tcp_header.h" 73 77 #include "tcp_module.h" 74 75 /** TCP module name.76 */77 #define NAME "TCP protocol"78 78 79 79 /** The TCP window default value. … … 1997 1997 } 1998 1998 1999 #ifdef CONFIG_NETWORKING_modular2000 2001 #include <tl_standalone.h>2002 2003 /** Default thread for new connections.2004 *2005 * @param[in] iid The initial message identifier.2006 * @param[in] icall The initial message call structure.2007 *2008 */2009 static void tl_client_connection(ipc_callid_t iid, ipc_call_t * icall)2010 {2011 /*2012 * Accept the connection2013 * - Answer the first IPC_M_CONNECT_ME_TO call.2014 */2015 ipc_answer_0(iid, EOK);2016 2017 while(true) {2018 ipc_call_t answer;2019 int answer_count;2020 2021 /* Clear the answer structure */2022 refresh_answer(&answer, &answer_count);2023 2024 /* Fetch the next message */2025 ipc_call_t call;2026 ipc_callid_t callid = async_get_call(&call);2027 2028 /* Process the message */2029 int res = tl_module_message(callid, &call, &answer, &answer_count);2030 2031 /* End if said to either by the message or the processing result */2032 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))2033 return;2034 2035 /* Answer the message */2036 answer_call(callid, res, &answer, answer_count);2037 }2038 }2039 2040 /** Starts the module.2041 *2042 * @param argc The count of the command line arguments. Ignored parameter.2043 * @param argv The command line parameters. Ignored parameter.2044 *2045 * @returns EOK on success.2046 * @returns Other error codes as defined for each specific module start function.2047 *2048 */2049 int main(int argc, char *argv[])2050 {2051 ERROR_DECLARE;2052 2053 /* Print the module label */2054 printf("Task %d - %s\n", task_get_id(), NAME);2055 2056 /* Start the module */2057 if (ERROR_OCCURRED(tl_module_start(tl_client_connection))) {2058 printf(" - ERROR %i\n", ERROR_CODE);2059 return ERROR_CODE;2060 }2061 2062 return EOK;2063 }2064 2065 #endif /* CONFIG_NETWORKING_modular */2066 2067 1999 /** @} 2068 2000 */
Note:
See TracChangeset
for help on using the changeset viewer.