Changes in uspace/srv/net/tl/tcp/tcp_module.c [0578271:614d065] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tl/tcp/tcp_module.c
r0578271 r614d065 28 28 29 29 /** @addtogroup tcp 30 * @{30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * TCP standalone module implementation. 35 * Contains skeleton module functions mapping. 36 * The functions are used by the module skeleton as module specific entry 37 * points. 38 * @see module.c 34 * TCP standalone module implementation. 35 * Contains skeleton module functions mapping. 36 * The functions are used by the module skeleton as module specific entry points. 37 * @see module.c 39 38 */ 40 41 #include "tcp.h"42 #include "tcp_module.h"43 39 44 40 #include <async.h> 45 41 #include <stdio.h> 46 #include <err no.h>42 #include <err.h> 47 43 #include <ipc/ipc.h> 48 44 #include <ipc/services.h> … … 50 46 #include <net/ip_protocols.h> 51 47 #include <net/modules.h> 48 52 49 #include <net/packet.h> 53 50 #include <net_interface.h> 54 55 51 #include <ip_interface.h> 56 52 #include <tl_local.h> 57 53 58 /** TCP module global data. */ 59 extern tcp_globals_t tcp_globals; 54 #include "tcp.h" 55 #include "tcp_module.h" 60 56 57 /** TCP module global data. 58 */ 59 extern tcp_globals_t tcp_globals; 60 61 /** Starts the TCP module. 62 * Initializes the client connection serving function, initializes the module, registers the module service and starts the async manager, processing IPC messages in an infinite loop. 63 * @param[in] client_connection The client connection processing function. The module skeleton propagates its own one. 64 * @returns EOK on successful module termination. 65 * @returns Other error codes as defined for the tcp_initialize() function. 66 * @returns Other error codes as defined for the REGISTER_ME() macro function. 67 */ 61 68 int tl_module_start_standalone(async_client_conn_t client_connection) 62 69 { 63 ipcarg_t phonehash; 64 int rc; 65 70 ERROR_DECLARE; 71 66 72 async_set_client_connection(client_connection); 67 73 tcp_globals.net_phone = net_connect_module(); 68 69 rc = pm_init(); 70 if (rc != EOK) 71 return rc; 72 73 rc = tcp_initialize(client_connection); 74 if (rc != EOK) 75 goto out; 76 77 rc = REGISTER_ME(SERVICE_TCP, &phonehash); 78 if (rc != EOK) 79 goto out; 74 ERROR_PROPAGATE(pm_init()); 75 76 ipcarg_t phonehash; 77 if (ERROR_OCCURRED(tcp_initialize(client_connection)) 78 || ERROR_OCCURRED(REGISTER_ME(SERVICE_TCP, &phonehash))) { 79 pm_destroy(); 80 return ERROR_CODE; 81 } 80 82 81 83 async_manager(); 82 84 83 out:84 85 pm_destroy(); 85 return rc;86 return EOK; 86 87 } 87 88 88 int 89 tl_module_message_standalone(ipc_callid_t callid, ipc_call_t *call, 90 ipc_call_t *answer, int *answer_count) 91 { 89 /** Processes the TCP message. 90 * @param[in] callid The message identifier. 91 * @param[in] call The message parameters. 92 * @param[out] answer The message answer parameters. 93 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 94 * @returns EOK on success. 95 * @returns Other error codes as defined for the tcp_message() function. 96 */ 97 int tl_module_message_standalone(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 92 98 return tcp_message_standalone(callid, call, answer, answer_count); 93 99 }
Note:
See TracChangeset
for help on using the changeset viewer.