HP-UX Reference (11i v1 00/12) - 2 System Calls (vol 5)
__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man2/!!!intro.2
________________________________________________________________
___ ___
t
ttrace(2) ttrace(2)
for (i = 0, argp = stp->tts_scarg; i < nargs; i++, argp++) {
(void) printf("%#llx", *argp);
(void) printf("%s",
(i == nargs - 1) ? "" : ", ");
}
(void) printf(")");
}
if (stp->tts_event == TTEVT_SYSCALL_RETURN) {
if (stp->tts_u.tts_syscall.tts_errno) {
(void) printf(" ERR%d",
stp->tts_u.tts_syscall.tts_errno);
}
else {
(void) printf(" = %lld",
stp->tts_u.tts_syscall.tts_rval[0]);
}
}
else {
(void) printf(" ...");
}
(void) printf("\n");
}
static void
show_event(const ttstate_t *stp)
{
switch(stp->tts_event) {
case TTEVT_NONE:
case TTEVT_SYSCALL:
case TTEVT_SYSCALL_ENTRY:
case TTEVT_SYSCALL_RESTART:
show_syscall(stp);
break;
case TTEVT_EXIT:
(void) printf("%s %d\n", ev_name(stp->tts_event),
stp->tts_u.tts_exit.tts_exitcode);
break;
case TTEVT_SIGNAL:
(void) printf("%s %d\n", ev_name(stp->tts_event),
stp->tts_u.tts_signal.tts_signo);
break;
default:
(void) printf("%s\n", ev_name(stp->tts_event));
}
}
main(int argc, char **argv)
{
ttevent_t ev;
ttstate_t st;
pid_t pid;
int pfd1[2];
int pfd2[2];
char c;
--argc, ++argv;
pid = atoi(*argv);
ev.tte_events = TTEVT_SYSCALL|TTEVT_EXEC|TTEVT_EXIT;
Section 2−−424 − 12 − HP-UX Release 11i: December 2000
___
___