1/*	$KAME: debugrm.h,v 1.3 2001/11/26 16:54:29 sakane Exp $	*/
2
3/*
4 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of the project nor the names of its contributors
16 *    may be used to endorse or promote products derived from this software
17 *    without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 */
31
32#define DRMDUMPFILE	"/var/tmp/debugrm.dump"
33
34#ifdef NONEED_DRM
35#ifndef racoon_malloc
36#define	racoon_malloc(sz)	malloc((sz))
37#endif
38#ifndef racoon_calloc
39#define	racoon_calloc(cnt, sz)	calloc((cnt), (sz))
40#endif
41#ifndef racoon_realloc
42#define	racoon_realloc(old, sz)	realloc((old), (sz))
43#endif
44#ifndef racoon_free
45#define	racoon_free(p)		free((p))
46#endif
47#else /*!NONEED_DRM*/
48#ifndef racoon_malloc
49#define	racoon_malloc(sz)	\
50	DRM_malloc(__FILE__, __LINE__, __FUNCTION__, (sz))
51#endif
52#ifndef racoon_calloc
53#define	racoon_calloc(cnt, sz)	\
54	DRM_calloc(__FILE__, __LINE__, __FUNCTION__, (cnt), (sz))
55#endif
56#ifndef racoon_realloc
57#define	racoon_realloc(old, sz)	\
58	DRM_realloc(__FILE__, __LINE__, __FUNCTION__, (old), (sz))
59#endif
60#ifndef racoon_free
61#define	racoon_free(p)		\
62	DRM_free(__FILE__, __LINE__, __FUNCTION__, (p))
63#endif
64#endif /*NONEED_DRM*/
65
66extern void DRM_init __P((void));
67extern void DRM_dump __P((void));
68extern void *DRM_malloc __P((char *, int, char *, size_t));
69extern void *DRM_calloc __P((char *, int, char *, size_t, size_t));
70extern void *DRM_realloc __P((char *, int, char *, void *, size_t));
71extern void DRM_free __P((char *, int, char *, void *));
72
73#ifndef NONEED_DRM
74#define	vmalloc(sz)	\
75	DRM_vmalloc(__FILE__, __LINE__, __FUNCTION__, (sz))
76#define	vdup(old)	\
77	DRM_vdup(__FILE__, __LINE__, __FUNCTION__, (old))
78#define	vrealloc(old, sz)	\
79	DRM_vrealloc(__FILE__, __LINE__, __FUNCTION__, (old), (sz))
80#define	vfree(p)		\
81	DRM_vfree(__FILE__, __LINE__, __FUNCTION__, (p))
82#endif
83
84extern void *DRM_vmalloc __P((char *, int, char *, size_t));
85extern void *DRM_vrealloc __P((char *, int, char *, void *, size_t));
86extern void DRM_vfree __P((char *, int, char *, void *));
87extern void *DRM_vdup __P((char *, int, char *, void *));
88