X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fnmem.h;h=601770b613ad776bcbf7bd60754090fe0c252744;hb=9a2b41f58cf220c9583b654ff77776a18e958b44;hp=227d99ff5b7688cf5fe21ead39aeaa0299ab5be3;hpb=a309d6ece06c0ab732d98c59f2718efaebd01ec6;p=yaz-moved-to-github.git diff --git a/include/nmem.h b/include/nmem.h index 227d99f..601770b 100644 --- a/include/nmem.h +++ b/include/nmem.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, Index Data. + * Copyright (c) 1995-1997, Index Data. * * Permission to use, copy, modify, distribute, and sell this software and * its documentation, in whole or in part, for any purpose, is hereby granted, @@ -28,13 +28,36 @@ #ifndef NMEM_H #define NMEM_H +#include +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct nmem_block +{ + char *buf; /* memory allocated in this block */ + int size; /* size of buf */ + int top; /* top of buffer */ + struct nmem_block *next; +} nmem_block; + +typedef struct nmem_control +{ + int total; + nmem_block *blocks; + struct nmem_control *next; +} nmem_control; typedef struct nmem_control *NMEM; -void nmem_reset(NMEM n); -void *nmem_malloc(NMEM n, int size); -int nmem_total(NMEM n); -NMEM nmem_create(void); -void nmem_destroy(NMEM n); +YAZ_EXPORT void nmem_reset(NMEM n); +YAZ_EXPORT void *nmem_malloc(NMEM n, int size); +YAZ_EXPORT int nmem_total(NMEM n); +YAZ_EXPORT NMEM nmem_create(void); +YAZ_EXPORT void nmem_destroy(NMEM n); + +#ifdef __cplusplus +} +#endif #endif