SVR5
put(D3str)
put --
call a put procedure
Synopsis (Not in ODDI)
#include <sys/stream.h>
#include <sys/ddi.h>
void put(queue_t *q, mblk_t *mp);
Description
put calls the put procedure
(put(D2str)
entry point)
for the queue specified by q, passing it the arguments
q and mp.
Arguments
q-
Pointer to a message queue.
mp-
Pointer to the message block being passed.
Return values
None
Usage
put is typically used by a driver or module
to call its own
put(D2str)
procedure so that the proper accounting is done in the stream.
On multiprocessor systems,
DDI drivers and modules
are no longer permitted to call
put( )
procedures directly, but must call through the
appropriate STREAMS utility function, such as
put(D3str),
putnext(D3str),
putctl(D3str),
putnextctl(D3str),
or
qreply(D3str).
put(q, mp) is provided as
a DDI conformant equivalent to a
direct call to a put procedure,
which is not allowed in current DDI versions.
Context
Base or Interrupt.
Synchronization constraints
Does not block.
Driver-defined basic locks, read/write locks, and sleep locks
may not be held across calls to this function.
The caller cannot have the stream frozen (see
freezestr(D3str))
when calling this function.
Hardware applicability
All
Version applicability
ddi:
3, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp
Differences between versions
This function is not required for ODDI drivers.
The
sdistributed(D3oddi)
function handles potential problems for
multithreaded drivers.
References
qreply(D3str),
put(D2str),
putctl(D3str),
putctl1(D3str),
putnext(D3str),
putnextctl(D3str),
putnextctl1(D3str)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005