source: git/factory/memman.h @ 2dd068

spielwiese
Last change on this file since 2dd068 was 2dd068, checked in by Rüdiger Stobbe <stobbe@…>, 28 years ago
Initial revision git-svn-id: file:///usr/local/Singular/svn/trunk@6 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.1 KB
Line 
1/* emacs edit mode for this file is -*- C -*- */
2/* $Id: memman.h,v 1.0 1996-05-17 10:59:41 stobbe Exp $ */
3
4#ifndef MMEMORY_H
5#define MMEMORY_H
6
7/*
8$Log: not supported by cvs2svn $
9*/
10
11#include <stdlib.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17int  mmInit( void );
18
19void mmSpecializeBlock( size_t );
20
21void mmMark( void );
22
23void mmSweep( void );
24
25void mmSwitch( void );
26
27int mmMemReal( void );
28
29int mmMemUsed( void );
30
31#define mstrdup mmStrdup
32/* char * mstrdup(char *s); */
33
34size_t mmSizeL( void* );
35
36#ifndef MDEBUG
37
38void * mmAllocBlock( size_t );
39void * mmAllocBlock0( size_t );
40
41void mmFreeBlock( void*, size_t );
42
43void * mmReallocBlock( void*, size_t, size_t );
44
45void * mmAllocSpecialized( void );
46
47void mmFreeSpecialized( void* );
48
49void * mmAlloc( size_t );
50
51void * mmRealloc( void*, size_t );
52
53void mmFree( void* );
54
55char * mmStrdup( char* );
56
57#define mmTest(A,B) TRUE
58#define mmTestL(A) TRUE
59#define mmTestP(A,B)
60#define mmTestLP(A)
61#define Free mmFreeBlock
62#define Alloc mmAllocBlock
63#define Alloc0 mmAllocBlock0
64#define ReAlloc mmReallocBlock
65#define FreeL mmFree
66#define AllocL mmAlloc
67
68#else /* MDEBUG */
69
70void * mmDBAllocBlock( size_t, char*, int );
71void * mmDBAllocBlock0( size_t, char*, int );
72
73void mmDBFreeBlock( void*, size_t, char*, int );
74
75void * mmDBReallocBlock( void*, size_t, size_t, char*, int );
76
77void * mmDBAllocSpecialized( char*, int );
78
79void mmDBFreeSpecialized( void*, char*, int );
80
81void * mmDBAlloc( size_t, char*, int );
82
83void * mmDBRealloc( void*, size_t, char*, int );
84
85void mmDBFree( void*, char*, int );
86
87char * mmDBStrdup( char * s, char *fname, int lineno);
88
89int mmDBTestBlock( const void* adr, const size_t size, const char * fname, const int lineno );
90
91int mmDBTest( const void* adr, const char * fname, const int lineno );
92
93#define mmAllocBlock(size) mmDBAllocBlock(size,__FILE__,__LINE__)
94
95#define mmFreeBlock(adr,size) mmDBFreeBlock(adr,size,__FILE__,__LINE__)
96
97#define mmAllocSpecialized() mmDBAllocSpecialized(__FILE__,__LINE__)
98
99#define mmFreeSpecialized(adr) mmDBFreeSpecialized(adr,__FILE__,__LINE__)
100
101#define mmAlloc(size) mmDBAlloc(size,__FILE__,__LINE__)
102
103#define mmFree(adr) mmDBFree(adr,__FILE__,__LINE__)
104
105#define mmReallocBlock(adr,oldsize,newsize) mmDBReallocBlock(adr,oldsize,newsize,__FILE__,__LINE__)
106
107#define mmStrdup(A) mmDBStrdup(A,__FILE__,__LINE__)
108
109#define mmTest(A,B) mmDBTestBlock(A,B,__FILE__,__LINE__)
110#define mmTestL(A) mmDBTest(A,__FILE__,__LINE__)
111#define mmTestP(A,B) mmDBTestBlock(A,B,__FILE__,__LINE__)
112#define mmTestLP(A) mmDBTest(A,__FILE__,__LINE__)
113#define Alloc(size) mmDBAllocBlock(size,__FILE__,__LINE__)
114#define Alloc0(size) mmDBAllocBlock0(size,__FILE__,__LINE__)
115#define Free(adr,size) mmDBFreeBlock(adr,size,__FILE__,__LINE__)
116#define mmAllocSpecialized() mmDBAllocSpecialized(__FILE__,__LINE__)
117#define mmFreeSpecialized(adr) mmDBFreeSpecialized(adr,__FILE__,__LINE__)
118#define AllocL(size) mmDBAlloc(size,__FILE__,__LINE__)
119#define FreeL(adr) mmDBFree(adr,__FILE__,__LINE__)
120#define ReAlloc(adr,oldsize,newsize) mmDBReallocBlock(adr,oldsize,newsize,__FILE__,__LINE__)
121
122void mmTestList();
123
124#endif /* MDEBUG */
125
126#ifdef __cplusplus
127}
128#endif
129
130#endif
Note: See TracBrowser for help on using the repository browser.