PUT(9F) Kernel Functions for Drivers PUT(9F)
put - call a STREAMS put procedure
#include <sys/ddi.h> void put
, mblk_t *mp
Architecture independent level 1 (DDI/DKI).
Pointer to a STREAMS queue. mp
Pointer to message block being passed into queue.
calls the put procedure ( put(9E)
entry point) for the STREAMS
queue specified by q
, passing it the message block referred to by mp
is typically used by a driver or module to call its own put procedure.
can be called from a STREAMS module or driver put or service
routine, or from an associated interrupt handler, timeout, bufcall, or
esballoc call-back. In the latter cases, the calling code must guarantee
the validity of the q
may cause re-entry of the module (as it is intended to do),
mutexes or other locks should not be held across calls to it, due to the
risk of single-party deadlock (put(9E)
). This function is provided as a DDI/DKI conforming
replacement for a direct call to a put procedure.
SEE ALSO put(9E)
, qreply(9F) Writing Device Drivers STREAMS Programming Guide
The caller cannot have the stream frozen when calling this function. See freezestr(9F)
DDI/DKI conforming modules and drivers are no longer permitted to call
put procedures directly, but must call through the appropriate STREAMS
utility function, for example, put(9E)
, and qreply(9F)
. This function is provided as a DDI/DKI conforming replacement
for a direct call to a put procedure.
functions should be called only after qprocson()
April 28, 1992 PUT(9F)