Kernel Functions for Drivers esbbcall(9F)
NAME
esbbcall - call function when buffer is available
SYNOPSIS
#include
bufcallidt esbbcall(uintt pri, void (*func)(void *arg),
void(arg));
INTERFACE LEVEL
Architecture independent level 1 (DI/DKI).
PARAMETERS
pri Priority of allocation request (to be used by
allocb(9F) function, called by esbbcall()).
func Function to be called when buffer becomes available.
arg Argument to func.
DESCRIPTION
The esbbcall() function, like bufcall(9F), serves as a
timeout(9F) call of indeterminate length. If esballoc(9F) is
unable to allocate a message and data block header to go
with its externally supplied data buffer, esbbcall() can be
used to schedule the routine func, to be called with the
argument arg when a buffer becomes available. The func argu-
ment can be a routine that calls esballoc(9F) or it may be
another kernel function.
RETURN VALUES
On success, a bufcall IDis returned. On failure, 0 is
returned. The value returned from a successful call should
be saved for possible future use with unbufcall() should it
become necessary to cancel the esbbcall() request (as at
driver close time).
CONTEXT
The esbbcall() function can be called from user, interrupt,
or kernel context.
SEE ALSO
allocb(9F), bufcall(9F), esballoc(9F), timeout(9F),
datab(9S), unbufcall(9F)
SunOS 5.11 Last change: 16 Jan 2006 1
Kernel Functions for Drivers esbbcall(9F)
Writing Device Drivers STREAMS Programming Guide
SunOS 5.11 Last change: 16 Jan 2006 2
|