LeaHeader.h 962 B

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