- NetBSD Manual Pages
LINEDISC(9) NetBSD Kernel Developer's Manual LINEDISC(9)
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.
linedisc, ttyldisc_add, ttyldisc_lookup, ttyldisc_remove -- extensible
line discipline framework
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 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.
The linedisc functions were added in NetBSD 1.6.
The NetBSD extensible line discipline framework was created by Eduardo
NetBSD 9.2 November 1, 2000 NetBSD 9.2