Annotation of coherent/a/usr/man/COHERENT/termio, revision 1.1

1.1     ! root        1: 
        !             2: 
        !             3: termio                    Device Driver                    termio
        !             4: 
        !             5: 
        !             6: 
        !             7: 
        !             8: General terminal interface
        !             9: 
        !            10: 
        !            11: Under the  COHERENT system, all  asynchronous ports use  the same
        !            12: interface, no matter what hardware is involved.  The remainder of
        !            13: this section discusses the common features of this interface.
        !            14: 
        !            15: When a terminal file is opened, it normally causes the process to
        !            16: wait  until a  connection  is established.   In practice,  users'
        !            17: programs seldom open these  files; they are opened by the program
        !            18: getty  and become  a  user's standard  input,  output, and  error
        !            19: files.  The very first  terminal file opened by the process group
        !            20: leader of  a terminal file not already  associated with a process
        !            21: group becomes  the control terminal for  that process group.  The
        !            22: control terminal plays a special role in handling quit and inter-
        !            23: rupt signals,  as discussed below.   The control terminal  is in-
        !            24: herited by a child process during  a call to fork.  A process can
        !            25: break  this  association  by  changing  its process  group  using
        !            26: setpgrp.
        !            27: 
        !            28: A terminal associated with one of these files ordinarily operates
        !            29: in full-duplex  mode.  Characters can be typed  at any time, even
        !            30: while output  is occurring, and  are only lost  when the system's
        !            31: input buffers become completely  full, which is rare, or when the
        !            32: user has accumulated  the maximum allowed number of input charac-
        !            33: ters that  have not  yet been  read by some  program.  Currently,
        !            34: this limit  is 256 characters.  When the  input limit is reached,
        !            35: the sytems throws away all the saved characters without notice.
        !            36: 
        !            37: Normally, terminal input is  processed in units of lines.  A line
        !            38: is delimited  by a newline  character (ASCII LF),  an end-of-file
        !            39: character (ASCII  EOT), or an end-of-line  character.  This means
        !            40: that a program attempting to  read will be suspended until an en-
        !            41: tire line  has been typed.   Also, no matter  how many characters
        !            42: are  requested  in  the read  call,  at  most  one  line will  be
        !            43: returned.  It is not, however,  necessary to read a whole line at
        !            44: once; any  number of characters may be requested  in a read, even
        !            45: one, without losing information.
        !            46: 
        !            47: During  input,  the  system  normally  processes erase  and  kill
        !            48: characters.  By default,  the backspace character erases the last
        !            49: character typed, except that  it will not erase beyond the begin-
        !            50: ning of  the line.  By default, the  <ccttrrll-UU> calls (deletes) the
        !            51: entire input  line, and  optionally outputs a  newline character.
        !            52: Both these characters  operate on a keystroke-by-keystroke basis,
        !            53: independently of  any backspacing or tabbing  which may have been
        !            54: done.  Both  the erase and kill characters  may be entered liter-
        !            55: ally by  preceding them with  the escape character  (\).  In this
        !            56: case, the escape character is not read.  You may change the erase
        !            57: and kill characters.
        !            58: 
        !            59: Certain  characters  have  special  functions  on  input.   These
        !            60: functions and  their default  character values are  summarized as
        !            61: follows:
        !            62: 
        !            63: 
        !            64: COHERENT Lexicon                                           Page 1
        !            65: 
        !            66: 
        !            67: 
        !            68: 
        !            69: termio                    Device Driver                    termio
        !            70: 
        !            71: 
        !            72: 
        !            73: 
        !            74: IINNTTRR      (<ccttrrll-CC>  or ASCII ETX) generates  an interrupt signal
        !            75:           that is sent  to all processes with the associated con-
        !            76:           trol terminal.   Normally, each such  process is forced
        !            77:           to terminate,  but arrangements  may be made  either to
        !            78:           ignore the  signal or to  receive a trap  to an agreed-
        !            79:           upon location; see the Lexicon entry for signal.
        !            80: 
        !            81: QQUUIITT      (Control-\  or ASCII ES) generates  a quit signal.  Its
        !            82:           treatment is identical  to that of the interrupt signal
        !            83:           except that, unless  a receiving process has made other
        !            84:           arrangements, it will not only be terminated but a core
        !            85:           image file (called ccoorree) will be created in the current
        !            86:           working directory.
        !            87: 
        !            88: EERRAASSEE     (<bbaacckkssppaaccee> or  ASCII BS) erases the preceding charac-
        !            89:           ter.  It will not erase  beyond the start of a line, as
        !            90:           delimited by a newline, EOF, or EOL character.
        !            91: 
        !            92: KKIILLLL       (<ccttrrll-UU> or  ASCII NAK) deletes  the entire  line, as
        !            93:           delimited by a newline, EOF, or EOL character.
        !            94: 
        !            95: EEOOFF        (<ccttrrll-DD>  or  ASCII  EOT)  generates  an  end-of-file
        !            96:           character  from  a terminal.   When  received, all  the
        !            97:           characters waiting to be read are immediately passed to
        !            98:           the program without  waiting for a newline, and the EOF
        !            99:           is  discarded.   Thus, if  no  characters are  waiting,
        !           100:           which is to say the  EOF occurred at the beginning of a
        !           101:           line.  zero  characters will  be passed back,  which is
        !           102:           the standard end-of-file indication.
        !           103: 
        !           104: NNLL        (ASCII LF) is  the normal line delimiter.  It cannot be
        !           105:           changed or escaped.
        !           106: 
        !           107: EEOOLL       (ASCII  LF) is an  additional line delimiter,  line NL.
        !           108:           It is not normally used.
        !           109: 
        !           110: SSTTOOPP      (<ccttrrll-SS> or ASCII  DC3) can be used to suspend output.
        !           111:           It is useful  with CRT terminals to prevent output from
        !           112:           disappearing before  it can  be read.  While  output is
        !           113:           suspended, STOP characters are ignored and not read.
        !           114: 
        !           115: SSTTAARRTT     (<ccttrrll-QQ>  or ASCII DC1)  resumes output that  has been
        !           116:           suspended  by a  STOP character.   While output  is not
        !           117:           suspended, START  characters are ignored  and not read.
        !           118:           The  start/stop characters  can not  be changed  or es-
        !           119:           caped.
        !           120: 
        !           121: The character  values for INTR,  QUIT, ERASE, KILL,  EOF, and EOL
        !           122: may be changed.  to suit individual tastes.  The ERASE, KILL, and
        !           123: EOF character may be escaped by a preceding \ character, in which
        !           124: case the system ignores its special meaning.
        !           125: 
        !           126: When the carrier signal  from the data-set drops, a hangup signal
        !           127: is sent  to all processes that have this  terminal as the control
        !           128: 
        !           129: 
        !           130: COHERENT Lexicon                                           Page 2
        !           131: 
        !           132: 
        !           133: 
        !           134: 
        !           135: termio                    Device Driver                    termio
        !           136: 
        !           137: 
        !           138: 
        !           139: terminal.  Unless other  arrangements have been made, this signal
        !           140: causes the  process to  terminate.  If  the hangup signal  is ig-
        !           141: nored, any  subsequent read  returns with an  end-of-file indica-
        !           142: tion.  Thus  programs that read  a terminal and  test for end-of-
        !           143: file can terminate appropriately when hung up on.
        !           144: 
        !           145: When one or more  characters are written, they are transmitted to
        !           146: the  terminal  as  soon  as  previously written  characters  have
        !           147: finished  typing.  Input  characters are  echoed by  putting them
        !           148: into  the output  queue as  they arrive.   If a  process produces
        !           149: characters  more rapidly  than they  can be  printed, it  will be
        !           150: suspended  when its  output queue exceeds  some limit.   When the
        !           151: queue has drained down to some threshold, the program resumes.
        !           152: 
        !           153: Several  calls to  ioctl apply  to  terminal files.   The primary
        !           154: calls use the following structure, defined in <tteerrmmiioo.hh>:
        !           155: 
        !           156: 
        !           157: #define NCC 8
        !           158: struct termio {
        !           159:         unsigned short c_iflag;    /* input modes */
        !           160:         unsigned short c_oflag;    /* output modes */
        !           161:         unsigned short c_cflag;    /* control modes */
        !           162:         unsigned short c_lflag;    /* local modes */
        !           163:         char           c_line;     /* line discipline */
        !           164:         unsigned char  c_cc[NCC];  /* control chars */
        !           165: };
        !           166: 
        !           167: 
        !           168: The  special control  characters are defined  by the  array c_cc.
        !           169: The relative  positions and initial values  for each function are
        !           170: as follows:
        !           171: 
        !           172: 
        !           173: 0   INTR      ^C
        !           174: 1   QUIT      ^\
        !           175: 2   ERASE     \b
        !           176: 3   KILL      ^U
        !           177: 4   EOF       ^D
        !           178: 5   EOL       \n
        !           179: 6   reserved
        !           180: 7   reserved
        !           181: 
        !           182: 
        !           183: The field c_iflag describes the basic terminal input control:
        !           184: 
        !           185: 
        !           186:      IGNBRK    0000001   Ignore break condition.
        !           187:      BRKINT    0000002   Signal interrupt on break.
        !           188:      IGNPAR    0000004   Ignore characters with parity errors.
        !           189:      PARMRK    0000010   Mark parity errors.
        !           190:      INPCK     0000020   Enable input parity check.
        !           191:      ISTRIP    0000040   Strip character.
        !           192:      INLCR     0000100   Map NL to CR on input.
        !           193:      IGNCR     0000200   Ignore CR.
        !           194: 
        !           195: 
        !           196: COHERENT Lexicon                                           Page 3
        !           197: 
        !           198: 
        !           199: 
        !           200: 
        !           201: termio                    Device Driver                    termio
        !           202: 
        !           203: 
        !           204: 
        !           205:      ICRNL     0000400   Map CR to NL on input.
        !           206:      IUCLC     0001000   Map upper-case to lower-case on input.
        !           207:      IXON      0002000   Enable start/stop output control.
        !           208:      IXANY     0004000   Enable any character to restart output.
        !           209:      IXOFF     0010000   Enable start/stop input control.
        !           210: 
        !           211: 
        !           212: If IGNBRK is  set, the break condition (a character-framing error
        !           213: with data  all zeros) is ignored,  that is, not put  on the input
        !           214: queue  and therefore  not  read by  any  process.  Otherwise,  if
        !           215: BRKINT is set,  the break condition generates an interrupt signal
        !           216: and flushes both the input  and output queues.  If IGNPAR is set,
        !           217: characters with other framing and parity errors are ignored.
        !           218: 
        !           219: If  PARMRK is  set, a  character with a  framing or  parity error
        !           220: which  is not  ignored is  read as  the three  character sequence
        !           221: 0377, 0, X, where X is  the data of the character received in er-
        !           222: ror.  To  avoid ambiguity in this  case, if ISTRIP is  not set, a
        !           223: valid character of 0377 is read  as 0377, 0377.  If PARMRK is not
        !           224: set, a  framing or parity error  which is not ignored  is read as
        !           225: the character NUL.
        !           226: 
        !           227: If INPCK  is set, input parity checking is  enabled.  If INPCK is
        !           228: not set,  input parity checking is  disabled.  This allows output
        !           229: parity generation without input parity errors.
        !           230: 
        !           231: If ISTRIP  is set, valid input characters  are stripped to 7-bits
        !           232: before being processed; otherwise, all eight bits are processed.
        !           233: 
        !           234: If INLCR is set, a received  NL character is translated into a CR
        !           235: character.  If  IGNCR is set, a received  CR character is ignored
        !           236: (not read).   Otherwise if ICRNL is set,  a received CR character
        !           237: is translated into a NL character.
        !           238: 
        !           239: If IUCLC  is set, a  received upper-case alphabetic  character is
        !           240: translated into the corresponding lower-case character.
        !           241: 
        !           242: If IXON is set, start/stop output control is enabled.  A received
        !           243: STOP character will suspend output and a received START character
        !           244: will restart  output.  All start/stop characters  are ignored and
        !           245: not read.  If IXANY is set, any input character will restart out-
        !           246: put which has been suspended.
        !           247: 
        !           248: IF IXOFF  is set, the system  will transmit START/STOP characters
        !           249: when the input queue is nearly empty/full.
        !           250: 
        !           251: The initial input control value is all bits clear.
        !           252: 
        !           253: The field c_oflag field specifies the system treatment of output:
        !           254: 
        !           255: OPOST     0000001   Postprocess output.
        !           256: OLCUC     0000002   Map lower case to upper on output.
        !           257: ONLCR     0000004   Map NL to CR-NL on output.
        !           258: OCRNL     0000010   Map CR to NL on output.
        !           259: ONOCR     0000020   No CR output at column 0.
        !           260: 
        !           261: 
        !           262: COHERENT Lexicon                                           Page 4
        !           263: 
        !           264: 
        !           265: 
        !           266: 
        !           267: termio                    Device Driver                    termio
        !           268: 
        !           269: 
        !           270: 
        !           271: ONLRET    0000040   NL performs CR function.
        !           272: OFILL     0000100   Use fill characters for delay.
        !           273: OFDEL     0000200   Fill is DEL, else NUL.
        !           274: NLDLY     0000400   Select new-line delays:
        !           275: NL0       0
        !           276: NL1       0000400
        !           277: CRDLY     0003000   Select carriage-return delays:
        !           278: CR0       0
        !           279: CR1       0001000
        !           280: CR2       0002000
        !           281: CR3       0003000
        !           282: TABDLY    0014000   Select horizontal-tab delays:
        !           283: TAB0      0
        !           284: TAB1      0004000
        !           285: TAB2      0010000
        !           286: TAB3      0014000   Expand tabs to spaces.
        !           287: BSDLY     0020000   Select backspace delays:
        !           288: BS0       0
        !           289: BS1       0020000
        !           290: VTDLY     0040000   Select vertical-tab delays:
        !           291: VT0       0
        !           292: VT1       0040000
        !           293: FFDLY     0100000   Select form-feed delays:
        !           294: FF0       0
        !           295: FF1       0100000
        !           296: 
        !           297: If  OPOST is  set, output  characters  are post-processed  as in-
        !           298: dicated by the  remaining flags; otherwise, characters are trans-
        !           299: mitted without change.
        !           300: 
        !           301: If OLCUC is set, a lower-case alphabetic character is transmitted
        !           302: as the corresponding  upper-case character.  This function is of-
        !           303: ten used with IUCLC.
        !           304: 
        !           305: If ONLCR  is set,  the NL character  is transmitted as  the CR-NL
        !           306: character pair.  If OCRNL is set, the CR character is transmitted
        !           307: as the NL character.  If ONOCR  is set, no CR character is trans-
        !           308: mitted when at column 0  (first position).  If ONLRET is set, the
        !           309: NL character  is assumed to do  the carriage-return function; the
        !           310: column pointer is set to 0  and the delays specified for CR used.
        !           311: Otherwise, the  NL character is assumed to  do just the line-feed
        !           312: function;  the  column  pointer  remains unchanged.   The  column
        !           313: pointer is also  set to 0 if the CR  character is actually trans-
        !           314: mitted.
        !           315: 
        !           316: The delay  bits specify how long transmission  stops to allow for
        !           317: mechanical or other  movement when certain characters are sent to
        !           318: the terminal.  In all cases, a value of 0 indicates no delay.  If
        !           319: OFILL is  set, fill characters are  transmitted for delay instead
        !           320: of a  timed delay.  This  is useful for  high baud-rate terminals
        !           321: that  need only  a  minimal delay.   If  OFDEL is  set, the  fill
        !           322: character is DEL; otherwise, it is NUL.
        !           323: 
        !           324: If a  form-feed or vertical-tab delay is  specified, it lasts for
        !           325: about two seconds.
        !           326: 
        !           327: 
        !           328: COHERENT Lexicon                                           Page 5
        !           329: 
        !           330: 
        !           331: 
        !           332: 
        !           333: termio                    Device Driver                    termio
        !           334: 
        !           335: 
        !           336: 
        !           337: 
        !           338: Newline delay  lasts about 0.10  seconds.  If ONLRET  is set, the
        !           339: carriage-return delays  are used  instead of the  newline delays.
        !           340: If OFILL is set, two fill characters are transmitted.
        !           341: 
        !           342: Carriage-return delay  type 1 is dependent  on the current column
        !           343: position, type 2 is about 0.10  seconds, and type 3 is about 0.15
        !           344: seconds.   If  OFILL is  set,  delay type  1  transmits two  fill
        !           345: characters, and type 2 four fill characters.
        !           346: 
        !           347: Horizontal-tab delay  type 1 depends on  the current column posi-
        !           348: tion.  Type 2 is about  0.10 seconds.  Type 3 specifies that tabs
        !           349: are  to be  expanded  into spaces.   If  OFILL is  set, two  fill
        !           350: characters are transmitted for any delay.
        !           351: 
        !           352: Backspace delay  lasts about 0.05 seconds.  If  OFILL is set, one
        !           353: fill character is transmitted.
        !           354: 
        !           355: The actual delays depend on line speed and system load.
        !           356: 
        !           357: The initial output control value is all bits clear.
        !           358: 
        !           359: The field c_cflag describes the hardware control of the terminal,
        !           360: as follows:
        !           361: 
        !           362: CBAUD     0000017   Baud rate:
        !           363: B0        0         Hang up
        !           364: B50       0000001   50 baud
        !           365: B75       0000002   75 baud
        !           366: B110      0000003   110 baud
        !           367: B134      0000004   134.5 baud
        !           368: B150      0000005   150 baud
        !           369: B200      0000006   200 baud
        !           370: B300      0000007   300 baud
        !           371: B600      0000010   600 baud
        !           372: B1200     0000011   1200 baud
        !           373: B1800     0000012   1800 baud
        !           374: B2400     0000013   2400 baud
        !           375: B4800     0000014   4800 baud
        !           376: B9600     0000015   9600 baud
        !           377: B19200    0000016   19200 baud
        !           378: B38400    0000017   38400 baud
        !           379: CSIZE     0000060   Character size:
        !           380: CS5       0         5 bits
        !           381: CS6       0000020   6 bits
        !           382: CS7       0000040   7 bits
        !           383: CS8       0000060   8 bits
        !           384: CSTOPB    0000100   Send two stop bits, else one
        !           385: CREAD     0000200   Enable receiver
        !           386: PARENB    0000400   Parity enable
        !           387: PARODD    0001000   Odd parity, else even
        !           388: HUPCL     0002000   Hang up on last close
        !           389: CLOCAL    0004000   Local line, else dial-up
        !           390: 
        !           391: 
        !           392: 
        !           393: 
        !           394: COHERENT Lexicon                                           Page 6
        !           395: 
        !           396: 
        !           397: 
        !           398: 
        !           399: termio                    Device Driver                    termio
        !           400: 
        !           401: 
        !           402: 
        !           403: The CBAUD bits specify the baud rate.  The zero baud rate, B0, is
        !           404: used to  hang up the  connection.  If B0 is  specified, the data-
        !           405: terminal-ready  signal is not  asserted.  Normally,  this discon-
        !           406: nects the line.   For any particular hardware, the system ignores
        !           407: impossible changes to the speed.
        !           408: 
        !           409: The  CSIZE  bits specify  the  character size  in  bits for  both
        !           410: transmission  and  reception.  This  size  does  not include  the
        !           411: parity bit,  if any.  If CSTOPB  is set, two stop  bits are used;
        !           412: otherwise, one stop bit.  For example, at 110 baud, two stop bits
        !           413: are required.
        !           414: 
        !           415: If PARENB is set,  parity generation and detection is enabled and
        !           416: a parity  bit is added to each character.   If parity is enabled,
        !           417: the  PARODD flag  specifies odd  parity  if set;  otherwise, even
        !           418: parity is used.
        !           419: 
        !           420: If CREAD is set,  the receiver is enabled.  Otherwise, no charac-
        !           421: ters will be received.
        !           422: 
        !           423: If  HUPCL is  set, COHERENT  disconnects the  line when  the last
        !           424: process with  the line open  closes the line  or terminates; that
        !           425: is, the data-terminal-ready signal is not asserted.
        !           426: 
        !           427: If CLOCAL is set, the system assumes that the line to be a local,
        !           428: direct connection  with no modem control.   Otherwise, it assumes
        !           429: modem control.
        !           430: 
        !           431: The  initial hardware  control  value after  open  is B300,  CS8,
        !           432: CREAD, HUPCL.
        !           433: 
        !           434: The line  discipline uses the  field c_lflag to  control terminal
        !           435: functions.  The basic line discipline (0) provides the following:
        !           436: 
        !           437: 
        !           438:      ISIG      0000001   Enable signals.
        !           439:      ICANON    0000002   Canonical input (erase and kill processing).
        !           440:      XCASE     0000004   Canonical upper/lower presentation.
        !           441:      ECHO      0000010   Enable echo.
        !           442:      ECHOE     0000020   Echo erase character as BS-SP-BS.
        !           443:      ECHOK     0000040   Echo NL after kill character.
        !           444:      ECHONL    0000100   Echo NL.
        !           445:      NOFLSH    0000200   Disable flush after interrupt or quit.
        !           446: 
        !           447: 
        !           448: If ISIG  is set, the  system checks each  input character against
        !           449: the  special  control  characters INTR  and  QUIT.   If an  input
        !           450: character matches one of these control characters, the system ex-
        !           451: ecutes the  function associated with that  character.  If ISIG is
        !           452: not set, the system performs no checking; thus, these special in-
        !           453: put functions are possible only  if ISIG is set.  You can disable
        !           454: these functions individually by changing the value of the control
        !           455: character to an unlikely or impossible value (e.g. 0377).
        !           456: 
        !           457: 
        !           458: 
        !           459: 
        !           460: COHERENT Lexicon                                           Page 7
        !           461: 
        !           462: 
        !           463: 
        !           464: 
        !           465: termio                    Device Driver                    termio
        !           466: 
        !           467: 
        !           468: 
        !           469: If ICANON is  set, the system enables canonical processing.  This
        !           470: enables the  erase and  kill edit  functions, and limits  the as-
        !           471: sembly of  input characters into lines delimited  by NL, EOF, and
        !           472: EOL.  If ICANON is  not set, read requests are satisfied directly
        !           473: from  the input  queue.  A  read will not  be satisfied  until at
        !           474: least MIN characters have been received or the timeout value TIME
        !           475: has  expired.  This  allows the system  to read  efficiently fast
        !           476: bursts of input while still allowing single-character input.  The
        !           477: MIN and  TIME values are stored  in the position for  the EOF and
        !           478: EOL characters,  respectively.  The time  value represents tenths
        !           479: of seconds.
        !           480: 
        !           481: If XCASE  is set, and if  ICANON is set, an  upper-case letter is
        !           482: accepted on input by preceding it with a \ character, and is out-
        !           483: put preceded  by a \ character.  In this  mode, the following es-
        !           484: cape sequences are generated on output and accepted on input:
        !           485: 
        !           486: 
        !           487:           _F_o_r:      _U_s_e:
        !           488: 
        !           489:           `         \'
        !           490:           |         \!
        !           491:           ~         \^
        !           492:           {         \(
        !           493:           }         \)
        !           494:           \         \\
        !           495: 
        !           496: 
        !           497: For example, AA is input as \aa, \nn as \\nn, and \NN as \\\nn.
        !           498: 
        !           499: If ECHO is set, characters are echoed as received.
        !           500: 
        !           501: When ICANON is set, the following echo functions are possible: If
        !           502: ECHO and ECHOE are set, the erase character is echoed as ASCII BS
        !           503: SP BS, which clears the last character from the screen.  If ECHOE
        !           504: is set and EHO is not set, the erase character is echoed as ASCII
        !           505: SP BS.   If ECHOK is  set, the NL  character is echoed  after the
        !           506: kill character to emphasize  that the line will be deleted.  Note
        !           507: that an  escape character preceding  the erase or  kill character
        !           508: removes any special function.  If ECHONL is set, the NL character
        !           509: is echoed even if ECHO is  not set.  This is useful for terminals
        !           510: set  to local  echo (``half duplex'').   Unless escaped,  the EOF
        !           511: character is not echoed.   Because EOT is the default EOF charac-
        !           512: ter, this prevents terminals that respond to EOT from hanging up.
        !           513: 
        !           514: If NOFLSH is set, the normal flush of the input and output queues
        !           515: associated with the quit and interrupt characters is not done.
        !           516: 
        !           517: The initial line-discipline control value is all bits clear.
        !           518: 
        !           519: The primary calls to ioctl have the following form:
        !           520: 
        !           521: 
        !           522: 
        !           523: 
        !           524: 
        !           525: 
        !           526: COHERENT Lexicon                                           Page 8
        !           527: 
        !           528: 
        !           529: 
        !           530: 
        !           531: termio                    Device Driver                    termio
        !           532: 
        !           533: 
        !           534: 
        !           535: ioctl( fildes, command, arg )
        !           536: struct termio *arg;
        !           537: 
        !           538: 
        !           539: The following commands use this form:
        !           540: 
        !           541: TTCCGGEETTAA     Get the  parameters associated  with the  terminal and
        !           542:           store in the termio structure referenced by arg.
        !           543: 
        !           544: TTCCSSEETTAA    Set  the parameters  associated with the  terminal from
        !           545:           the  structure referenced  by arg.   The change  is im-
        !           546:           mediate.
        !           547: 
        !           548: TTCCSSEETTAAWW   Wait  for the  output to  drain before setting  the new
        !           549:           parameters.   This form  should be  used  when changing
        !           550:           parameters that affect output.
        !           551: 
        !           552: TTCCSSEETTAAFF    Wait for  the output  to drain,  then flush  the input
        !           553:           queue and set the new parameters.
        !           554: 
        !           555: Additional calls to ioctl have the following form:
        !           556: 
        !           557: 
        !           558: ioctl( fildes, command, arg )
        !           559: int arg;
        !           560: 
        !           561: 
        !           562: The following commands use this form:
        !           563: 
        !           564: TTCCSSBBRRKK    Wait  for the  output to drain.   If arg is  zero, then
        !           565:           send a break (zero bits for 0.25 seconds).
        !           566: 
        !           567: TTCCXXOONNCC    Start/stop control.  If arg is zero, suspend output; if
        !           568:           one, restart suspended output.
        !           569: 
        !           570: TTCCFFLLSSHH    If  arg is zero,  flush the input queue;  if one, flush
        !           571:           the output queue; if two, flush both the input and out-
        !           572:           put queues.
        !           573: 
        !           574: ***** Files *****
        !           575: 
        !           576: /dev/tty*
        !           577: 
        !           578: ***** See Also *****
        !           579: 
        !           580: device drivers, ioctl(), stty, termio.h
        !           581: 
        !           582: 
        !           583: 
        !           584: 
        !           585: 
        !           586: 
        !           587: 
        !           588: 
        !           589: 
        !           590: 
        !           591: 
        !           592: COHERENT Lexicon                                           Page 9
        !           593: 
        !           594: 

unix.superglobalmegacorp.com

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