1074ba9b2SJens Wiklander /* 2074ba9b2SJens Wiklander * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 3074ba9b2SJens Wiklander * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 4074ba9b2SJens Wiklander * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 5074ba9b2SJens Wiklander * IN NO EVENT SHALL ST BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 6074ba9b2SJens Wiklander * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 7074ba9b2SJens Wiklander * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 8074ba9b2SJens Wiklander * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 9074ba9b2SJens Wiklander * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 10074ba9b2SJens Wiklander * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 11074ba9b2SJens Wiklander * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12074ba9b2SJens Wiklander */ 13074ba9b2SJens Wiklander 14074ba9b2SJens Wiklander /* 15074ba9b2SJens Wiklander 16074ba9b2SJens Wiklander Interface definitions for bget.c, the memory management package. 17074ba9b2SJens Wiklander 18074ba9b2SJens Wiklander */ 19074ba9b2SJens Wiklander 20074ba9b2SJens Wiklander #ifndef _ 21074ba9b2SJens Wiklander #ifdef PROTOTYPES 22074ba9b2SJens Wiklander #define _(x) x /* If compiler knows prototypes */ 23074ba9b2SJens Wiklander #else 24074ba9b2SJens Wiklander #define _(x) () /* It it doesn't */ 25074ba9b2SJens Wiklander #endif /* PROTOTYPES */ 26074ba9b2SJens Wiklander #endif 27074ba9b2SJens Wiklander 28074ba9b2SJens Wiklander typedef long bufsize; 29*b7f0111dSVolodymyr Babchuk struct bpoolset; 30*b7f0111dSVolodymyr Babchuk 31*b7f0111dSVolodymyr Babchuk void bpool _((void *buffer, bufsize len, struct bpoolset *poolset)); 32*b7f0111dSVolodymyr Babchuk void *bget _((bufsize size, struct bpoolset *poolset)); 33*b7f0111dSVolodymyr Babchuk void *bgetz _((bufsize size, struct bpoolset *poolset)); 34*b7f0111dSVolodymyr Babchuk void *bgetr _((void *buffer, bufsize newsize, 35*b7f0111dSVolodymyr Babchuk struct bpoolset *poolset)); 36*b7f0111dSVolodymyr Babchuk void brel _((void *buf, struct bpoolset *poolset)); 37074ba9b2SJens Wiklander void bectl _((int (*compact)(bufsize sizereq, int sequence), 38074ba9b2SJens Wiklander void *(*acquire)(bufsize size), 39*b7f0111dSVolodymyr Babchuk void (*release)(void *buf), bufsize pool_incr, 40*b7f0111dSVolodymyr Babchuk struct bpoolset *poolset)); 41074ba9b2SJens Wiklander void bstats _((bufsize *curalloc, bufsize *totfree, bufsize *maxfree, 42*b7f0111dSVolodymyr Babchuk long *nget, long *nrel, struct bpoolset *poolset)); 43074ba9b2SJens Wiklander void bstatse _((bufsize *pool_incr, long *npool, long *npget, 44*b7f0111dSVolodymyr Babchuk long *nprel, long *ndget, long *ndrel, 45*b7f0111dSVolodymyr Babchuk struct bpoolset *poolset)); 46*b7f0111dSVolodymyr Babchuk void bufdump _((void *buf, struct bpoolset *poolset)); 47074ba9b2SJens Wiklander void bpoold _((void *pool, int dumpalloc, int dumpfree)); 48074ba9b2SJens Wiklander int bpoolv _((void *pool)); 49