/* nalloc.h */
#define SBSIZE 16384
#define MAXBLK 20000
typedef struct bigblk BIGBLK;
typedef struct nalloc NALLOC;
struct bigblk {
NALLOC *owner; /* list this block belongs to */
int used; /* how many datas are used here? */
char *blk; /* pointer to data area */
};
/* a kludge to get rid of some warnings */
typedef struct point POINT;
struct point {
POINT *next;
};
struct nalloc {
int offset;
int size;
int curblk; /* current block we are adding to */
POINT *free; /* pointer to first item on free list or null */
};
extern NALLOC *na_open();
extern char *na_alloc();
extern char *na_get();
extern char *na_ualloc();
extern char *bigalloc();
extern void na_clear();
extern void na_close();
extern void na_giveback();
extern void na_free();
extern void bigfree();