Subversion Repositories HelenOS

Rev

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

Rev 4307 Rev 4350
Line 29... Line 29...
29
/** @addtogroup net
29
/** @addtogroup net
30
 *  @{
30
 *  @{
31
 */
31
 */
32
 
32
 
33
/** @file
33
/** @file
-
 
34
 *  Generic module functions.
34
 */
35
 */
35
 
36
 
36
#ifndef __NET_MODULES_H__
37
#ifndef __NET_MODULES_H__
37
#define __NET_MODULES_H__
38
#define __NET_MODULES_H__
38
 
39
 
Line 46... Line 47...
46
 *  @param type_to The destination type. Input parameter.
47
 *  @param type_to The destination type. Input parameter.
47
 *  @param count The number units of the source type size. Input parameter.
48
 *  @param count The number units of the source type size. Input parameter.
48
 */
49
 */
49
#define CONVERT_SIZE( type_from, type_to, count )   (( sizeof( type_from ) / sizeof( type_to )) * ( count ))
50
#define CONVERT_SIZE( type_from, type_to, count )   (( sizeof( type_from ) / sizeof( type_to )) * ( count ))
50
 
51
 
-
 
52
/** Registers the module service at the name server.
-
 
53
 *  @param me The module service. Input parameter.
-
 
54
 *  @param phonehash The created phone hash. Output parameter.
-
 
55
 */
51
#define REGISTER_ME( me, phonehash )    ipc_connect_to_me( PHONE_NS, ( me ), 0, 0, ( phonehash ))
56
#define REGISTER_ME( me, phonehash )    ipc_connect_to_me( PHONE_NS, ( me ), 0, 0, ( phonehash ))
52
 
57
 
-
 
58
/** Connect to the needed module function type definition.
-
 
59
 *  @param need The needed module service. Input parameter.
-
 
60
 *  @returns The phone of the needed service.
-
 
61
 */
53
typedef int connect_module_t( services_t need );
62
typedef int connect_module_t( services_t need );
54
 
63
 
-
 
64
/** Connects to the needed module.
-
 
65
 *  @param need The needed module service. Input parameter.
-
 
66
 *  @returns The phone of the needed service.
-
 
67
 */
55
connect_module_t    connect_to_service;
68
int connect_to_service( services_t need );
-
 
69
 
-
 
70
/** Creates bidirectional connection with the needed module service and registers the message receiver.
-
 
71
 *  @param need The needed module service. Input parameter.
-
 
72
 *  @param arg1 The first parameter. Input parameter.
-
 
73
 *  @param arg2 The second parameter. Input parameter.
-
 
74
 *  @param arg3 The third parameter. Input parameter.
-
 
75
 *  @param client_receiver The message receiver. Input parameter.
-
 
76
 *  @returns The phone of the needed service.
-
 
77
 *  @returns Other error codes as defined for the ipc_connect_to_me() function.
-
 
78
 */
56
int bind_service( services_t need, ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3, async_client_conn_t client_receiver );
79
int bind_service( services_t need, ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3, async_client_conn_t client_receiver );
57
 
80
 
58
#endif
81
#endif
59
 
82
 
60
/** @}
83
/** @}