|
Files |
| file | errors.c |
| file | errors.h |
| file | ipc_desc.c |
| file | ipc_desc.h |
| file | ipcp.c |
| file | ipcp.h |
| file | proto.c |
| file | proto.h |
| file | syscalls.c |
| file | syscalls.h |
| file | trace.c |
| file | trace.h |
Data Structures |
| struct | connection_t |
| struct | err_desc_t |
| struct | ipc_m_desc_t |
| struct | method_oper_t |
| struct | oper_t |
| struct | pending_call_t |
| struct | proto_t |
| struct | sc_desc_t |
| struct | srv_proto_t |
Defines |
|
#define | IPCP_CALLID_SYNC 0 |
|
#define | MAX_PHONE 64 |
|
#define | METHOD_OPER_TABLE_CHAINS 32 |
|
#define | OPER_MAX_ARGS (IPC_CALL_LEN - 1) |
|
#define | PCALL_TABLE_CHAINS 32 |
|
#define | SRV_PROTO_TABLE_CHAINS 32 |
|
#define | THBUF_SIZE 64 |
Enumerations |
| enum | display_mask_t {
DM_THREAD = 1,
DM_SYSCALL = 2,
DM_IPC = 4,
DM_SYSTEM = 8,
DM_USER = 16
} |
| | Classes of events that can be displayed. More...
|
| enum | val_type_t |
Functions |
|
static int | cev_fibril (void *arg) |
|
static void | cev_fibril_start (void) |
|
static int | connect_task (task_id_t task_id) |
|
static void | event_syscall_b (unsigned thread_id, uintptr_t thread_hash, unsigned sc_id, sysarg_t sc_rc) |
|
static void | event_syscall_e (unsigned thread_id, uintptr_t thread_hash, unsigned sc_id, sysarg_t sc_rc) |
|
static void | event_thread_b (uintptr_t hash) |
|
static int | get_thread_list (void) |
|
static void | ipc_m_print (proto_t *proto, sysarg_t method) |
|
void | ipcp_call_in (ipc_call_t *call, ipc_callid_t hash) |
|
void | ipcp_call_out (int phone, ipc_call_t *call, ipc_callid_t hash) |
|
void | ipcp_call_sync (int phone, ipc_call_t *call, ipc_call_t *answer) |
|
void | ipcp_cleanup (void) |
|
void | ipcp_connection_clear (int phone) |
|
void | ipcp_connection_set (int phone, int server, proto_t *proto) |
|
void | ipcp_hangup (int phone, int rc) |
|
void | ipcp_init (void) |
| int | main (int argc, char *argv[]) |
| | Main entry point.
|
|
static void | main_init (void) |
|
static int | method_oper_compare (unsigned long key[], hash_count_t keys, link_t *item) |
|
static hash_index_t | method_oper_hash (unsigned long key[]) |
|
static void | method_oper_remove_callback (link_t *item) |
|
oper_t * | oper_new (const char *name, int argc, val_type_t *arg_types, val_type_t rv_type, int respc, val_type_t *resp_types) |
|
static void | oper_struct_init (oper_t *oper, const char *name) |
|
static void | parse_answer (ipc_callid_t hash, pending_call_t *pcall, ipc_call_t *answer) |
|
static int | parse_args (int argc, char *argv[]) |
|
static display_mask_t | parse_display_mask (const char *text) |
|
static int | pending_call_compare (unsigned long key[], hash_count_t keys, link_t *item) |
|
static hash_index_t | pending_call_hash (unsigned long key[]) |
|
static void | pending_call_remove_callback (link_t *item) |
|
static loader_t * | preload_task (const char *path, char **argv, task_id_t *task_id) |
|
static void | print_sc_args (sysarg_t *sc_args, int n) |
|
static void | print_sc_retval (sysarg_t retval, val_type_t val_type) |
|
static void | print_syntax () |
|
static void | program_run (void) |
|
static int | program_run_fibril (void *arg) |
|
void | proto_add_oper (proto_t *proto, int method, oper_t *oper) |
|
void | proto_cleanup (void) |
|
void | proto_delete (proto_t *proto) |
|
proto_t * | proto_get_by_srv (int srv) |
|
oper_t * | proto_get_oper (proto_t *proto, int method) |
|
void | proto_init (void) |
|
proto_t * | proto_new (const char *name) |
|
void | proto_register (int srv, proto_t *proto) |
|
static void | proto_struct_init (proto_t *proto, const char *name) |
|
static void | sc_ipc_call_async_fast (sysarg_t *sc_args, sysarg_t sc_rc) |
|
static void | sc_ipc_call_async_slow (sysarg_t *sc_args, sysarg_t sc_rc) |
|
static void | sc_ipc_call_sync_fast (sysarg_t *sc_args) |
|
static void | sc_ipc_call_sync_slow_b (unsigned thread_id, sysarg_t *sc_args) |
|
static void | sc_ipc_call_sync_slow_e (unsigned thread_id, sysarg_t *sc_args) |
|
static void | sc_ipc_wait (sysarg_t *sc_args, int sc_rc) |
|
static int | srv_proto_compare (unsigned long key[], hash_count_t keys, link_t *item) |
|
static hash_index_t | srv_proto_hash (unsigned long key[]) |
|
static void | srv_proto_remove_callback (link_t *item) |
|
void | thread_trace_start (uintptr_t thread_hash) |
|
static int | trace_loop (void *thread_hash_arg) |
|
static void | trace_task (task_id_t task_id) |
|
void | val_print (sysarg_t val, val_type_t v_type) |
Variables |
|
bool | abort_trace |
|
static console_event_t | cev |
|
static bool | cev_valid |
|
connection_t | connections [MAX_PHONE] |
|
display_mask_t | display_mask |
| | Combination of events to print.
|
|
display_mask_t | display_mask |
| | Combination of events to print.
|
|
const err_desc_t | err_desc [] |
|
const err_desc_t | err_desc [] |
|
int | have_conn [MAX_PHONE] |
|
ipc_m_desc_t | ipc_methods [] |
|
ipc_m_desc_t | ipc_methods [] |
|
hash_table_operations_t | method_oper_ops |
|
int | n_threads |
|
int | next_thread_id |
|
static bool | paused |
|
hash_table_operations_t | pending_call_ops |
|
hash_table_t | pending_calls |
|
int | phoneid |
|
static proto_t * | proto_console |
|
proto_t * | proto_system |
| | Protocol describing system IPC methods.
|
|
proto_t * | proto_unknown |
| | Protocol with no known methods.
|
|
hash_table_t | srv_proto |
|
hash_table_t | srv_proto |
|
hash_table_operations_t | srv_proto_ops |
|
static fibril_condvar_t | state_cv |
|
static fibril_mutex_t | state_lock |
|
const sc_desc_t | syscall_desc [] |
|
const sc_desc_t | syscall_desc [] |
|
static task_id_t | task_id |
|
static loader_t * | task_ldr |
|
static bool | task_wait_for |
|
uintptr_t | thash |
|
uintptr_t | thread_hash_buf [THBUF_SIZE] |
|
ipc_call_t | thread_ipc_req [THBUF_SIZE] |