put(D3) put(D3)
NAME
put - call a put procedure
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
void put(queue_t *q, mblk_t *mp);
Arguments
q Pointer to a message queue.
mp Pointer to the message block being passed.
DESCRIPTION
put calls the put procedure (put(D2) entry point) for the
queue specified by q, passing it the arguments q and mp.
Return Values
None
USAGE
put is typically used by a driver or module to call its own
put procedure so that the proper accounting is done in the
stream.
On multiprocessor systems, DDI/DKI conforming drivers and
modules are no longer permitted to call put procedures
directly, but must call through the appropriate STREAMS
utility function-for example, put(D3), putnext(D3),
putctl(D3), putnextctl(D3), qreply(D3). put(q, mp) is
provided as a DDI/DKI-conforming equivalent to a direct call
to a put procedure, which is no longer allowed.
Level
Base or Interrupt.
Synchronization Constraints
Does not sleep.
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(D3)]
when calling this function.
Copyright 1994 Novell, Inc. Page 1
put(D3) put(D3)
REFERENCES
put(D2), putctl(D3), putctl1(D3), putnext(D3), putnextctl(D3),
putnextctl1(D3), qreply(D3)
NOTICES
Portability
All processors
Applicability
ddi: 3, 5, 5mp, 6, 6mp, 7, 7mp
Copyright 1994 Novell, Inc. Page 2