xref: /optee_os/lib/libutils/isoc/bget.h (revision 5a913ee74d3c71af2a2860ce8a4e7aeab2916f9b)
1 /*
2  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
3  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
4  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
5  * IN NO EVENT SHALL ST BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
6  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
7  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
8  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
9  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
10  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
11  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
12  */
13 
14 /*
15 
16     Interface definitions for bget.c, the memory management package.
17 
18 */
19 
20 
21 #ifndef _
22 #ifdef PROTOTYPES
23 #define  _(x)  x		      /* If compiler knows prototypes */
24 #else
25 #define  _(x)  ()                     /* It it doesn't */
26 #endif /* PROTOTYPES */
27 #endif
28 
29 typedef long bufsize;
30 struct bpoolset;
31 
32 void	bpool	    _((void *buffer, bufsize len, struct bpoolset *poolset));
33 void   *bget	    _((bufsize size, struct bpoolset *poolset));
34 void   *bgetz	    _((bufsize size, struct bpoolset *poolset));
35 void   *bgetr	    _((void *buffer, bufsize newsize,
36 		       struct bpoolset *poolset));
37 void	brel	    _((void *buf, struct bpoolset *poolset, int wipe));
38 void	bectl	    _((int (*compact)(bufsize sizereq, int sequence),
39 		       void *(*acquire)(bufsize size),
40 		       void (*release)(void *buf), bufsize pool_incr,
41 		       struct bpoolset *poolset));
42 void	bstats	    _((bufsize *curalloc, bufsize *totfree, bufsize *maxfree,
43 		       long *nget, long *nrel, struct bpoolset *poolset));
44 void	bstatse     _((bufsize *pool_incr, long *npool, long *npget,
45 		       long *nprel, long *ndget, long *ndrel,
46 		       struct bpoolset *poolset));
47 void	bufdump     _((void *buf));
48 void	bpoold	    _((void *pool, int dumpalloc, int dumpfree));
49 int	bpoolv	    _((void *pool));
50