Symbol: trussinfo
usr.bin/truss/extern.h
34
extern int print_line_prefix(struct trussinfo *);
usr.bin/truss/extern.h
35
extern void setup_and_wait(struct trussinfo *, char **);
usr.bin/truss/extern.h
36
extern void start_tracing(struct trussinfo *, pid_t);
usr.bin/truss/extern.h
39
extern void eventloop(struct trussinfo *);
usr.bin/truss/main.c
101
trussinfo->flags |= EXECVEARGS;
usr.bin/truss/main.c
104
trussinfo->flags |= (COUNTONLY | NOSIGS);
usr.bin/truss/main.c
107
trussinfo->flags |= EXECVEENVS;
usr.bin/truss/main.c
110
trussinfo->flags |= ABSOLUTETIMESTAMPS;
usr.bin/truss/main.c
113
trussinfo->flags |= RELATIVETIMESTAMPS;
usr.bin/truss/main.c
119
trussinfo->strsize = (int)strtonum(optarg, 0, INT_MAX,
usr.bin/truss/main.c
125
trussinfo->flags |= NOSIGS;
usr.bin/truss/main.c
128
trussinfo->flags |= DISPLAYTIDS;
usr.bin/truss/main.c
145
if ((trussinfo->outfile = fopen(fname, "we")) == NULL)
usr.bin/truss/main.c
158
setup_and_wait(trussinfo, command);
usr.bin/truss/main.c
169
start_tracing(trussinfo, pid);
usr.bin/truss/main.c
176
if (LIST_FIRST(&trussinfo->proclist)->abi == NULL) {
usr.bin/truss/main.c
184
kill(LIST_FIRST(&trussinfo->proclist)->pid, SIGKILL);
usr.bin/truss/main.c
185
ptrace(PT_DETACH, LIST_FIRST(&trussinfo->proclist)->pid, NULL,
usr.bin/truss/main.c
189
ptrace(PT_SYSCALL, LIST_FIRST(&trussinfo->proclist)->pid, (caddr_t)1,
usr.bin/truss/main.c
197
clock_gettime(CLOCK_REALTIME, &trussinfo->start_time);
usr.bin/truss/main.c
199
eventloop(trussinfo);
usr.bin/truss/main.c
201
if (trussinfo->flags & COUNTONLY)
usr.bin/truss/main.c
202
print_summary(trussinfo);
usr.bin/truss/main.c
204
fflush(trussinfo->outfile);
usr.bin/truss/main.c
69
struct trussinfo *trussinfo;
usr.bin/truss/main.c
79
trussinfo = (struct trussinfo *)calloc(1, sizeof(struct trussinfo));
usr.bin/truss/main.c
80
if (trussinfo == NULL)
usr.bin/truss/main.c
84
trussinfo->outfile = stderr;
usr.bin/truss/main.c
85
trussinfo->strsize = 32;
usr.bin/truss/main.c
86
trussinfo->curthread = NULL;
usr.bin/truss/main.c
87
LIST_INIT(&trussinfo->proclist);
usr.bin/truss/main.c
98
trussinfo->flags |= FOLLOWFORKS;
usr.bin/truss/setup.c
148
setup_and_wait(struct trussinfo *info, char *command[])
usr.bin/truss/setup.c
172
start_tracing(struct trussinfo *info, pid_t pid)
usr.bin/truss/setup.c
293
add_threads(struct trussinfo *info, struct procinfo *p)
usr.bin/truss/setup.c
321
new_proc(struct trussinfo *info, pid_t pid, lwpid_t lwpid)
usr.bin/truss/setup.c
371
detach_all_procs(struct trussinfo *info)
usr.bin/truss/setup.c
382
find_proc(struct trussinfo *info, pid_t pid)
usr.bin/truss/setup.c
398
find_thread(struct trussinfo *info, pid_t pid, lwpid_t lwpid)
usr.bin/truss/setup.c
420
find_exit_thread(struct trussinfo *info, pid_t pid)
usr.bin/truss/setup.c
460
enter_syscall(struct trussinfo *info, struct threadinfo *t,
usr.bin/truss/setup.c
520
thread_exit_syscall(struct trussinfo *info)
usr.bin/truss/setup.c
535
exit_syscall(struct trussinfo *info, struct ptrace_lwpinfo *pl)
usr.bin/truss/setup.c
627
print_line_prefix(struct trussinfo *info)
usr.bin/truss/setup.c
659
report_thread_death(struct trussinfo *info)
usr.bin/truss/setup.c
670
report_thread_birth(struct trussinfo *info)
usr.bin/truss/setup.c
682
report_exit(struct trussinfo *info, siginfo_t *si)
usr.bin/truss/setup.c
69
static void enter_syscall(struct trussinfo *, struct threadinfo *,
usr.bin/truss/setup.c
699
report_new_child(struct trussinfo *info)
usr.bin/truss/setup.c
71
static void new_proc(struct trussinfo *, pid_t, lwpid_t);
usr.bin/truss/setup.c
765
report_signal(struct trussinfo *info, siginfo_t *si, struct ptrace_lwpinfo *pl)
usr.bin/truss/setup.c
788
eventloop(struct trussinfo *info)
usr.bin/truss/syscall.h
232
struct trussinfo *, struct syscall_decode *);
usr.bin/truss/syscall.h
274
void print_syscall(struct trussinfo *);
usr.bin/truss/syscall.h
275
void print_syscall_ret(struct trussinfo *, int, syscallarg_t *);
usr.bin/truss/syscall.h
276
void print_summary(struct trussinfo *trussinfo);
usr.bin/truss/syscalls.c
1090
print_sockaddr(FILE *fp, struct trussinfo *trussinfo, uintptr_t arg,
usr.bin/truss/syscalls.c
1099
pid_t pid = trussinfo->curthread->proc->pid;
usr.bin/truss/syscalls.c
1160
print_iovec(FILE *fp, struct trussinfo *trussinfo, uintptr_t arg, int iovcnt)
usr.bin/truss/syscalls.c
1163
size_t max_string = trussinfo->strsize;
usr.bin/truss/syscalls.c
1166
pid_t pid = trussinfo->curthread->proc->pid;
usr.bin/truss/syscalls.c
1577
get_netlink_protocol(struct trussinfo *trussinfo, int num_fd)
usr.bin/truss/syscalls.c
1579
struct procinfo *p = trussinfo->curthread->proc;
usr.bin/truss/syscalls.c
1596
print_netlink(FILE *fp, struct trussinfo *trussinfo, void *msg, size_t len,
usr.bin/truss/syscalls.c
1600
pid_t pid = trussinfo->curthread->proc->pid;
usr.bin/truss/syscalls.c
1635
struct trussinfo *trussinfo, struct syscall_decode *decode)
usr.bin/truss/syscalls.c
1643
pid = trussinfo->curthread->proc->pid;
usr.bin/truss/syscalls.c
1697
get_netlink_protocol(trussinfo, (int)args[0]);
usr.bin/truss/syscalls.c
1700
print_netlink(fp, trussinfo,
usr.bin/truss/syscalls.c
1712
int max_string = trussinfo->strsize;
usr.bin/truss/syscalls.c
1761
trussinfo->curthread->proc->abi->pointer_size;
usr.bin/truss/syscalls.c
1768
(trussinfo->flags & EXECVEARGS) == 0) ||
usr.bin/truss/syscalls.c
1770
(trussinfo->flags & EXECVEENVS) == 0)) {
usr.bin/truss/syscalls.c
1833
trussinfo->curthread->proc->abi->pointer_size;
usr.bin/truss/syscalls.c
2133
print_sockaddr(fp, trussinfo, args[sc->offset], len);
usr.bin/truss/syscalls.c
2633
print_iovec(fp, trussinfo, (uintptr_t)hdtr.headers,
usr.bin/truss/syscalls.c
2635
print_iovec(fp, trussinfo, (uintptr_t)hdtr.trailers,
usr.bin/truss/syscalls.c
2692
print_iovec(fp, trussinfo, args[sc->offset],
usr.bin/truss/syscalls.c
2777
print_sockaddr(fp, trussinfo, (uintptr_t)msghdr.msg_name, msghdr.msg_namelen);
usr.bin/truss/syscalls.c
2780
int protocol = get_netlink_protocol(trussinfo, (int)args[0]);
usr.bin/truss/syscalls.c
2784
(!print_netlink(fp, trussinfo, (void *)iov.iov_base,
usr.bin/truss/syscalls.c
2786
print_iovec(fp, trussinfo, (uintptr_t)msghdr.msg_iov,
usr.bin/truss/syscalls.c
2808
print_syscall(struct trussinfo *trussinfo)
usr.bin/truss/syscalls.c
2815
t = trussinfo->curthread;
usr.bin/truss/syscalls.c
2821
len = print_line_prefix(trussinfo);
usr.bin/truss/syscalls.c
2822
len += fprintf(trussinfo->outfile, "%s(", name);
usr.bin/truss/syscalls.c
2826
len += fprintf(trussinfo->outfile, "%s", s_args[i]);
usr.bin/truss/syscalls.c
2828
len += fprintf(trussinfo->outfile,
usr.bin/truss/syscalls.c
2830
len += fprintf(trussinfo->outfile, "%s", i < (nargs - 1) ?
usr.bin/truss/syscalls.c
2833
len += fprintf(trussinfo->outfile, ")");
usr.bin/truss/syscalls.c
2835
fprintf(trussinfo->outfile, "\t");
usr.bin/truss/syscalls.c
2839
print_syscall_ret(struct trussinfo *trussinfo, int error, syscallarg_t *retval)
usr.bin/truss/syscalls.c
2845
t = trussinfo->curthread;
usr.bin/truss/syscalls.c
2847
if (trussinfo->flags & COUNTONLY) {
usr.bin/truss/syscalls.c
2856
print_syscall(trussinfo);
usr.bin/truss/syscalls.c
2857
fflush(trussinfo->outfile);
usr.bin/truss/syscalls.c
2864
fprintf(trussinfo->outfile, "\n");
usr.bin/truss/syscalls.c
2869
fprintf(trussinfo->outfile, " ERESTART\n");
usr.bin/truss/syscalls.c
2871
fprintf(trussinfo->outfile, " EJUSTRETURN\n");
usr.bin/truss/syscalls.c
2873
fprintf(trussinfo->outfile, " ERR#%d '%s'\n",
usr.bin/truss/syscalls.c
2884
fprintf(trussinfo->outfile, " = %jd (0x%jx)\n", (intmax_t)off,
usr.bin/truss/syscalls.c
2887
fprintf(trussinfo->outfile, " = %jd (0x%jx)\n",
usr.bin/truss/syscalls.c
2893
print_summary(struct trussinfo *trussinfo)
usr.bin/truss/syscalls.c
2899
fprintf(trussinfo->outfile, "%-20s%15s%8s%8s\n",
usr.bin/truss/syscalls.c
2904
fprintf(trussinfo->outfile, "%-20s%5jd.%09ld%8d%8d\n",
usr.bin/truss/syscalls.c
2912
fprintf(trussinfo->outfile, "%20s%15s%8s%8s\n",
usr.bin/truss/syscalls.c
2914
fprintf(trussinfo->outfile, "%-20s%5jd.%09ld%8d%8d\n",
usr.bin/truss/truss.h
41
struct trussinfo;