'\" te .\" Copyright 2006 Sun Microsystems. .TH quntimeout 9F "16 Jan 2006" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME quntimeout \- cancel previous qtimeout function call .SH SYNOPSIS .LP .nf #include #include \fBclock_t\fR \fBquntimeout\fR(\fBqueue_t\fR \fI*q\fR, \fBtimeout_id_t\fR \fIid\fR); .fi .SH INTERFACE LEVEL .sp .LP Solaris DDI specific (Solaris DDI). .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIq\fR\fR .ad .RS 6n .rt Pointer to a \fBSTREAMS \fRqueue structure. .RE .sp .ne 2 .mk .na \fB\fIid\fR\fR .ad .RS 6n .rt Opaque timeout \fBID\fR a previous \fBqtimeout\fR(9F) call. .RE .SH DESCRIPTION .sp .LP The \fBquntimeout()\fR function cancels a pending \fBqtimeout\fR(9F) request. The \fBquntimeout()\fR function is tailored to be used with the enhanced \fBSTREAMS\fR framework interface, which is based on the concept of perimeters. (See \fBmt-streams\fR(9F).) \fBquntimeout()\fR returns when the timeout has been cancelled or finished executing. The timeout will be cancelled even if it is blocked at the perimeters associated with the queue. \fBquntimeout()\fR should be executed for all outstanding timeouts before a driver or module close returns. All outstanding timeouts and bufcalls must be cancelled before a driver close routine can block and before the close routine calls \fBqprocsoff\fR(9F). .SH RETURN VALUES .sp .LP The \fBquntimeout()\fR function returns \fB-1\fR if the \fBid\fR is not found. Otherwise, \fBquntimeout()\fR returns a \fB0\fR or positive value. .SH CONTEXT .sp .LP The \fBquntimeout()\fR function can be called from user, interrupt, or kernel context. .SH SEE ALSO .sp .LP \fBmt-streams\fR(9F), \fBqbufcall\fR(9F), \fBqtimeout\fR(9F), \fBqunbufcall\fR(9F) .sp .LP \fIWriting Device Drivers for Oracle Solaris 11.2\fR .sp .LP \fISTREAMS Programming Guide\fR