HP-UX Reference (11i v2 07/12) - 2 System Calls (vol 5)
t
ttrace(2) ttrace(2)
TT_PROC_DETACH, "PROC_DETACH",
TT_PROC_CONTINUE, "PROC_CONTINUE",
TT_PROC_SET_EVENT_MASK, "PROC_SET_EVENT_MASK",
TT_PROC_GET_FIRST_LWP_STATE, "PROC_GET_FIRST_LWP_STATE",
TT_PROC_GET_NEXT_LWP_STATE, "PROC_GET_NEXT_LWP_STATE",
TT_LWP_CONTINUE, "LWP_CONTINUE",
-1, NULL
};
rval = ttrace(req, pid, lwpid, addr, data, addr2);
if (rval == -1) {
p = gen_name(tab, req);
errexit(p?p:"ttrace");
}
}
static void
show_syscall(const ttstate_t *stp)
{
int nargs = stp->tts_scnargs;
ttevents_t evt = stp->tts_event;
int i;
char *p;
const uint64_t *argp;
static _exp_t tab[] = {
SYS_open, "open",
SYS_close, "close",
SYS_read, "read",
SYS_write, "write",
SYS_ioctl, "ioctl",
SYS_lseek, "lseek",
SYS_fstat, "fstat",
SYS_stat, "stat",
SYS_poll, "poll",
SYS_select, "select",
SYS_mmap, "mmap",
SYS_wait, "wait",
SYS_waitpid, "waitpid",
SYS_waitid, "waitid",
SYS_time, "time",
SYS_brk, "brk",
SYS_sigsuspend, "sigsuspend",
SYS_sigprocmask, "sigprocmask",
SYS_sigtimedwait, "sigtimedwait",
SYS_sigvector, "sigvec",
-1, NULL,
};
if (stp->tts_scno == SYS_siginhibit || stp->tts_scno == SYS_sigenable) {
return;
}
if (evt == TTEVT_NONE) {
evt = TTEVT_SYSCALL;
}
p = gen_name(tab, stp->tts_scno);
if (p == NULL) {
char buf[32];
(void) sprintf(buf, "syscall_%#x", stp->tts_scno);
p = buf;
}
(void) printf("%s", p);
for (i = 0; i < nargs; i++) {
496 Hewlett-Packard Company − 16 − HP-UX 11i Version 2: December 2007 Update