X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fnmem.h;h=b042f6e6999409b59b047018b1834bcd8b9d8e53;hp=7040b9866262c44d2ad6a8f3a97249e89ee6f217;hb=a9407df0295ee7745827b2f053b3f4698857720d;hpb=78e049108ef4c65f1dc3dddd747e59b90b75a9a6 diff --git a/include/yaz/nmem.h b/include/yaz/nmem.h index 7040b98..b042f6e 100644 --- a/include/yaz/nmem.h +++ b/include/yaz/nmem.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995-2000, Index Data. + * Copyright (c) 1995-2001, 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, @@ -24,7 +24,19 @@ * OF THIS SOFTWARE. * * $Log: nmem.h,v $ - * Revision 1.2 2000-02-28 11:20:06 adam + * Revision 1.6 2001-06-26 14:11:27 adam + * Added MUTEX functions for NMEM module (used by OID utility). + * + * Revision 1.5 2001/03/25 21:55:12 adam + * Added odr_intdup. Ztest server returns TaskPackage for ItemUpdate. + * + * Revision 1.4 2000/05/09 11:48:58 adam + * Fix (bug introduced by previous commit). + * + * Revision 1.3 2000/05/09 10:55:05 adam + * Public nmem_print_list (for debugging). + * + * Revision 1.2 2000/02/28 11:20:06 adam * Using autoconf. New definitions: YAZ_BEGIN_CDECL/YAZ_END_CDECL. * * Revision 1.1 1999/11/30 13:47:11 adam @@ -74,11 +86,18 @@ typedef struct nmem_control struct nmem_control *next; } nmem_control; +typedef struct nmem_mutex *NMEM_MUTEX; +YAZ_EXPORT void nmem_mutex_create(NMEM_MUTEX *); +YAZ_EXPORT void nmem_mutex_enter(NMEM_MUTEX); +YAZ_EXPORT void nmem_mutex_leave(NMEM_MUTEX); +YAZ_EXPORT void nmem_mutex_destroy(NMEM_MUTEX *); + typedef struct nmem_control *NMEM; YAZ_EXPORT void nmem_reset(NMEM n); YAZ_EXPORT int nmem_total(NMEM n); YAZ_EXPORT char *nmem_strdup (NMEM mem, const char *src); +YAZ_EXPORT int *nmem_intdup (NMEM mem, int v); YAZ_EXPORT void nmem_transfer (NMEM dst, NMEM src); YAZ_EXPORT void nmem_critical_enter (void); @@ -93,12 +112,16 @@ YAZ_EXPORT void *nmem_malloc_f(const char *file, int line, NMEM n, int size); #define nmem_destroy(x) nmem_destroy_f(__FILE__, __LINE__, (x)) #define nmem_malloc(x, y) nmem_malloc_f(__FILE__, __LINE__, (x), (y)) +YAZ_EXPORT void nmem_print_list (void); + #else YAZ_EXPORT NMEM nmem_create(void); YAZ_EXPORT void nmem_destroy(NMEM n); YAZ_EXPORT void *nmem_malloc(NMEM n, int size); +#define nmem_print_list() + #endif YAZ_EXPORT void nmem_init (void);