1esbbcall(9F)             Kernel Functions for Drivers             esbbcall(9F)
2
3
4

NAME

6       esbbcall - call function when buffer is available
7

SYNOPSIS

9       #include <sys/stream.h>
10
11
12
13       bufcall_id_t esbbcall(uint_t pri, void (*func)(void *arg),
14            void(arg));
15
16

INTERFACE LEVEL

18       Architecture independent level 1 (DDI/DKI).
19

PARAMETERS

21       pri     Priority  of allocation request (to be used by allocb(9F) func‐
22               tion, called by esbbcall()).
23
24
25       func    Function to be called when buffer becomes available.
26
27
28       arg     Argument to func.
29
30

DESCRIPTION

32       The esbbcall() function, like bufcall(9F), serves as a timeout(9F) call
33       of  indeterminate  length. If esballoc(9F) is unable to allocate a mes‐
34       sage and data block header to go with its externally supplied data buf‐
35       fer,  esbbcall() can be used to schedule the routine func, to be called
36       with the argument arg when a buffer becomes available. The  func  argu‐
37       ment can be a routine that calls esballoc(9F) or it may be another ker‐
38       nel function.
39

RETURN VALUES

41       On success, a bufcall IDis returned. On failure,  0  is  returned.  The
42       value  returned  from  a  successful  call should be saved for possible
43       future use with unbufcall() should it become necessary  to  cancel  the
44       esbbcall() request (as at driver close time).
45

CONTEXT

47       The  esbbcall()  function can be called from user, interrupt, or kernel
48       context.
49

SEE ALSO

51       allocb(9F), bufcall(9F), esballoc(9F), timeout(9F),  datab(9S),  unbuf‐
52       call(9F)
53
54
55       Writing Device Drivers STREAMS Programming Guide
56
57
58
59SunOS 5.11                        16 Jan 2006                     esbbcall(9F)
Impressum