qprocson(D3) qprocson(D3)
NAME
qprocson - enable put and service routines
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
void qprocson(queue_t *rq);
Arguments
rq Pointer to a read queue.
DESCRIPTION
qprocson enables the put and service routines of the driver or
module whose read queue is pointed to by rq. Prior to the
call to qprocson, the put and service routines of a newly
pushed module or newly opened driver are disabled. When the
routines are disabled in a module, messages flow around the
module as if it were not present in the stream.
Return Values
None
USAGE
qprocson must be called by the first open of a module or
driver after allocation and initialization of any resources on
which the put and service routines depend. Modules or drivers
should call qprocson exactly once to enable put and service
procedures. qprocsoff is called (also exactly once) to
disable these put and service procedures.
The STREAMS subsystem assumes that modules and drivers that do
not set D_MP [see devflag(D1)] do not know about qprocson and
will do the qprocson on behalf of the module or driver.
Level
Base only.
Synchronization Constraints
Can sleep.
Driver-defined basic locks and read/write locks may not be
held across calls to this function.
Driver-defined sleep locks may be held across calls to this
function.
Copyright 1994 Novell, Inc. Page 1
qprocson(D3) qprocson(D3)
The caller cannot have the stream frozen [see freezestr(D3)]
when calling this function.
REFERENCES
open(D2), put(D2), srv(D2), qprocsoff(D3)
NOTICES
Portability
All processors
Applicability
ddi: 3, 5, 5mp, 6, 6mp, 7, 7mp
Copyright 1994 Novell, Inc. Page 2