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

     esbbcall(), like  bufcall(9F), serves as a  timeout(9F) call
     of indeterminate length. If  esballoc(9F) is unable to allo-
     cate a message and data block header to go with  its  exter-
     nally  supplied  data  buffer,  esbbcall()  can  be  used to
     schedule the routine  func, to be called with  the  argument
     arg  when  a buffer becomes available. func may be a routine
     that calls  esballoc(9F) or it may be another  kernel  func-
     tion.


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

     esbbcall() can be called from user or interrupt context.


SEE ALSO

     allocb(9F),    bufcall(9F),    esballoc(9F),    timeout(9F),
     datab(9S), unbufcall(9F)

     Writing Device Drivers STREAMS Programming Guide


Man(1) output converted with man2html