Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.

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

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

     #include <sys/conf.h>

     ttyldisc_add(struct linesw *disc, int no);

     struct linesw *
     ttyldisc_remove(const char *name);

     struct linesw *
     ttyldisc_lookup(const char *name);

     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

     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
                        compatibility 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.


     The linedisc functions were added in NetBSD 1.6.

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

NetBSD 9.99                    November 1, 2000                    NetBSD 9.99