man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: July 2014
 
 

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

Solaris DDI specific (Solaris 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 for Oracle Solaris 11.2

STREAMS Programming Guide