1esbbcall(9F) Kernel Functions for Drivers esbbcall(9F)
2
3
4
6 esbbcall - call function when buffer is available
7
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
18 Architecture independent level 1 (DDI/DKI).
19
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
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
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
47 The esbbcall() function can be called from user, interrupt, or kernel
48 context.
49
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)