LeaHeader.h 789 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef RA_LEAHEADER_H
  2. #define RA_LEAHEADER_H
  3. #include <stddef.h>
  4. struct LeaHeader {
  5. size_t size;
  6. size_t prevSize;
  7. };
  8. typedef struct LeaHeader leaHdr;
  9. typedef struct LeaHeader* leaHdr_ptr;
  10. //const unsigned int HDR_SIZE = sizeof(leaHdr);
  11. #define HDR_SIZE sizeof(leaHdr)
  12. //returns a pointer to the header of the block
  13. leaHdr * getHeader(const char * ptr);
  14. void *getNext(void *ptr);
  15. size_t getSize(void *ptr);
  16. size_t getPrevSize (void *ptr);
  17. void setSize(void *ptr, size_t sz);
  18. void setPrevSize (void *ptr, size_t sz);
  19. void markPrevFree (char * ptr);
  20. void markPrevInUse (char * ptr);
  21. size_t isPrevFree (char * ptr);
  22. void markInUse (char * ptr);
  23. void markFree (char * ptr);
  24. size_t isFree (char * ptr);
  25. #endif /*RA_LEAHEADER_H*/