LeaHeader.h 950 B

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