2
* Copyright (c) 2009 Lukas Mejdrech
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
9
* - Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* - Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
* - The name of the author may not be used to endorse or promote products
15
* derived from this software without specific prior written permission.
17
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
/** @addtogroup nildummy
34
* Dummy network interface layer module stub.
42
#include <ipc/services.h>
45
#include <net_modules.h>
46
#include <net_interface.h>
47
#include <packet/packet.h>
48
#include <nil_local.h>
52
/** Start the dummy nil module.
54
* Initialize the client connection serving function, initialize
55
* the module, register the module service and start the async
56
* manager, processing IPC messages in an infinite loop.
58
* @param[in] client_connection The client connection processing
59
* function. The module skeleton propagates
62
* @return EOK on success.
63
* @return Other error codes as defined for the pm_init() function.
64
* @return Other error codes as defined for the nil_initialize() function.
65
* @return Other error codes as defined for the REGISTER_ME() macro function.
68
int nil_module_start_standalone(async_client_conn_t client_connection)
72
async_set_client_connection(client_connection);
73
int net_phone = net_connect_module(SERVICE_NETWORKING);
74
ERROR_PROPAGATE(pm_init());
77
if (ERROR_OCCURRED(nil_initialize(net_phone))
78
|| ERROR_OCCURRED(REGISTER_ME(SERVICE_NILDUMMY, &phonehash))){
89
/** Pass the parameters to the module specific nil_message() function.
91
* @param[in] name Module name.
92
* @param[in] callid The message identifier.
93
* @param[in] call The message parameters.
94
* @param[out] answer The message answer parameters.
95
* @param[out] answer_count The last parameter for the actual answer
96
* in the answer parameter.
98
* @return EOK on success.
99
* @return ENOTSUP if the message is not known.
100
* @return Other error codes as defined for each specific
101
* module message function.
104
int nil_module_message_standalone(const char *name, ipc_callid_t callid,
105
ipc_call_t *call, ipc_call_t *answer, int *answer_count)
107
return nil_message_standalone(name, callid, call, answer, answer_count);