summaryrefslogtreecommitdiffstats
path: root/src/H5MMprivate.h
blob: 1dac78ef77c981f85c3214df7034b37906af3f27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*-------------------------------------------------------------------------
 * Copyright (C) 1997-2001 National Center for Supercomputing Applications
 *                         All rights reserved.
 *
 *-------------------------------------------------------------------------
 *
 * Created:             H5MMprivate.h
 *                      Jul 10 1997
 *                      Robb Matzke <matzke@llnl.gov>
 *
 * Purpose:             Private header for memory management.
 *
 * Modifications:
 *
 *-------------------------------------------------------------------------
 */
#ifndef _H5MMprivate_H
#define _H5MMprivate_h

#include "H5MMpublic.h"

/* Private headers needed by this file */
#include "H5private.h"

#ifdef H5_MALLOC_WORKS
#define H5MM_malloc(Z)	HDmalloc(Z)
#define H5MM_calloc(Z)	HDcalloc(1,Z)
#else /* H5_MALLOC_WORKS */
#define H5MM_malloc(Z)	HDmalloc(MAX(1,Z))
#define H5MM_calloc(Z)	HDcalloc(1,MAX(1,Z))
#endif /* H5_MALLOC_WORKS */
#define H5MM_free(Z)	HDfree(1,Z)

/*
 * Library prototypes...
 */
H5_DLL void *H5MM_realloc(void *mem, size_t size);
H5_DLL char *H5MM_xstrdup(const char *s);
H5_DLL char *H5MM_strdup(const char *s);
H5_DLL void *H5MM_xfree(void *mem);

#endif