|
Data Structures |
| struct | cs_req_t |
| | Request for connection to a clonable service. More...
|
| struct | hashed_service_t |
| | Service hash table item. More...
|
| struct | hashed_task_t |
| | Task hash table item. More...
|
| struct | p2i_entry_t |
| struct | pending_conn_t |
| | Pending connection structure. More...
|
| struct | pending_wait_t |
| | Pending task wait structure. More...
|
Defines |
|
#define | NAME "ns" |
|
#define | P2I_HASH_TABLE_CHAINS 256 |
|
#define | SERVICE_HASH_TABLE_CHAINS 20 |
|
#define | TASK_HASH_TABLE_CHAINS 256 |
Functions |
|
int | clonable_init (void) |
| void | connect_to_clonable (sysarg_t service, ipc_call_t *call, ipc_callid_t callid) |
| | Connect client to clonable service.
|
| void | connect_to_service (sysarg_t service, ipc_call_t *call, ipc_callid_t callid) |
| | Connect client to service.
|
|
static int | get_id_by_phone (sysarg_t phone_hash, task_id_t *id) |
|
int | main (int argc, char **argv) |
|
int | ns_task_disconnect (ipc_call_t *call) |
|
int | ns_task_id_intro (ipc_call_t *call) |
|
int | ns_task_retval (ipc_call_t *call) |
| static int | p2i_compare (unsigned long key[], hash_count_t keys, link_t *item) |
| | Compare a key with hashed item.
|
| static hash_index_t | p2i_hash (unsigned long key[]) |
| | Compute hash index into task hash table.
|
| static void | p2i_remove (link_t *item) |
| | Perform actions after removal of item from the hash table.
|
|
void | process_pending_conn (void) |
| | Process pending connection requests.
|
|
void | process_pending_wait (void) |
| | Process pending wait requests.
|
| void | register_clonable (sysarg_t service, sysarg_t phone, ipc_call_t *call, ipc_callid_t callid) |
| | Register clonable service.
|
| int | register_service (sysarg_t service, sysarg_t phone, ipc_call_t *call) |
| | Register service.
|
|
bool | service_clonable (int service) |
| | Return true if service is clonable.
|
| static int | service_compare (unsigned long key[], hash_count_t keys, link_t *item) |
| | Compare a key with hashed item.
|
| static hash_index_t | service_hash (unsigned long key[]) |
| | Compute hash index into service hash table.
|
|
int | service_init (void) |
| static void | service_remove (link_t *item) |
| | Perform actions after removal of item from the hash table.
|
| static int | task_compare (unsigned long key[], hash_count_t keys, link_t *item) |
| | Compare a key with hashed item.
|
| static hash_index_t | task_hash (unsigned long key[]) |
| | Compute hash index into task hash table.
|
|
int | task_init (void) |
| static void | task_remove (link_t *item) |
| | Perform actions after removal of item from the hash table.
|
|
void | wait_for_task (task_id_t id, ipc_call_t *call, ipc_callid_t callid) |
Variables |
|
static link_t | cs_req |
| | List of clonable-service connection requests.
|
|
static hash_table_operations_t | p2i_ops |
| | Operations for task hash table.
|
|
static link_t | pending_conn |
|
static link_t | pending_wait |
|
static hash_table_t | phone_to_id |
| | Map phone hash to task ID.
|
|
static hash_table_t | service_hash_table |
| | Service hash table structure.
|
|
static hash_table_operations_t | service_hash_table_ops |
| | Operations for service hash table.
|
|
static hash_table_t | task_hash_table |
| | Task hash table structure.
|
|
static hash_table_operations_t | task_hash_table_ops |
| | Operations for task hash table.
|