DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
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