#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. |
Definition in file ipc.h.