Lines Matching refs:pri
64 report_sleeping(private_t *pri, int dotrace)
66 const lwpstatus_t *Lsp = pri->lwpstat;
76 pri->length = 0;
77 pri->Errno = 0;
78 pri->ErrPriv = PRIV_NONE;
79 pri->Rval1 = pri->Rval2 = 0;
80 (void) sysentry(pri, dotrace);
81 make_pname(pri, 0);
82 putpname(pri);
83 timestamp(pri);
84 pri->length += printf("%s", pri->sys_string);
85 pri->sys_leng = 0;
86 *pri->sys_string = '\0';
87 pri->length >>= 3;
89 pri->length += 2;
90 if (pri->length >= 4)
92 for (; pri->length < 4; pri->length++)
99 pri->length = 0;
102 pri->Errno = 1;
103 expound(pri, 0, raw);
104 pri->Errno = 0;
118 requested(private_t *pri, int flag, int dotrace)
120 const lwpstatus_t *Lsp = pri->lwpstat;
130 pri->length = 0;
131 putpname(pri);
132 timestamp(pri);
134 sig, signame(pri, sig));
150 report_sleeping(pri, dotrace);
158 jobcontrol(private_t *pri, int dotrace)
160 const lwpstatus_t *Lsp = pri->lwpstat;
161 int sig = stopsig(pri);
170 pri->length = 0;
171 putpname(pri);
172 timestamp(pri);
174 sig, signame(pri, sig));
178 sysname(pri, sys, getsubcode(pri)));
192 stopsig(private_t *pri)
194 const lwpstatus_t *Lsp = pri->lwpstat;
227 signalled(private_t *pri, int flag, int dotrace)
229 const lwpstatus_t *Lsp = pri->lwpstat;
242 flag = requested(pri, JOBSTOP, dotrace);
243 else if ((flag = jobcontrol(pri, dotrace)) == 0 &&
248 pri->length = 0;
249 putpname(pri);
250 timestamp(pri);
252 sig, signame(pri, sig));
256 sysname(pri, sys, getsubcode(pri)));
266 print_siginfo(pri, &Lsp->pr_info);
276 faulted(private_t *pri, int dotrace)
278 const lwpstatus_t *Lsp = pri->lwpstat;
291 pri->length = 0;
292 putpname(pri);
293 timestamp(pri);
296 flt, proc_fltname(flt, pri->flt_name, sizeof (pri->flt_name)),
304 print_siginfo(pri, &Lsp->pr_info);
310 * Set up pri->sys_nargs and pri->sys_args[] (syscall args).
313 setupsysargs(private_t *pri, int what)
315 const lwpstatus_t *Lsp = pri->lwpstat;
321 pri->sys_indirect = (Lsp->pr_reg[R_G1] == SYS_syscall)? 1 : 0;
323 pri->sys_indirect = 0;
326 (void) memset(pri->sys_args, 0, sizeof (pri->sys_args));
329 pri->pname, what, Lsp->pr_syscall);
333 i < nargs && i < sizeof (pri->sys_args) / sizeof (pri->sys_args[0]);
335 pri->sys_args[i] = Lsp->pr_sysarg[i];
336 pri->sys_nargs = nargs;
352 sysentry(private_t *pri, int dotrace)
355 const lwpstatus_t *Lsp = pri->lwpstat;
377 * Set up the system call arguments (pri->sys_nargs & pri->sys_args[]).
379 setupsysargs(pri, what);
380 nargs = pri->sys_nargs;
383 subcode = getsubcode(pri);
388 pri->sys_nargs = nargs;
394 pri->sys_valid = FALSE;
402 * The address in pri->sys_args[0] refers to the old process
433 offset = pri->sys_args[0];
435 offset = pri->sys_args[1];
437 if ((s = fetchstring(pri, offset, PATH_MAX)) != NULL) {
438 pri->sys_valid = TRUE;
441 while (len >= pri->sys_psize) {
442 free(pri->sys_path);
443 pri->sys_path = my_malloc(pri->sys_psize *= 2,
446 (void) strcpy(pri->sys_path, s); /* remember pathname */
455 int fdp1 = (int)pri->sys_args[0] + 1;
466 pri->sys_leng = 0;
468 *pri->sys_string = 0;
473 name = sysname(pri, what, raw? -1 : subcode);
474 grow(pri, strlen(name) + 1);
475 pri->sys_leng = snprintf(pri->sys_string, pri->sys_ssize,
478 arg = pri->sys_args[i];
481 if (!raw && pri->sys_valid &&
486 outstring(pri, ", ");
487 escape_string(pri, pri->sys_path);
491 outstring(pri, ", ");
493 (*Print[x])(pri, raw, arg,
494 pri->sys_args[++i]);
496 (*Print[x])(pri, raw, arg);
500 outstring(pri, ")");
512 sysexit(private_t *pri, int dotrace)
514 const lwpstatus_t *Lsp = pri->lwpstat;
536 /* pick up registers & set pri->Errno before anything else */
537 pri->Errno = Lsp->pr_errno;
538 pri->ErrPriv = Lsp->pr_errpriv;
539 pri->Rval1 = Lsp->pr_rval1;
540 pri->Rval2 = Lsp->pr_rval2;
550 if (pri->exec_string && *pri->exec_string) {
552 if (pri->exec_pname[0] != '\0')
553 (void) fputs(pri->exec_pname, stdout);
554 timestamp(pri);
555 (void) fputs(pri->exec_string, stdout);
557 pri->exec_pname[0] = '\0';
558 pri->exec_string[0] = '\0';
568 istraced = sysentry(pri, dotrace) && dotrace;
569 pri->length = 0;
571 putpname(pri);
572 timestamp(pri);
573 pri->length += printf("%s", pri->sys_string);
575 pri->sys_leng = 0;
576 *pri->sys_string = '\0';
581 subcode = getsubcode(pri);
595 accumulate(&scp->stime, &Lsp->pr_stime, &pri->syslast);
596 accumulate(&Cp->usrtotal, &Lsp->pr_utime, &pri->usrlast);
597 pri->syslast = Lsp->pr_stime;
598 pri->usrlast = Lsp->pr_utime;
606 pri->Errno == 0 && pri->Rval2 != 0) {
607 pri->length &= ~07;
608 if (strlen(sysname(pri, what, raw? -1 : subcode)) < 6) {
610 pri->length += 8;
612 pri->length +=
616 pri->Errno == 0 && pri->Rval1 == 0) {
617 pri->length &= ~07;
618 pri->length +=
621 if (pri->Errno != 0 || what != SYS_execve) {
623 pri->length >>= 3;
624 if (pri->length >= 6)
626 for (; pri->length < 6; pri->length++)
630 pri->length = 0;
632 if (pri->Errno != 0) { /* error in syscall */
637 const char *ename = errname(pri->Errno);
640 (void) printf("Err#%d", pri->Errno);
645 switch (pri->ErrPriv) {
659 privname = priv_getbynum(pri->ErrPriv);
672 showargs(pri, raw);
675 long rv1 = pri->Rval1;
676 long rv2 = pri->Rval2;
723 else if ((fmt = rawsigname(pri, rv1)) != NULL) {
819 if (pri->Rval2 == 0) /* child was created */
820 pri->child = pri->Rval1;
824 if (what == SYS_lwp_create && pri->Rval1 == 0 &&
837 int fdp1 = (int)pri->sys_args[0] + 1; /* filedescriptor + 1 */
841 showpaths(pri, stp);
843 if (pri->iob_buf[0] != '\0')
845 pri->pname, pri->sys_args[1],
846 pri->iob_buf);
855 if ((ISREAD(what) && pri->Errno == 0 &&
858 long nb = ISWRITE(what) ? pri->sys_args[2] : pri->Rval1;
865 showbuffer(pri, pri->sys_args[1], nb);
881 pri->Errno == 0 && prismember(&readfd, fdp1)) ||
885 expound(pri, pri->Rval1, raw);
892 showpaths(private_t *pri, const struct systable *stp)
894 int what = pri->lwpstat->pr_what;
897 for (i = 0; i < pri->sys_nargs; i++) {
898 if (stp->arg[i] == ATC && (int)pri->sys_args[i] == AT_FDCWD) {
900 pri->pname, AT_FDCWD);
902 (stp->arg[i] == RST && !pri->Errno) ||
903 (stp->arg[i] == RLK && !pri->Errno && pri->Rval1 > 0)) {
904 long addr = pri->sys_args[i];
906 (stp->arg[i] == RLK)? (int)pri->Rval1 : PATH_MAX;
909 if (pri->sys_valid &&
913 s = pri->sys_path;
915 s = fetchstring(pri, addr,
920 pri->pname, addr, s);
929 showargs(private_t *pri, int raw)
931 const lwpstatus_t *Lsp = pri->lwpstat;
937 pri->length = 0;
963 (void) printf("\n%s\t*** Bad argument list? ***\n", pri->pname);
969 showpaths(pri, &systable[SYS_execve]);
971 show_cred(pri, FALSE, FALSE);
979 dumpargs(pri, ap, "argv:");
982 dumpargs(pri, ap, "envp:");
990 dumpargs(private_t *pri, long ap, const char *str)
1018 putpname(pri);
1026 pri->pname);
1033 string = fetchstring(pri, arg, PATH_MAX);
1044 putpname(pri);
1057 showbuffer(private_t *pri, long offset, long count)
1077 putpname(pri);