PUTNEXTCTL1(9F)         Kernel Functions for Drivers         PUTNEXTCTL1(9F)
NAME
       putnextctl1 - send a control message with a one-byte parameter to a
       queue
SYNOPSIS
       #include <sys/stream.h>       
int putnextctl1(
queue_t *q, 
int type, 
int p);
INTERFACE LEVEL
       Architecture independent level 1 (DDI/DKI).
PARAMETERS
       q               Queue to which the message is to be sent.       
type               Type of message.       
p               One-byte parameter.
DESCRIPTION
       The 
putnextctl1() function, like 
putctl1(9F), tests the 
type argument
       to make sure a data type has not been specified, and attempts to
       allocate a message block. The 
p parameter can be used, for example,
       to specify how long the delay will be when an 
M_DELAY message is
       being sent.  
putnextctl1() fails if 
type is 
M_DATA, 
M_PROTO, or       
M_PCPROTO, or if a message block cannot be allocated. If successful,       
putnextctl1() calls the 
put(9E) routine of the queue pointed to by 
q       with the newly allocated and initialized message.
       A call to 
putnextctl1(q,
type, p) is an atomic equivalent of       
putctl1(q->q_next, type, p). The STREAMS framework provides whatever
       mutual exclusion is necessary to insure that dereferencing 
q through
       its 
q_next field and then invoking 
putctl1(9F) proceeds without
       interference from other threads.
       The 
putnextctl1() function should always be used in preference to       
putctl1(9F)RETURN VALUES
       On success, 
1 is returned. 
0 is returned if 
type is a data type, or
       if a message block cannot be allocated.
CONTEXT
       The 
putnextctl1() function can be called from user, interrupt, or
       kernel context.
EXAMPLES
       See the 
putnextctl(9F) function page for an example of 
putnextctl1().
SEE ALSO
       put(9E), 
allocb(9F), 
datamsg(9F), 
putctl1(9F), 
putnextctl(9F)       Writing Device Drivers       STREAMS Programming Guide                              January 16, 2006               PUTNEXTCTL1(9F)