Annotation of xinu/sys/tdump.c, revision 1.1.1.1

1.1       root        1: /* tdump.c - tdump, tdumph, tdump1 */
                      2: 
                      3: #include <conf.h>
                      4: #include <kernel.h>
                      5: #include <tty.h>
                      6: 
                      7: /*
                      8:  * routines to dump contents of tty control block
                      9:  */
                     10: static char    *unctrl[]       = {     /* unctrl codes for ttys        */
                     11:        "^@", "^A", "^B", "^C", "^D", "^E", "^F", "^G", "^H", "^I", "^J", "^K",
                     12:        "^L", "^M", "^N", "^O", "^P", "^Q", "^R", "^S", "^T", "^U", "^V", "^W",
                     13:        "^X", "^Y", "^Z", "^[", "^\\", "^]", "^~", "^_",
                     14:        " ", "!", "\"", "#", "$",  "%", "&", "'", "(", ")", "*", "+", ",", "-",
                     15:        ".", "/", "0",  "1", "2",  "3", "4", "5", "6", "7", "8", "9", ":", ";",
                     16:        "<", "=", ">",  "?", "@",  "A", "B", "C", "D", "E", "F", "G", "H", "I",
                     17:        "J", "K", "L",  "M", "N",  "O", "P", "Q", "R", "S", "T", "U", "V", "W",
                     18:        "X", "Y", "Z",  "[", "\\", "]", "^", "_", "`", "a", "b", "c", "d", "e",
                     19:        "f", "g", "h",  "i", "j",  "k", "l", "m", "n", "o", "p", "q", "r", "s",
                     20:        "t", "u", "v",  "w", "x",  "y", "z", "{", "|", "}", "~", "^?"
                     21: };
                     22: 
                     23: /*------------------------------------------------------------------------
                     24:  *  tdump  --  dump the tty control blocks
                     25:  *------------------------------------------------------------------------
                     26:  */
                     27: tdump()
                     28: {
                     29:        int i;
                     30: 
                     31:        for (i=0 ; i<Ntty ; i++)
                     32:                tdump1(i);
                     33: }
                     34: 
                     35: /*------------------------------------------------------------------------
                     36:  *  tdumph  --  dump the tty control block
                     37:  *------------------------------------------------------------------------
                     38:  */
                     39: tdumph()
                     40: {
                     41:        tdump();
                     42: }
                     43: 
                     44: /*------------------------------------------------------------------------
                     45:  *  tdump1  --  dump one tty control block
                     46:  *------------------------------------------------------------------------
                     47:  */
                     48: tdump1(tnum)
                     49: int tnum;
                     50: {
                     51:         register struct tty *iptr;
                     52:         PStype ps;
                     53:        int i;
                     54: 
                     55:         disable(ps);
                     56:         iptr = &tty[tnum];
                     57:        kprintf("Tty %d CSR at %o\n",tnum,iptr->ioaddr);
                     58:         kprintf("INPUT -- tail at %d head at %d sem # %d value %d\n",
                     59:                iptr->itail,iptr->ihead,iptr->isem,i=scount(iptr->isem));
                     60:        if (i<0)
                     61:                i=0;
                     62:        else if (i > IBUFLEN)
                     63:                i = IBUFLEN;
                     64:        tqdump(iptr->itail,i,IBUFLEN,iptr->ibuff);
                     65:         kprintf("OUTPUT -- tail at %d head at %d sem # %d value %d\n",
                     66:                iptr->otail,iptr->ohead,iptr->osem,i=scount(iptr->osem));
                     67:        i = OBUFLEN - i;
                     68:        if (i < 0)
                     69:                i = 0;
                     70:        else if (i>OBUFLEN)
                     71:                i = OBUFLEN;
                     72:        tqdump(iptr->otail,i,OBUFLEN,iptr->obuff);
                     73:         restore(ps);
                     74: }
                     75: static tqdump(start, len, maxlen, buff)
                     76: int start,len,maxlen;
                     77: char *buff;
                     78: {
                     79:        register int i;
                     80:         for ( i=start ; len>0 ; len-- ) {
                     81:                 if ( buff[i]&0200 ) kprintf("M-");
                     82:                 kprintf("%s",unctrl[buff[i]&0177]);
                     83:                if (++i >= maxlen)
                     84:                        i = 0;
                     85:         }
                     86:        kprintf("\n");
                     87: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.