/*
 *  Copyright 2009 OpenSourceCodeStewardshipFoundation.org
 *  Licensed under GNU General Public License version 2
 *
 * Author: seanhalle@yahoo.com
 *
 * Created on November 14, 2009, 9:07 PM
 */

#include <malloc.h>
#include "VMS_primitive_data_types.h"

typedef struct _MallocProlog MallocProlog;

struct _MallocProlog
 {
   MallocProlog *nextChunkInFreeList;
   MallocProlog *prevChunkInFreeList;
   MallocProlog *nextHigherInMem;
   MallocProlog *nextLowerInMem;
 };
//MallocProlog

typedef struct
 {
   MallocProlog *firstChunkInFreeList;
   int32         numInList;
 }
FreeListHead;

void *
VMS__malloc( int32 sizeRequested );

void
VMS__free( void *ptrToFree );

MallocProlog *
VMS__create_free_list();

void
VMS_ext__free_free_list( MallocProlog *freeListHead );
