async.c File Reference

Include dependency graph for async.c:

Go to the source code of this file.

Data Structures

struct  awaiter_t
struct  amsg_t
struct  msg_t
struct  connection_t

Defines

#define CONN_HASH_TABLE_CHAINS   32

Functions

static LIST_INITIALIZE (timeout_list)
static void default_client_connection (ipc_callid_t callid, ipc_call_t *call)
static void default_interrupt_received (ipc_callid_t callid, ipc_call_t *call)
static void tv_add (struct timeval *tv, suseconds_t usecs)
static suseconds_t tv_sub (struct timeval *tv1, struct timeval *tv2)
static int tv_gt (struct timeval *tv1, struct timeval *tv2)
static int tv_gteq (struct timeval *tv1, struct timeval *tv2)
static hash_index_t conn_hash (unsigned long *key)
static int conn_compare (unsigned long key[], hash_count_t keys, link_t *item)
static void conn_remove (link_t *item)
static void insert_timeout (awaiter_t *wd)
static int route_call (ipc_callid_t callid, ipc_call_t *call)
ipc_callid_t async_get_call_timeout (ipc_call_t *call, suseconds_t usecs)
static int connection_thread (void *arg)
pstid_t async_new_connection (ipcarg_t in_phone_hash, ipc_callid_t callid, ipc_call_t *call, void(*cthread)(ipc_callid_t, ipc_call_t *))
static void handle_call (ipc_callid_t callid, ipc_call_t *call)
static void handle_expired_timeouts (void)
static int async_manager_worker (void)
static int async_manager_thread (void *arg)
void async_create_manager (void)
void async_destroy_manager (void)
int _async_init (void)
static void reply_received (void *private, int retval, ipc_call_t *data)
aid_t async_send_2 (int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2, ipc_call_t *dataptr)
aid_t async_send_3 (int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3, ipc_call_t *dataptr)
void async_wait_for (aid_t amsgid, ipcarg_t *result)
int async_wait_timeout (aid_t amsgid, ipcarg_t *retval, suseconds_t timeout)
void async_usleep (suseconds_t timeout)
void async_set_client_connection (async_client_conn_t conn)
void async_set_interrupt_received (async_client_conn_t conn)
void async_msg_3 (int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3)
void async_msg_2 (int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2)

Variables

atomic_t async_futex = FUTEX_INITIALIZER
static hash_table_t conn_hash_table
__thread connection_tPS_connection
__thread int in_interrupt_handler
static async_client_conn_t client_connection = default_client_connection
static async_client_conn_t interrupt_received = default_interrupt_received
static hash_table_operations_t conn_hash_table_ops


Detailed Description

Definition in file async.c.


Generated on Sun Jun 18 18:00:25 2006 for HelenOS Userspace (ia64) by  doxygen 1.4.6