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