43,36 → 43,36 |
#include <ipc/services.h> |
|
/** Converts the data length between different types. |
* @param type_from The source type. Input parameter. |
* @param type_to The destination type. Input parameter. |
* @param count The number units of the source type size. Input parameter. |
* @param[in] type_from The source type. |
* @param[in] type_to The destination type. |
* @param[in] count The number units of the source type size. |
*/ |
#define CONVERT_SIZE( type_from, type_to, count ) (( sizeof( type_from ) / sizeof( type_to )) * ( count )) |
|
/** Registers the module service at the name server. |
* @param me The module service. Input parameter. |
* @param phonehash The created phone hash. Output parameter. |
* @param[in] me The module service. |
* @param[out] phonehash The created phone hash. |
*/ |
#define REGISTER_ME( me, phonehash ) ipc_connect_to_me( PHONE_NS, ( me ), 0, 0, ( phonehash )) |
|
/** Connect to the needed module function type definition. |
* @param need The needed module service. Input parameter. |
* @param[in] need The needed module service. |
* @returns The phone of the needed service. |
*/ |
typedef int connect_module_t( services_t need ); |
|
/** Connects to the needed module. |
* @param need The needed module service. Input parameter. |
* @param[in] need The needed module service. |
* @returns The phone of the needed service. |
*/ |
int connect_to_service( services_t need ); |
|
/** Creates bidirectional connection with the needed module service and registers the message receiver. |
* @param need The needed module service. Input parameter. |
* @param arg1 The first parameter. Input parameter. |
* @param arg2 The second parameter. Input parameter. |
* @param arg3 The third parameter. Input parameter. |
* @param client_receiver The message receiver. Input parameter. |
* @param[in] need The needed module service. |
* @param[in] arg1 The first parameter. |
* @param[in] arg2 The second parameter. |
* @param[in] arg3 The third parameter. |
* @param[in] client_receiver The message receiver. |
* @returns The phone of the needed service. |
* @returns Other error codes as defined for the ipc_connect_to_me() function. |
*/ |
79,24 → 79,24 |
int bind_service( services_t need, ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3, async_client_conn_t client_receiver ); |
|
/** Answers the call. |
* @param callid The call identifier. Input parameter. |
* @param result The message processing result. Input parameter. |
* @param answer The message processing answer. Input parameter. |
* @param answer_count The number of answer parameters. Input parameter. |
* @param[in] callid The call identifier. |
* @param[in] result The message processing result. |
* @param[in] answer The message processing answer. |
* @param[in] answer_count The number of answer parameters. |
*/ |
void answer_call( ipc_callid_t callid, int result, ipc_call_t * answer, int answer_count ); |
|
/** Refreshes answer structure and parameters count. |
* Erases all attributes. |
* @param answer The message processing answer structure. Input/output parameter. |
* @param answer_count The number of answer parameters. Input/output parameter. |
* @param[in,out] answer The message processing answer structure. |
* @param[in,out] answer_count The number of answer parameters. |
*/ |
void refresh_answer( ipc_call_t * answer, int * answer_count ); |
|
/** Receives data from the other party. |
* The received data buffer is allocated and returned. |
* @param data The data buffer to be filled. Output parameter. |
* @param length The buffer length. Output parameter. |
* @param[out] data The data buffer to be filled. |
* @param[out] length The buffer length. |
* @returns EOK on success. |
* @returns EBADMEM if the data or the length parameter is NULL. |
* @returns EINVAL if the client does not send data. |
106,8 → 106,8 |
int data_receive( void ** data, size_t * length ); |
|
/** Replies the data to the other party. |
* @param data The data buffer to be sent. Input parameter. |
* @param data_length The buffer length. Input parameter. |
* @param[in] data The data buffer to be sent. |
* @param[in] data_length The buffer length. |
* @returns EOK on success. |
* @returns EINVAL if the client does not expect the data. |
* @returns EOVERFLOW if the client does not expect all the data. Only partial data are transfered. |