ESBBCALL(9F)            Kernel Functions for Drivers            ESBBCALL(9F)
NAME
       esbbcall - call function when buffer is available
SYNOPSIS
       #include <sys/stream.h>       
bufcall_id_t esbbcall(
uint_t pri, 
void (
*func)(
void *arg),            
void(
arg));
INTERFACE LEVEL
       Architecture independent level 1 (DDI/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 argument can be a routine that calls 
esballoc(9F) or it may be
       another kernel function.
RETURN VALUES
       On success, a 
bufcall ID is 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), 
unbufcall(9F),       
datab(9S)       Writing Device Drivers STREAMS Programming Guide                               August 22, 2023                  ESBBCALL(9F)