|
|
1.1 root 1: /* ttyputc.c - ttyputc */
2:
3: #include <conf.h>
4: #include <kernel.h>
5: #include <tty.h>
6: #include <io.h>
7: #include <slu.h>
8:
9: /*------------------------------------------------------------------------
10: * ttyputc - write one character to a tty device
11: *------------------------------------------------------------------------
12: */
13: ttyputc(devptr, ch )
14: struct devsw *devptr;
15: char ch;
16: {
17: struct tty *iptr;
18: PStype ps;
19:
20: iptr = &tty[devptr->dvminor];
21: if ( ch==NEWLINE && iptr->ocrlf )
22: ttyputc(devptr,RETURN);
23: disable(ps);
24: wait(iptr->osem); /* wait for space in queue */
25: iptr->obuff[iptr->ohead++] = ch;
26: if (iptr->ohead >= OBUFLEN)
27: iptr->ohead = 0;
28: (iptr->ioaddr)->ctstat = SLUENABLE;
29: restore(ps);
30: return(OK);
31: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.