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 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 returnNULL
.
SEE ALSO
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⟩.