QUNBUFCALL(9F) Kernel Functions for Drivers QUNBUFCALL(9F)
qunbufcall - cancel a pending qbufcall request
#include <sys/stream.h>
#include <sys/ddi.h>
void qunbufcall(queue_t *q, bufcall_id_t id);
illumos DDI specific (illumos DDI).
q
Pointer to STREAMS queue_t structure.
id
Identifier returned from qbufcall(9F).
The qunbufcall() function cancels a pending qbufcall() request. The
argument id is a non-zero identifier of the request to be cancelled.
id is returned from the qbufcall() function used to issue the cancel
request.
The qunbufcall() function is tailored to be used with the enhanced
STREAMS framework interface which is based on the concept of
perimeters. (See mt-streams(9F).) qunbufcall() returns when the
bufcall has been cancelled or finished executing. The bufcall will be
cancelled even if it is blocked at the perimeters associated with the
queue. All outstanding timeouts and bufcalls must be cancelled before
a driver close routine can block and before the close routine calls
qprocsoff(9F).
The qunbufcall() function can be called from user, interrupt, or
kernel context.
mt-streams(9F), qbufcall(9F), qtimeout(9F), quntimeout(9F)
Writing Device Drivers
STREAMS Programming Guide
January 16, 2006 QUNBUFCALL(9F)
NAME
qunbufcall - cancel a pending qbufcall request
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
void qunbufcall(queue_t *q, bufcall_id_t id);
INTERFACE LEVEL
illumos DDI specific (illumos DDI).
PARAMETERS
q
Pointer to STREAMS queue_t structure.
id
Identifier returned from qbufcall(9F).
DESCRIPTION
The qunbufcall() function cancels a pending qbufcall() request. The
argument id is a non-zero identifier of the request to be cancelled.
id is returned from the qbufcall() function used to issue the cancel
request.
The qunbufcall() function is tailored to be used with the enhanced
STREAMS framework interface which is based on the concept of
perimeters. (See mt-streams(9F).) qunbufcall() returns when the
bufcall has been cancelled or finished executing. The bufcall will be
cancelled even if it is blocked at the perimeters associated with the
queue. All outstanding timeouts and bufcalls must be cancelled before
a driver close routine can block and before the close routine calls
qprocsoff(9F).
CONTEXT
The qunbufcall() function can be called from user, interrupt, or
kernel context.
SEE ALSO
mt-streams(9F), qbufcall(9F), qtimeout(9F), quntimeout(9F)
Writing Device Drivers
STREAMS Programming Guide
January 16, 2006 QUNBUFCALL(9F)