- printf(" %d\n", tp->t_line);
- }
-}
-
-dousr()
-{
- struct user U;
- register i, j, *ip;
- register struct nameidata *nd = &U.u_nd;
-
- /* This wins only if CLBYTES >= sizeof (struct user) */
- lseek(fm, ubase * NBPG, 0);
- read(fm, &U, sizeof(U));
- printf("pcb");
- ip = (int *)&U.u_pcb;
- while (ip < &U.u_arg[0]) {
- if ((ip - (int *)&U.u_pcb) % 4 == 0)
- printf("\t");
- printf("%x ", *ip++);
- if ((ip - (int *)&U.u_pcb) % 4 == 0)
- printf("\n");
- }
- if ((ip - (int *)&U.u_pcb) % 4 != 0)
- printf("\n");
- printf("arg");
- for (i=0; i<sizeof(U.u_arg)/sizeof(U.u_arg[0]); i++) {
- if (i%5==0)
- printf("\t");
- printf(" %.1x", U.u_arg[i]);
- if (i%5==4)
- printf("\n");
- }
- if (i%5)
- printf("\n");
- printf("segflg\t%d\nerror %d\n", nd->ni_segflg, U.u_error);
- printf("uids\t%d,%d,%d,%d\n", U.u_uid,U.u_gid,U.u_ruid,U.u_rgid);
- printf("procp\t%.1x\n", U.u_procp);
- printf("ap\t%.1x\n", U.u_ap);
- printf("r_val?\t%.1x %.1x\n", U.u_r.r_val1, U.u_r.r_val2);
- printf("base, count, offset %.1x %.1x %ld\n", nd->ni_base,
- nd->ni_count, nd->ni_offset);
- printf("cdir rdir %.1x %.1x\n", U.u_cdir, U.u_rdir);
- printf("dirp %.1x\n", nd->ni_dirp);
- printf("dent %d %.14s\n", nd->ni_dent.d_ino, nd->ni_dent.d_name);
- printf("pdir %.1o\n", nd->ni_pdir);
- printf("file");
- for (i=0; i<NOFILE; i++) {
- if (i % 8 == 0)
- printf("\t");
- printf("%9.1x", U.u_ofile[i]);
- if (i % 8 == 7)
- printf("\n");
- }
- if (i % 8)
- printf("\n");
- printf("pofile");
- for (i=0; i<NOFILE; i++) {
- if (i % 8 == 0)
- printf("\t");
- printf("%9.1x", U.u_pofile[i]);
- if (i % 8 == 7)
- printf("\n");
- }
- if (i % 8)
- printf("\n");
- printf("ssave");
- for (i=0; i<sizeof(label_t)/sizeof(int); i++) {
- if (i%5==0)
- printf("\t");
- printf("%9.1x", U.u_ssave.val[i]);
- if (i%5==4)
- printf("\n");
- }
- if (i%5)
- printf("\n");
- printf("sigs");
- for (i=0; i<NSIG; i++) {
- if (i % 8 == 0)
- printf("\t");
- printf("%.1x ", U.u_signal[i]);
- if (i % 8 == 7)
- printf("\n");
- }
- if (i % 8)
- printf("\n");
- printf("code\t%.1x\n", U.u_code);
- printf("ar0\t%.1x\n", U.u_ar0);
- printf("prof\t%x %x %x %x\n", U.u_prof.pr_base, U.u_prof.pr_size,
- U.u_prof.pr_off, U.u_prof.pr_scale);
- printf("\neosys\t%d\n", U.u_eosys);
- printf("ttyp\t%.1x\n", U.u_ttyp);
- printf("ttyd\t%d,%d\n", major(U.u_ttyd), minor(U.u_ttyd));
- printf("comm %.14s\n", U.u_comm);
- printf("start\t%ld\n", U.u_start.tv_sec);
- printf("acflag\t%ld\n", U.u_acflag);
- printf("cmask\t%ld\n", U.u_cmask);
- printf("sizes\t%.1x %.1x %.1x\n", U.u_tsize, U.u_dsize, U.u_ssize);
- printf("ru\t");
- ip = (int *)&U.u_ru;
- for (i = 0; i < sizeof(U.u_ru)/sizeof(int); i++)
- printf("%ld ", ip[i]);
- printf("\n");
- ip = (int *)&U.u_cru;
- printf("cru\t");
- for (i = 0; i < sizeof(U.u_cru)/sizeof(int); i++)
- printf("%ld ", ip[i]);
- printf("\n");
-#ifdef notdef
- i = U.u_stack - &U;
- while (U[++i] == 0);
- i &= ~07;
- while (i < 512) {
- printf("%x ", 0140000+2*i);
- for (j=0; j<8; j++)
- printf("%9x", U[i++]);
- printf("\n");