canputnext(9F) Kernel Functions for Drivers canputnext(9F)NAME
canputnext, bcanputnext - test for room in next module's message queue
SYNOPSIS
#include <sys/stream.h>
int canputnext(queue_t *q);
int bcanputnext(queue_t *q, unsigned char pri);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
q Pointer to a message queue belonging to the invoking module.
pri Minimum priority level.
DESCRIPTION
The invocation canputnext(q); is an atomic equivalent of the canput(q->q_next); routine. That is, the STREAMS framework provides whatever
mutual exclusion is necessary to insure that dereferencing q through its q_next field and then invoking canput(9F) proceeds without inter-
ference from other threads.
bcanputnext(q, pri); is the equivalent of the bcanput(q->q_next, pri); routine.
canputnext(q); and bcanputnext(q, pri); should always be used in preference to canput(q->q_next); and bcanput(q->q_next, pri); respec-
tively.
See canput(9F) and bcanput(9F) for further details.
RETURN VALUES
1 If the message queue is not full.
0 If the queue is full.
CONTEXT
canputnext() and bcanputnext() can be called from user or interrupt context.
WARNINGS
Drivers are responsible for both testing a queue with canputnext() or bcanputnext() and refraining from placing a message on the queue if
the queue is full.
SEE ALSO bcanput(9F), canput(9F)
Writing Device Drivers
STREAMS Programming Guide
SunOS 5.10 31 Jan 1993 canputnext(9F)
Check Out this Related Man Page
canputnext(9F) Kernel Functions for Drivers canputnext(9F)NAME
canputnext, bcanputnext - test for room in next module's message queue
SYNOPSIS
#include <sys/stream.h>
int canputnext(queue_t *q);
int bcanputnext(queue_t *q, unsigned char pri);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
q Pointer to a message queue belonging to the invoking module.
pri Minimum priority level.
DESCRIPTION
The invocation canputnext(q); is an atomic equivalent of the canput(q->q_next); routine. That is, the STREAMS framework provides whatever
mutual exclusion is necessary to insure that dereferencing q through its q_next field and then invoking canput(9F) proceeds without inter-
ference from other threads.
bcanputnext(q, pri); is the equivalent of the bcanput(q->q_next, pri); routine.
canputnext(q); and bcanputnext(q, pri); should always be used in preference to canput(q->q_next); and bcanput(q->q_next, pri); respec-
tively.
See canput(9F) and bcanput(9F) for further details.
RETURN VALUES
1 If the message queue is not full.
0 If the queue is full.
CONTEXT
canputnext() and bcanputnext() can be called from user or interrupt context.
WARNINGS
Drivers are responsible for both testing a queue with canputnext() or bcanputnext() and refraining from placing a message on the queue if
the queue is full.
SEE ALSO bcanput(9F), canput(9F)
Writing Device Drivers
STREAMS Programming Guide
SunOS 5.10 31 Jan 1993 canputnext(9F)
What is the point of this? Whenever I close my shell it appends to the history file without adding this. I have never seen it overwrite my history file.
# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend (3 Replies)