ipc.h File Reference

#include <sys/types.h>
#include <ipc/common.h>
#include <kernel/synch/synch.h>
#include <task.h>

Go to the source code of this file.

Defines

#define ipc_answer_0(callid, retval)   ipc_answer_fast((callid), (retval), 0, 0, 0, 0)
#define ipc_answer_1(callid, retval, arg1)   ipc_answer_fast((callid), (retval), (arg1), 0, 0, 0)
#define ipc_answer_2(callid, retval, arg1, arg2)   ipc_answer_fast((callid), (retval), (arg1), (arg2), 0, 0)
#define ipc_answer_3(callid, retval, arg1, arg2, arg3)   ipc_answer_fast((callid), (retval), (arg1), (arg2), (arg3), 0)
#define ipc_answer_4(callid, retval, arg1, arg2, arg3, arg4)   ipc_answer_fast((callid), (retval), (arg1), (arg2), (arg3), (arg4))
#define ipc_answer_5(callid, retval, arg1, arg2, arg3, arg4, arg5)   ipc_answer_slow((callid), (retval), (arg1), (arg2), (arg3), (arg4), (arg5))
#define ipc_call_async_0(phoneid, method, private, callback, can_preempt)
#define ipc_call_async_1(phoneid, method, arg1, private, callback, can_preempt)
#define ipc_call_async_2(phoneid, method, arg1, arg2, private, callback, can_preempt)
#define ipc_call_async_3(phoneid, method, arg1, arg2, arg3, private, callback, can_preempt)
#define ipc_call_async_4(phoneid, method, arg1, arg2, arg3, arg4, private, callback, can_preempt)
#define ipc_call_async_5(phoneid, method, arg1, arg2, arg3, arg4, arg5, private, callback, can_preempt)
#define ipc_call_sync_0_0(phoneid, method)   ipc_call_sync_fast((phoneid), (method), 0, 0, 0, 0, 0, 0, 0, 0)
#define ipc_call_sync_0_1(phoneid, method, res1)   ipc_call_sync_fast((phoneid), (method), 0, 0, 0, (res1), 0, 0, 0, 0)
#define ipc_call_sync_0_2(phoneid, method, res1, res2)   ipc_call_sync_fast((phoneid), (method), 0, 0, 0, (res1), (res2), 0, 0, 0)
#define ipc_call_sync_0_3(phoneid, method, res1, res2, res3)
#define ipc_call_sync_0_4(phoneid, method, res1, res2, res3, res4)
#define ipc_call_sync_0_5(phoneid, method, res1, res2, res3, res4, res5)
#define ipc_call_sync_1_0(phoneid, method, arg1)   ipc_call_sync_fast((phoneid), (method), (arg1), 0, 0, 0, 0, 0, 0, 0)
#define ipc_call_sync_1_1(phoneid, method, arg1, res1)   ipc_call_sync_fast((phoneid), (method), (arg1), 0, 0, (res1), 0, 0, 0, 0)
#define ipc_call_sync_1_2(phoneid, method, arg1, res1, res2)
#define ipc_call_sync_1_3(phoneid, method, arg1, res1, res2, res3)
#define ipc_call_sync_1_4(phoneid, method, arg1, res1, res2, res3, res4)
#define ipc_call_sync_1_5(phoneid, method, arg1, res1, res2, res3, res4, res5)
#define ipc_call_sync_2_0(phoneid, method, arg1, arg2)
#define ipc_call_sync_2_1(phoneid, method, arg1, arg2, res1)
#define ipc_call_sync_2_2(phoneid, method, arg1, arg2, res1, res2)
#define ipc_call_sync_2_3(phoneid, method, arg1, arg2, res1, res2, res3)
#define ipc_call_sync_2_4(phoneid, method, arg1, arg2, res1, res2, res3, res4)
#define ipc_call_sync_2_5(phoneid, method, arg1, arg2, res1, res2, res3, res4, res5)
#define ipc_call_sync_3_0(phoneid, method, arg1, arg2, arg3)
#define ipc_call_sync_3_1(phoneid, method, arg1, arg2, arg3, res1)
#define ipc_call_sync_3_2(phoneid, method, arg1, arg2, arg3, res1, res2)
#define ipc_call_sync_3_3(phoneid, method, arg1, arg2, arg3, res1, res2, res3)
#define ipc_call_sync_3_4(phoneid, method, arg1, arg2, arg3, res1, res2, res3, res4)
#define ipc_call_sync_3_5(phoneid, method, arg1, arg2, arg3, res1, res2, res3, res4, res5)
#define ipc_call_sync_4_0(phoneid, method, arg1, arg2, arg3, arg4)
#define ipc_call_sync_4_1(phoneid, method, arg1, arg2, arg3, arg4, res1)
#define ipc_call_sync_4_2(phoneid, method, arg1, arg2, arg3, arg4, res1, res2)
#define ipc_call_sync_4_3(phoneid, method, arg1, arg2, arg3, arg4, res1, res2, res3)
#define ipc_call_sync_4_4(phoneid, method, arg1, arg2, arg3, arg4, res1, res2, res3, res4)
#define ipc_call_sync_4_5(phoneid, method, arg1, arg2, arg3, arg4, res1, res2, res3, res4, res5)
#define ipc_call_sync_5_0(phoneid, method, arg1, arg2, arg3, arg4, arg5)
#define ipc_call_sync_5_1(phoneid, method, arg1, arg2, arg3, arg4, arg5, res1)
#define ipc_call_sync_5_2(phoneid, method, arg1, arg2, arg3, arg4, arg5, res1, res2)
#define ipc_call_sync_5_3(phoneid, method, arg1, arg2, arg3, arg4, arg5, res1, res2, res3)
#define ipc_call_sync_5_4(phoneid, method, arg1, arg2, arg3, arg4, arg5, res1, res2, res3, res4)
#define ipc_call_sync_5_5(phoneid, method, arg1, arg2, arg3, arg4, arg5, res1, res2, res3, res4, res5)
#define ipc_share_in_start_0_0(phoneid, dst, size)   ipc_share_in_start((phoneid), (dst), (size), 0, NULL)
#define ipc_share_in_start_0_1(phoneid, dst, size, flags)   ipc_share_in_start((phoneid), (dst), (size), 0, (flags))
#define ipc_share_in_start_1_0(phoneid, dst, size, arg)   ipc_share_in_start((phoneid), (dst), (size), (arg), NULL)
#define ipc_share_in_start_1_1(phoneid, dst, size, arg, flags)   ipc_share_in_start((phoneid), (dst), (size), (arg), (flags))
#define ipc_wait_for_call(data)   ipc_wait_for_call_timeout(data, SYNCH_NO_TIMEOUT);

Typedefs

typedef void(*) ipc_async_callback_t (void *, int, ipc_call_t *)

Functions

sysarg_t ipc_answer_fast (ipc_callid_t callid, sysarg_t retval, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4)
 Answer received call (fast version).
sysarg_t ipc_answer_slow (ipc_callid_t callid, sysarg_t retval, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5)
 Answer received call (entire payload).
void ipc_call_async_fast (int phoneid, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, void *private, ipc_async_callback_t callback, bool can_preempt)
 Fast asynchronous call.
void ipc_call_async_slow (int phoneid, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, void *private, ipc_async_callback_t callback, bool can_preempt)
 Asynchronous call transmitting the entire payload.
int ipc_call_sync_fast (int phoneid, sysarg_t method, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t *result1, sysarg_t *result2, sysarg_t *result3, sysarg_t *result4, sysarg_t *result5)
 Fast synchronous call.
int ipc_call_sync_slow (int phoneid, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *result1, sysarg_t *result2, sysarg_t *result3, sysarg_t *result4, sysarg_t *result5)
 Synchronous call transmitting 5 arguments of payload.
int ipc_connect_kbox (task_id_t id)
 Connect to a task specified by id.
int ipc_connect_me_to (int phoneid, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3)
 Request new connection.
int ipc_connect_me_to_blocking (int phoneid, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3)
 Request new connection (blocking).
int ipc_connect_to_me (int phoneid, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t *taskhash, sysarg_t *phonehash)
 Request callback connection.
int ipc_data_read_finalize (ipc_callid_t callid, const void *src, size_t size)
 Wrapper for answering the IPC_M_DATA_READ calls.
int ipc_data_read_start (int phoneid, void *dst, size_t size)
 Wrapper for IPC_M_DATA_READ calls.
int ipc_data_write_finalize (ipc_callid_t callid, void *dst, size_t size)
 Wrapper for answering the IPC_M_DATA_WRITE calls.
int ipc_data_write_start (int phoneid, const void *src, size_t size)
 Wrapper for IPC_M_DATA_WRITE calls.
int ipc_forward_fast (ipc_callid_t callid, int phoneid, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, unsigned int mode)
 Forward a received call to another destination.
int ipc_forward_slow (ipc_callid_t callid, int phoneid, sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, unsigned int mode)
int ipc_hangup (int phoneid)
 Hang up a phone.
void ipc_poke (void)
 Interrupt one thread of this task from waiting for IPC.
int ipc_share_in_finalize (ipc_callid_t callid, void *src, unsigned int flags)
 Wrapper for answering the IPC_M_SHARE_IN calls.
int ipc_share_in_start (int phoneid, void *dst, size_t size, sysarg_t arg, unsigned int *flags)
 Wrapper for IPC_M_SHARE_IN calls.
int ipc_share_out_finalize (ipc_callid_t callid, void *dst)
 Wrapper for answering the IPC_M_SHARE_OUT calls.
int ipc_share_out_start (int phoneid, void *src, unsigned int flags)
 Wrapper for IPC_M_SHARE_OUT calls.
ipc_callid_t ipc_trywait_for_call (ipc_call_t *call)
 Check if there is an IPC call waiting to be picked up.
ipc_callid_t ipc_wait_cycle (ipc_call_t *call, sysarg_t usec, unsigned int flags)
 Wait for first IPC call to come.
ipc_callid_t ipc_wait_for_call_timeout (ipc_call_t *call, sysarg_t usec)
 Wait for first IPC call to come.


Detailed Description

Definition in file ipc.h.


Generated on Thu Jun 2 07:45:53 2011 for HelenOS/USB by  doxygen 1.4.7