3 Interface definitions for bget.c, the memory management package.
9 // Adapted for geekos: http://www.cs.umd.edu/~daveho/geekos/
10 // Original version of BGET downloaded from: http://www.fourmilab.ch/bget/
13 // GeekOS changes are (mostly) confined to #if defined (GEEKOS)
16 // Yes, we have prototypes :-)
19 #endif // defined (GEEKOS)
23 #define _(x) x /* If compiler knows prototypes */
25 #define _(x) () /* It it doesn't */
26 #endif /* PROTOTYPES */
30 void bpool _((void *buffer, bufsize len));
31 void *bget _((bufsize size));
32 void *bgetz _((bufsize size));
33 void *bgetr _((void *buffer, bufsize newsize));
34 void brel _((void *buf));
35 void bectl _((int (*compact)(bufsize sizereq, int sequence),
36 void *(*acquire)(bufsize size),
37 void (*release)(void *buf), bufsize pool_incr));
38 void bstats _((bufsize *curalloc, bufsize *totfree, bufsize *maxfree,
39 long *nget, long *nrel));
40 void bstatse _((bufsize *pool_incr, long *npool, long *npget,
41 long *nprel, long *ndget, long *ndrel));
42 void bufdump _((void *buf));
43 void bpoold _((void *pool, int dumpalloc, int dumpfree));
44 int bpoolv _((void *pool));