LeaHeader.h 924 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. };
  9. typedef struct LeaHeader leaHdr;
  10. typedef struct LeaHeader* leaHdr_ptr;
  11. //const unsigned int HDR_SIZE = sizeof(leaHdr);
  12. #define HDR_SIZE sizeof(leaHdr)
  13. //returns a pointer to the header of the block
  14. leaHdr * getHeader(const char * ptr);
  15. void *getNext(void *ptr);
  16. size_t getSize(void *ptr);
  17. size_t getPrevSize (void *ptr);
  18. void setSize(void *ptr, size_t sz);
  19. void setPrevSize (void *ptr, size_t sz);
  20. void markPrevFree (char * ptr);
  21. void markPrevInUse (char * ptr);
  22. size_t isPrevFree (char * ptr);
  23. void markInUse (char * ptr);
  24. void markFree (char * ptr);
  25. size_t isFree (char * ptr);
  26. void set_requested_size(void *ptr, size_t size);
  27. #endif /*RA_LEAHEADER_H*/