Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
annotate vmalloc.h @ 50:8f7141a9272e
Added VMS__malloc and probes, and major re-factoring to separate mallocs
| author | Me |
|---|---|
| date | Sat, 30 Oct 2010 20:54:36 -0700 |
| parents | |
| children | 42dd44df1bb0 |
| rev | line source |
|---|---|
| Me@50 | 1 /* |
| Me@50 | 2 * Copyright 2009 OpenSourceCodeStewardshipFoundation.org |
| Me@50 | 3 * Licensed under GNU General Public License version 2 |
| Me@50 | 4 * |
| Me@50 | 5 * Author: seanhalle@yahoo.com |
| Me@50 | 6 * |
| Me@50 | 7 * Created on November 14, 2009, 9:07 PM |
| Me@50 | 8 */ |
| Me@50 | 9 |
| Me@50 | 10 #include <malloc.h> |
| Me@50 | 11 #include "VMS_primitive_data_types.h" |
| Me@50 | 12 |
| Me@50 | 13 typedef struct _MallocProlog MallocProlog; |
| Me@50 | 14 |
| Me@50 | 15 struct _MallocProlog |
| Me@50 | 16 { |
| Me@50 | 17 MallocProlog *nextChunkInFreeList; |
| Me@50 | 18 MallocProlog *prevChunkInFreeList; |
| Me@50 | 19 MallocProlog *nextHigherInMem; |
| Me@50 | 20 MallocProlog *nextLowerInMem; |
| Me@50 | 21 }; |
| Me@50 | 22 //MallocProlog |
| Me@50 | 23 |
| Me@50 | 24 typedef struct |
| Me@50 | 25 { |
| Me@50 | 26 MallocProlog *firstChunkInFreeList; |
| Me@50 | 27 int32 numInList; |
| Me@50 | 28 } |
| Me@50 | 29 FreeListHead; |
| Me@50 | 30 |
| Me@50 | 31 void * |
| Me@50 | 32 VMS__malloc( int32 sizeRequested ); |
| Me@50 | 33 |
| Me@50 | 34 void |
| Me@50 | 35 VMS__free( void *ptrToFree ); |
| Me@50 | 36 |
| Me@50 | 37 MallocProlog * |
| Me@50 | 38 VMS__create_free_list(); |
| Me@50 | 39 |
| Me@50 | 40 void |
| Me@50 | 41 VMS_ext__free_free_list( MallocProlog *freeListHead ); |
