#ifndef RA_LEAHEADER_H #define RA_LEAHEADER_H #include struct LeaHeader { size_t size; size_t previous_size; size_t requested_size; /**< originally requested size by the application */ struct LeaHeader *next; }; typedef struct LeaHeader leaHdr; typedef struct LeaHeader* leaHdr_ptr; //const unsigned int HDR_SIZE = sizeof(leaHdr); #define HDR_SIZE sizeof(leaHdr) //returns a pointer to the header of the block leaHdr * getHeader(const void *ptr); void *getNext(void *ptr); size_t getSize(void *ptr); size_t getPrevSize (void *ptr); void setSize(void *ptr, size_t sz); void setPrevSize (void *ptr, size_t sz); void markPrevFree (char * ptr); void markPrevInUse (void *ptr); size_t isPrevFree (void *ptr); void markInUse (void *ptr); void markFree (char * ptr); size_t isFree (char * ptr); void set_requested_size(void *ptr, size_t size); #endif /*RA_LEAHEADER_H*/