Changes in uspace/srv/net/il/arp/arp_module.c [fb04cba8:14f1db0] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/il/arp/arp_module.c
rfb04cba8 r14f1db0 32 32 33 33 /** @file 34 * ARP 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 * ARP 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 39 41 40 #include <async.h> 42 41 #include <stdio.h> 43 #include <errno.h>44 42 45 43 #include <ipc/ipc.h> 46 44 #include <ipc/services.h> 47 45 48 #include <net/modules.h> 46 #include <net_err.h> 47 #include <net_modules.h> 49 48 #include <net_interface.h> 50 #include < net/packet.h>49 #include <packet/packet.h> 51 50 #include <il_local.h> 52 51 … … 54 53 #include "arp_module.h" 55 54 56 /** ARP module global data. */ 57 extern arp_globals_t arp_globals; 55 /** ARP module global data. 56 */ 57 extern arp_globals_t arp_globals; 58 58 59 int il_module_message_standalone(ipc_callid_t callid, ipc_call_t *call, 60 ipc_call_t *answer, int *answer_count) 61 { 59 /** Processes the ARP message. 60 * @param[in] callid The message identifier. 61 * @param[in] call The message parameters. 62 * @param[out] answer The message answer parameters. 63 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 64 * @returns EOK on success. 65 * @returns Other error codes as defined for the arp_message() function. 66 */ 67 int il_module_message_standalone(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 62 68 return arp_message_standalone(callid, call, answer, answer_count); 63 69 } 64 70 65 int il_module_start_standalone(async_client_conn_t client_connection) 66 { 67 ipcarg_t phonehash; 68 int rc; 71 /** Starts the ARP module. 72 * 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. 73 * @param[in] client_connection The client connection processing function. The module skeleton propagates its own one. 74 * @returns EOK on successful module termination. 75 * @returns Other error codes as defined for the arp_initialize() function. 76 * @returns Other error codes as defined for the REGISTER_ME() macro function. 77 */ 78 int il_module_start_standalone(async_client_conn_t client_connection){ 79 ERROR_DECLARE; 69 80 70 81 async_set_client_connection(client_connection); 71 arp_globals.net_phone = net_connect_module(); 82 arp_globals.net_phone = net_connect_module(SERVICE_NETWORKING); 83 ERROR_PROPAGATE(pm_init()); 72 84 73 rc = pm_init(); 74 if (rc != EOK) 75 return rc; 76 77 rc = arp_initialize(client_connection); 78 if (rc != EOK) 79 goto out; 80 81 rc = REGISTER_ME(SERVICE_ARP, &phonehash); 82 if (rc != EOK) 83 goto out; 85 ipcarg_t phonehash; 86 if (ERROR_OCCURRED(arp_initialize(client_connection)) 87 || ERROR_OCCURRED(REGISTER_ME(SERVICE_ARP, &phonehash))) { 88 pm_destroy(); 89 return ERROR_CODE; 90 } 84 91 85 92 async_manager(); 86 87 out: 93 88 94 pm_destroy(); 89 return rc;95 return EOK; 90 96 } 91 97
Note:
See TracChangeset
for help on using the changeset viewer.