|
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] |