Subversion Repositories HelenOS

Rev

Rev 4307 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4307 Rev 4350
Line 28... Line 28...
28
 
28
 
29
/** @addtogroup netif
29
/** @addtogroup netif
30
 *  @{
30
 *  @{
31
 */
31
 */
32
 
32
 
-
 
33
/** @file
-
 
34
 *  Wrapper for the bundled network interface and network interface layer module.
-
 
35
 *  Distributes messages and initializes both module parts.
-
 
36
 */
-
 
37
 
33
#include <async.h>
38
#include <async.h>
34
 
39
 
35
#include <ipc/ipc.h>
40
#include <ipc/ipc.h>
36
 
41
 
37
#include "../messages.h"
42
#include "../messages.h"
Line 40... Line 45...
40
 
45
 
41
#include "../nil/nil_module.h"
46
#include "../nil/nil_module.h"
42
 
47
 
43
#include "netif.h"
48
#include "netif.h"
44
 
49
 
-
 
50
/** Network interface module global data.
-
 
51
 */
45
extern netif_globals_t netif_globals;
52
extern netif_globals_t netif_globals;
46
 
53
 
-
 
54
/** Distributes the messages between the module parts.
-
 
55
 *  @param callid The message identifier. Input parameter.
-
 
56
 *  @param call The message parameters. Input parameter.
-
 
57
 *  @param answer The message answer parameters. Output parameter.
-
 
58
 *  @param answer_count The last parameter for the actual answer in the answer parameter. Output parameter.
-
 
59
 *  @returns EOK on success.
-
 
60
 *  @returns ENOTSUP if the message is not known.
-
 
61
 *  @returns Other error codes as defined for each specific module message function.
-
 
62
 */
47
int module_message( ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count );
63
int module_message( ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count );
-
 
64
 
-
 
65
/** Starts the bundle network interface module.
-
 
66
 *  Initializes the client connection serving function, initializes both module parts, registers the module service and starts the async manager, processing IPC messages in an infinite loop.
-
 
67
 *  @param client_connection The client connection processing function. The module skeleton propagates its own one. Input parameter.
-
 
68
 *  @returns EOK on success.
-
 
69
 *  @returns Other error codes as defined for each specific module message function.
-
 
70
 */
48
int module_start( async_client_conn_t client_connection );
71
int module_start( async_client_conn_t client_connection );
49
 
72
 
50
int module_message( ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count ){
73
int module_message( ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count ){
51
    if( IS_NET_NIL_MESSAGE( call ) || ( IPC_GET_METHOD( * call ) == IPC_M_CONNECT_TO_ME )){
74
    if( IS_NET_NIL_MESSAGE( call ) || ( IPC_GET_METHOD( * call ) == IPC_M_CONNECT_TO_ME )){
52
        return nil_message( callid, call, answer, answer_count );
75
        return nil_message( callid, call, answer, answer_count );