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 #ifndef _ 21 #ifdef PROTOTYPES 22 #define _(x) x /* If compiler knows prototypes */ 23 #else 24 #define _(x) () /* It it doesn't */ 25 #endif /* PROTOTYPES */ 26 #endif 27 28 typedef long bufsize; 29 struct bpoolset; 30 31 void bpool _((void *buffer, bufsize len, struct bpoolset *poolset)); 32 void *bget _((bufsize size, struct bpoolset *poolset)); 33 void *bgetz _((bufsize size, struct bpoolset *poolset)); 34 void *bgetr _((void *buffer, bufsize newsize, 35 struct bpoolset *poolset)); 36 void brel _((void *buf, struct bpoolset *poolset)); 37 void bectl _((int (*compact)(bufsize sizereq, int sequence), 38 void *(*acquire)(bufsize size), 39 void (*release)(void *buf), bufsize pool_incr, 40 struct bpoolset *poolset)); 41 void bstats _((bufsize *curalloc, bufsize *totfree, bufsize *maxfree, 42 long *nget, long *nrel, struct bpoolset *poolset)); 43 void bstatse _((bufsize *pool_incr, long *npool, long *npget, 44 long *nprel, long *ndget, long *ndrel, 45 struct bpoolset *poolset)); 46 void bufdump _((void *buf, struct bpoolset *poolset)); 47 void bpoold _((void *pool, int dumpalloc, int dumpfree)); 48 int bpoolv _((void *pool)); 49