1521fa314SDavid van Moolenbroek 2521fa314SDavid van Moolenbroek /* call.c */ 3521fa314SDavid van Moolenbroek void put_endpoint(struct trace_proc *proc, const char *name, endpoint_t endpt); 4521fa314SDavid van Moolenbroek void put_equals(struct trace_proc *proc); 5521fa314SDavid van Moolenbroek void put_result(struct trace_proc *proc); 6521fa314SDavid van Moolenbroek int default_out(struct trace_proc *proc, const message *m_out); 7521fa314SDavid van Moolenbroek void default_in(struct trace_proc *proc, const message *m_out, 8521fa314SDavid van Moolenbroek const message *m_in, int failed); 9521fa314SDavid van Moolenbroek int call_enter(struct trace_proc *proc, int show_stack); 10521fa314SDavid van Moolenbroek void call_leave(struct trace_proc *proc, int skip); 11521fa314SDavid van Moolenbroek void call_replay(struct trace_proc *proc); 12521fa314SDavid van Moolenbroek const char *call_name(struct trace_proc *proc); 13e4e21ee1SDavid van Moolenbroek int call_errno(struct trace_proc *proc, int *err); 14521fa314SDavid van Moolenbroek 15521fa314SDavid van Moolenbroek /* error.c */ 16521fa314SDavid van Moolenbroek const char *get_error_name(int err); 17521fa314SDavid van Moolenbroek 18521fa314SDavid van Moolenbroek /* escape.c */ 19521fa314SDavid van Moolenbroek const char *get_escape(char c); 20521fa314SDavid van Moolenbroek 21521fa314SDavid van Moolenbroek /* format.c */ 22521fa314SDavid van Moolenbroek void format_reset(struct trace_proc *proc); 23521fa314SDavid van Moolenbroek void format_set_sep(struct trace_proc *proc, const char *sep); 24521fa314SDavid van Moolenbroek void format_push_sep(struct trace_proc *proc); 25521fa314SDavid van Moolenbroek void put_field(struct trace_proc *proc, const char *name, const char *text); 26521fa314SDavid van Moolenbroek void put_open(struct trace_proc *proc, const char *name, int flags, 27521fa314SDavid van Moolenbroek const char *string, const char *separator); 28521fa314SDavid van Moolenbroek void put_close(struct trace_proc *proc, const char *string); 29521fa314SDavid van Moolenbroek void put_fmt(struct trace_proc *proc, const char *fmt, ...) 30521fa314SDavid van Moolenbroek __attribute__((__format__(__printf__, 2, 3))); 31521fa314SDavid van Moolenbroek void put_value(struct trace_proc *proc, const char *name, const char *fmt, ...) 32521fa314SDavid van Moolenbroek __attribute__((__format__(__printf__, 3, 4))); 33521fa314SDavid van Moolenbroek int put_open_struct(struct trace_proc *proc, const char *name, int flags, 34521fa314SDavid van Moolenbroek vir_bytes addr, void *ptr, size_t size); 35521fa314SDavid van Moolenbroek void put_close_struct(struct trace_proc *proc, int all); 36521fa314SDavid van Moolenbroek void put_ptr(struct trace_proc *proc, const char *name, vir_bytes addr); 37521fa314SDavid van Moolenbroek void put_buf(struct trace_proc *proc, const char *name, int flags, 38521fa314SDavid van Moolenbroek vir_bytes addr, ssize_t size); 39521fa314SDavid van Moolenbroek void put_flags(struct trace_proc *proc, const char *name, 40521fa314SDavid van Moolenbroek const struct flags *fp, unsigned int num, const char *fmt, 41521fa314SDavid van Moolenbroek unsigned int value); 42521fa314SDavid van Moolenbroek void put_tail(struct trace_proc * proc, unsigned int count, 43521fa314SDavid van Moolenbroek unsigned int printed); 44521fa314SDavid van Moolenbroek 45521fa314SDavid van Moolenbroek /* ioctl.c */ 46521fa314SDavid van Moolenbroek void put_ioctl_req(struct trace_proc *proc, const char *name, 47521fa314SDavid van Moolenbroek unsigned long req, int is_svrctl); 48521fa314SDavid van Moolenbroek int put_ioctl_arg_out(struct trace_proc *proc, const char *name, 49521fa314SDavid van Moolenbroek unsigned long req, vir_bytes addr, int is_svrctl); 50521fa314SDavid van Moolenbroek void put_ioctl_arg_in(struct trace_proc *proc, const char *name, int failed, 51521fa314SDavid van Moolenbroek unsigned long req, vir_bytes addr, int is_svrctl); 52521fa314SDavid van Moolenbroek 53521fa314SDavid van Moolenbroek /* kernel.c */ 54521fa314SDavid van Moolenbroek int kernel_check(pid_t pid); 55521fa314SDavid van Moolenbroek int kernel_get_name(pid_t pid, char *name, size_t size); 56521fa314SDavid van Moolenbroek int kernel_is_service(pid_t pid); 57521fa314SDavid van Moolenbroek int kernel_get_syscall(pid_t pid, reg_t reg[3]); 58521fa314SDavid van Moolenbroek int kernel_get_retreg(pid_t pid, reg_t *retreg); 59521fa314SDavid van Moolenbroek vir_bytes kernel_get_stacktop(void); 60521fa314SDavid van Moolenbroek int kernel_get_context(pid_t pid, reg_t *pc, reg_t *sp, reg_t *fp); 61521fa314SDavid van Moolenbroek void kernel_put_stacktrace(struct trace_proc * proc); 62521fa314SDavid van Moolenbroek 63521fa314SDavid van Moolenbroek /* mem.c */ 64521fa314SDavid van Moolenbroek int mem_get_data(pid_t pid, vir_bytes addr, void *ptr, size_t len); 65521fa314SDavid van Moolenbroek int mem_get_user(pid_t pid, vir_bytes addr, void *ptr, size_t len); 66521fa314SDavid van Moolenbroek 67521fa314SDavid van Moolenbroek /* pm.c */ 68521fa314SDavid van Moolenbroek void put_struct_timeval(struct trace_proc *proc, const char *name, int flags, 69521fa314SDavid van Moolenbroek vir_bytes addr); 70521fa314SDavid van Moolenbroek void put_time(struct trace_proc *proc, const char *name, time_t time); 71521fa314SDavid van Moolenbroek void put_groups(struct trace_proc * proc, const char * name, int flags, 72521fa314SDavid van Moolenbroek vir_bytes addr, int count); 73521fa314SDavid van Moolenbroek 74521fa314SDavid van Moolenbroek /* output.c */ 75521fa314SDavid van Moolenbroek int output_init(const char *file); 76521fa314SDavid van Moolenbroek int output_error(void); 77521fa314SDavid van Moolenbroek void output_flush(void); 78521fa314SDavid van Moolenbroek void record_start(struct trace_proc *proc); 79521fa314SDavid van Moolenbroek void record_stop(struct trace_proc *proc); 80521fa314SDavid van Moolenbroek void record_clear(struct trace_proc *proc); 81521fa314SDavid van Moolenbroek int record_replay(struct trace_proc *proc); 82521fa314SDavid van Moolenbroek void put_newline(void); 83521fa314SDavid van Moolenbroek void put_text(struct trace_proc *proc, const char *text); 84521fa314SDavid van Moolenbroek void put_space(struct trace_proc *proc); 85521fa314SDavid van Moolenbroek void put_align(struct trace_proc *proc); 86521fa314SDavid van Moolenbroek 87521fa314SDavid van Moolenbroek /* proc.c */ 88521fa314SDavid van Moolenbroek void proc_init(void); 89521fa314SDavid van Moolenbroek struct trace_proc *proc_add(pid_t pid); 90521fa314SDavid van Moolenbroek struct trace_proc *proc_get(pid_t pid); 91521fa314SDavid van Moolenbroek void proc_del(struct trace_proc *proc); 92521fa314SDavid van Moolenbroek struct trace_proc *proc_next(struct trace_proc *last); 93521fa314SDavid van Moolenbroek unsigned int proc_count(void); 94521fa314SDavid van Moolenbroek 95521fa314SDavid van Moolenbroek /* signal.c */ 96521fa314SDavid van Moolenbroek const char *get_signal_name(int sig); 97521fa314SDavid van Moolenbroek 98521fa314SDavid van Moolenbroek /* trace.c */ 99*10a44c0eSDavid van Moolenbroek extern int timestamps; 100521fa314SDavid van Moolenbroek extern int allnames; 101521fa314SDavid van Moolenbroek extern unsigned int verbose; 102521fa314SDavid van Moolenbroek extern unsigned int valuesonly; 103521fa314SDavid van Moolenbroek 104521fa314SDavid van Moolenbroek /* service */ 105521fa314SDavid van Moolenbroek const struct calls pm_calls; 106521fa314SDavid van Moolenbroek const struct calls vfs_calls; 107521fa314SDavid van Moolenbroek const struct calls rs_calls; 108e4e21ee1SDavid van Moolenbroek const struct calls mib_calls; 109521fa314SDavid van Moolenbroek const struct calls vm_calls; 110521fa314SDavid van Moolenbroek const struct calls ipc_calls; 111521fa314SDavid van Moolenbroek 112c38dbb97SDavid van Moolenbroek /* service/vfs.c */ 113c38dbb97SDavid van Moolenbroek void put_fd(struct trace_proc *proc, const char *name, int fd); 114c38dbb97SDavid van Moolenbroek void put_dev(struct trace_proc *proc, const char *name, dev_t dev); 115c38dbb97SDavid van Moolenbroek void put_in_addr(struct trace_proc *proc, const char *name, struct in_addr in); 116c38dbb97SDavid van Moolenbroek void put_socket_type(struct trace_proc *proc, const char *name, int type); 117c38dbb97SDavid van Moolenbroek void put_socket_family(struct trace_proc *proc, const char *name, int family); 118c38dbb97SDavid van Moolenbroek void put_cmsg_type(struct trace_proc *proc, const char *name, int type); 119c38dbb97SDavid van Moolenbroek void put_shutdown_how(struct trace_proc *proc, const char *name, int how); 120c38dbb97SDavid van Moolenbroek 121521fa314SDavid van Moolenbroek /* ioctl/block.c */ 122521fa314SDavid van Moolenbroek const char *block_ioctl_name(unsigned long req); 123521fa314SDavid van Moolenbroek int block_ioctl_arg(struct trace_proc *proc, unsigned long req, void *ptr, 124521fa314SDavid van Moolenbroek int dir); 125521fa314SDavid van Moolenbroek 126521fa314SDavid van Moolenbroek /* ioctl/char.c */ 127521fa314SDavid van Moolenbroek const char *char_ioctl_name(unsigned long req); 128521fa314SDavid van Moolenbroek int char_ioctl_arg(struct trace_proc *proc, unsigned long req, void *ptr, 129521fa314SDavid van Moolenbroek int dir); 130521fa314SDavid van Moolenbroek 131521fa314SDavid van Moolenbroek /* ioctl/net.c */ 132521fa314SDavid van Moolenbroek const char *net_ioctl_name(unsigned long req); 133521fa314SDavid van Moolenbroek int net_ioctl_arg(struct trace_proc *proc, unsigned long req, void *ptr, 134521fa314SDavid van Moolenbroek int dir); 135521fa314SDavid van Moolenbroek 136521fa314SDavid van Moolenbroek /* ioctl/svrctl.c */ 137521fa314SDavid van Moolenbroek const char *svrctl_name(unsigned long req); 138521fa314SDavid van Moolenbroek int svrctl_arg(struct trace_proc *proc, unsigned long req, void *ptr, int dir); 139