- printf("%d mpx machines\n", M);
- printf(" LOC FLG RCH RCN XCH XCN\n");
- for(mp=mach,loc=setup[SMPXM].value; mp < &mach[M]; mp++,loc=+sizeof(mach[0])) {
- printf("%7.1o ", loc);
- putf(mp->mflag&RNEXT, 'N');
- putf(mp->mflag&MRUN, 'R');
- putf(mp->mflag&XNEXT, 'N');
- printf(" %3d", mask(mp->rchan));
- printf(" %3d", mask(mp->rcount));
- printf(" %3d", mask(mp->xchan));
- printf(" %3d", mask(mp->xcount));
- for(nc=0; nc<128; nc++) {
- cp = mp->chanp[nc];
- if(cp == 0)
- continue;
- printf(" %d-%o", nc, cp);
- }
- printf("\n");
+up(size)
+ register int size;
+{
+ register int i, block;
+
+ i = 0;
+ block = DMMIN;
+ while (i < size) {
+ i += block;
+ if (block < DMMAX)
+ block *= 2;
+ }
+ return (i);
+}
+
+vusize(p)
+struct proc *p;
+{
+ register int tsz = p->p_tsize / NPTEPG;
+
+ return (clrnd(UPAGES + clrnd(ctopt(p->p_tsize+p->p_dsize+p->p_ssize+UPAGES)) - tsz));
+}
+
+xdsize(xp)
+struct text *xp;
+{
+
+ if (xp->x_flag & XPAGI)
+ return (clrnd(xp->x_size + ctopt(xp->x_size)));
+ return (xp->x_size);
+}
+
+dompx()
+{
+ register int i;
+ struct chan chans[NCHANS];
+ struct schan schans[NPORTS];
+
+ lseek(fc, (long)nl[SCHANS].n_value, 0);
+ read(fc, chans, sizeof chans);
+ lseek(fc, (long)nl[SSCHANS].n_value, 0);
+ read(fc, schans, sizeof schans);
+
+ printf("CHAN FLAGS INDEX LINE GROUP FILE TTYP CTLX PGRP OTTYP OLINE DATQ CTLY\n");
+ for (i = 0; i < NCHANS; i++) {
+ printf("%3d ", i);
+ putf(chans[i].c_flags&INUSE, 'I');
+ putf(chans[i].c_flags&SIOCTL, 'S');
+ putf(chans[i].c_flags&XGRP, 'X');
+ putf(chans[i].c_flags&YGRP, 'Y');
+ putf(chans[i].c_flags&WCLOSE, 'W');
+ putf(chans[i].c_flags&ISGRP, 'i');
+ putf(chans[i].c_flags&BLOCK, 'B');
+ putf(chans[i].c_flags&EOTMARK, 'E');
+ putf(chans[i].c_flags&SIGBLK, 's');
+ putf(chans[i].c_flags&BLKMSG, 'b');
+ putf(chans[i].c_flags&ENAMSG, 'e');
+ putf(chans[i].c_flags&WFLUSH, 'w');
+ putf(chans[i].c_flags&NMBUF, 'N');
+ putf(chans[i].c_flags&PORT, 'P');
+ putf(chans[i].c_flags&ALT, 'A');
+ putf(chans[i].c_flags&FBLOCK, 'F');
+ printf("%8x ", chans[i].c_index);
+ printf("%3d ", chans[i].c_line);
+ printf("%8x ", chans[i].c_group);
+ printf("%8x ", chans[i].c_fy);
+ printf("%8x ", chans[i].c_ttyp);
+ printf("%8x ", chans[i].c_ctlx);
+ printf("%6d ", chans[i].c_pgrp);
+ printf("%8x ", chans[i].c_ottyp);
+ printf("%3d ", chans[i].c_oline);
+ printf("%8x ", chans[i].cx.datq);
+ printf("%8x\n", chans[i].c_ctly);