HELP IOCTL                                     Chris Slymon, August 1984
                                     Revised by Robert Duncan, June 1992

Interface to the BSD 4.2 TTY ioctl calls.


    CONTENTS - (Use <ENTER> g to access required sections)

 -- Introduction
 -- ioctl_tchars
 -- ioctl_ltchars
 -- ioctl_sgttyb
 -- ioctl_locals


-- Introduction -------------------------------------------------------

This file describes the four library files which define constants for
use with -sys_io_control-. Calls of -sys_io_control- may then have the
same form as the "ioctl" calls described in section tty(4) of the Unix
Programmers manual.

This library is, basically, the original BSD 4.2 version of the include
file <sys/ioctl.h> translated into POP-11, and split into chunks based
(broadly) on the structures required by the -sys_io_control- call.

See REF * SYSIO for full details of -sys_io_control-.


-- ioctl_tchars -------------------------------------------------------

    lib ioctl_tchars;

This defines the constants used for setting/reading the 'tchars'
structure, i.e. interrupt characters. These are:

    TIOCSETC     /* set special chars */
    TIOCGETC     /* get special chars */

The structure required for these -sys_io_control- operations is a 6
character string. E.g.

    vars buffer = inits(6);
    sys_io_control(poprawdevin, TIOCGETC, buffer) =>

reads the interrupt characters.


-- ioctl_ltchars ------------------------------------------------------

    lib ioctl_ltchars;

This defines the constants used for setting/reading the 'ltchars'
structure, i.e. the 'local' interrupt characters for the 'new' tty
driver. These are:

    TIOCSLTC     /* set local special chars */
    TIOCGLTC     /* get local special chars */

As above, a 6-character string is a suitable structure for these
operations.


-- ioctl_sgttyb -------------------------------------------------------

    lib ioctl_sgttyb;

This defines the constants used for setting/reading the 'sgttyb'
structure, i.e. the basic mode settings for the new tty driver. E.g.

    TIOCGETP        /* get parameters -- gtty */
    B9600           /* Terminal speed 9600 baud */
    CRMOD           /* map \r to \r\n on output */

The structure to be used with this last call must be "byte-accessible"
and have four 8-bit fields and one 16-bit field, e.g.

    recordclass sgttyb
        dummy       : full  /* dummy first field */
        sg_ispeed   : 8     /* input speed */
        sg_ospeed   : 8     /* output speed */
        sg_erase    : 8     /* erase character */
        sg_kill     : 8     /* kill character */
        sg_flags    : 16    /* mode flags */
    ;


-- ioctl_locals -------------------------------------------------------

    lib ioctl_locals;

This defines the constants used for setting/reading the local mode word
of the tty driver. E.g.

    TIOCLGET      /* get the local mode word */
    TIOCLSET      /* set entire local mode word */
    LDECCTQ       /* only ^Q starts after ^S */
    LNOFLSH       /* no output flush on signal */
    TIOCLBIC      /* bic local mode bits */

The structure required for this call must have one 32-bit field, e.g.

    vars buffer = initintvec(1);
    sys_io_control(poprawdevin, TIOCLGET, buffer) =>


--- C.unix/help/ioctl
--- Copyright University of Sussex 1992. All rights reserved. ----------
