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

NAME

linedisc, ttyldisc_add, ttyldisc_lookup, ttyldisc_removeextensible 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 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.

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>.
November 1, 2000 NetBSD 6.1