00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00021
00022
00023 #ifndef MEMORY_H
00024 #define MEMORY_H
00025
00026 #ifndef NULL
00027 #define NULL 0
00028 #endif
00029
00030
00031
00032 typedef struct freelist {
00033 struct freenode *head;
00034 struct freeblock *blocklist;
00035 int nodesize;
00036 } Freelist;
00037
00038 extern void *getfree(Freelist *);
00039 extern void freeinit(Freelist *, int);
00040 extern void makefree(void *, Freelist *);
00041
00042 #endif
00043
00044
00045 #ifdef __cplusplus
00046 }
00047 #endif