LINEDISC(9)            NetBSD Kernel Developer's Manual            LINEDISC(9)

NAME
     linedisc, ttyldisc_add, ttyldisc_lookup, ttyldisc_remove -- extensible
     line discipline framework

SYNOPSIS
     #include <sys/conf.h>

     int
     ttyldisc_add(struct linesw *disc, int no);

     struct linesw *
     ttyldisc_remove(const char *name);

     struct linesw *
     ttyldisc_lookup(const char *name);

DESCRIPTION
     The NetBSD TTY line discipline framework allows extensibility.  Modules
     that need special line disciplines can add them as convenient and do not
     need to modify tty_conf.c.  Line disciplines are now managed by a string,
     rather than number.

     Once the framework has been initialized, a new line discipline can be
     added by creating and initializing a struct linesw and calling
     ttyldisc_add().

     The following is a brief description of each function in the framework:

     ttyldisc_add()     Register a line discipline.  The l_name field of the
                        struct linesw should point to a string which is to be
                        the symbolic name of that line discipline.  For com-
                        patibility purposes, a line discipline number can be
                        passed in no, but for new disciplines this should be
                        set to -1.

     ttyldisc_lookup()  Look up a line discipline by name.  NULL is returned
                        if it can not be found.

     ttyldisc_remove()  Remove a line discipline called name and return a
                        pointer to it.  If the discipline cannot be found or
                        removed ttyldisc_remove() will return NULL.

SEE ALSO
     tty(4)

HISTORY
     The linedisc functions were added in NetBSD 1.6.

AUTHORS
     The NetBSD extensible line discipline framework was created by Eduardo
     Horvath <eeh@NetBSD.org>.

NetBSD 5.0_STABLE              November 1, 2000              NetBSD 5.0_STABLE
