Annotation of researchv10dc/man/manb/bk.4, revision 1.1.1.1

1.1       root        1: .TH BK 4
                      2: .UC 4
                      3: .SH NAME
                      4: bk \- line discipline for machine-machine communication
                      5: .SH SYNOPSIS
                      6: .B #include <sgtty.h>
                      7: .PP
                      8: .B int ldisc = NETLDISC, fildes;
                      9: \&...
                     10: .PP
                     11: .B ioctl(fildes, TIOCSETD, &ldisc);
                     12: .SH DESCRIPTION
                     13: This line discipline provides a replacement for the old and new
                     14: tty drivers described in
                     15: .IR tty (4)
                     16: when high speed output to
                     17: and especially input from another machine is to be transmitted
                     18: over a asynchronous communications line.  The discipline
                     19: was designed for use by the Berkeley network
                     20: .IR net (1)
                     21: but is
                     22: well suited to uploading of data from microprocessors into
                     23: the system.  If you are going to send data over asynchronous
                     24: communications lines at high speed into the system, you must
                     25: use this discipline, as the system otherwise may detect high
                     26: input data rates on terminal lines and disables the lines;
                     27: in any case the processing of such data when normal terminal
                     28: mechanisms are involved saturates the system.
                     29: .PP
                     30: A typical application program then reads a sequence of lines from
                     31: the terminal port, checking header and sequencing information on each
                     32: line and acknowledging receipt of each line to the sender, who then
                     33: transmits another line of data.  Typically several hundred bytes of
                     34: data and a smaller amount of control information will be received on
                     35: each handshake.
                     36: .PP
                     37: The old standard teletype discipline can be restored by doing:
                     38: .sp
                     39: .ft B
                     40: ldisc = OTTYDISC;
                     41: 
                     42: ioctl(fildes, TIOCSETD, &ldisc);
                     43: .ft R
                     44: .sp
                     45: While in networked mode, normal teletype output functions take place.
                     46: Thus, if an 8 bit output data path is desired, it is necessary
                     47: to prepare the output line by putting it into RAW mode using
                     48: .IR ioctl (2).
                     49: This must be done
                     50: .B before
                     51: changing the discipline with TIOCSETD, as most
                     52: .IR ioctl (2)
                     53: calls are disabled while in network line-discipline mode.
                     54: .PP
                     55: When in network mode, input processing is very limited to reduce overhead.
                     56: Currently the input path is only 7 bits wide, with newline the only
                     57: recognized character, terminating an input record.
                     58: Each input record must be read and acknowledged before the next input
                     59: is read as the system refuses to accept any new data when there
                     60: is a record in the buffer.  The buffer is limited in length, but the
                     61: system guarantees to always be willing to accept input resulting in
                     62: 512 data characters and then the terminating newline.
                     63: .PP
                     64: User level programs should provide sequencing and checksums on the
                     65: information to guarantee accurate data transfer.
                     66: .SH "SEE ALSO"
                     67: tty(4)
                     68: .SH BUGS
                     69: A standard program and protocol should be defined for
                     70: uploading data from microprocessors, so that havoc doesn't
                     71: result.
                     72: .PP
                     73: A full 8-bit input path should be provided with a mechanism
                     74: for escaping newlines into an input packet.

unix.superglobalmegacorp.com

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