SCO OpenServer
run_ld(D3oddi)
run_ld --
call line discipline from multithreaded driver
Syntax
#include <sys/tty.h>
#include <sys/conf.h>
int run_ld(struct tty *tp, int flag, int arg1, int arg2, int arg3,
int arg4, int arg5);
Description
run_ld( )
runs multithreaded line discipline routines
Arguments
tp-
Pointer to the tty structure.
flag-
Indicates which line discipline routines
are multithreaded.
Valid values are:
DIST_LINESW_OPEN-
open(D2oddi)
is multithreaded
DIST_LINESW_CLOSE-
close(D2oddi)
is multithreaded
DIST_LINESW_READ-
read(D2oddi)
is multithreaded
DIST_LINESW_WRITE-
write(D2oddi)
is multithreaded
DIST_LINESW_IOCTL-
ioctl( )
is multithreaded
DIST_LINESW_INPUT-
input( )
is registered
DIST_LINESW_OUTPUT-
output( )
is registered
DIST_LINESW_MDMINT-
mdmint( )
is registered
Return values
run_ld( )
passes the return value from the routine(s) it calls.
Usage
run_ld( )
replaces a call to the linesw structure.
For example, the call
run_ld(tp, DIST_LINESW_OPEN);
replaces the call
(*linesw[tp->t_line].l_open) (tp);
Context and synchronization
run_ld( )
uses the context for the routine that is called.
Hardware applicability
All
Version applicability
oddi:
2mp, 3, 3mp, 4, 4mp, 5, 5mp, 6, 6mp
SVR5 DDI compatibility
SVR5 tty drivers are implemented as STREAMS drivers;
there is no direct parallel to this function.
References
ldistributed(D3oddi),
tty(D3oddi)
For a full discusion of line disciplines, see
Peter Kettle and Steve Statler,
Writing Device Drivers for SCO UNIX.
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 5 HDK - June 2005