block_header.c 547 B

12345678910111213141516171819202122232425262728
  1. #include "block_header.h"
  2. block_header_t * get_header(void *ptr);
  3. block_header_t * get_header(void *ptr) {
  4. return (block_header_t *) ((char *) ptr - HEADER_SIZE);
  5. }
  6. void * get_next(void *ptr) {
  7. return get_header(ptr)->next;
  8. }
  9. size_t get_size(void *ptr) {
  10. return get_header(ptr)->size;
  11. }
  12. void set_size(void *ptr, size_t size) {
  13. get_header(ptr)->size = size;
  14. }
  15. void set_requested_size(void *ptr, size_t size) {
  16. get_header(ptr)->requested_size = size;
  17. }
  18. void set_next(void *ptr, void *next_block) {
  19. get_header(ptr)->next = next_block;
  20. }