log.h 825 B

12345678910111213141516171819202122232425
  1. /* $Id$ */
  2. /*
  3. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  4. * See the copyright notice in the ACK home directory, in the file "Copyright".
  5. */
  6. /* Algorithms to manipulate the doubly-linked lists of free
  7. chunks.
  8. */
  9. public link_free_chunk(), unlink_free_chunk();
  10. public mallink *first_present(), *search_free_list();
  11. #ifdef STORE
  12. #define in_store(ml) ((size_type)_phys_prev_of(ml) & STORE_BIT)
  13. #define set_store(ml, e) \
  14. (_phys_prev_of(ml) = (mallink *) \
  15. ((e) ? (size_type) _phys_prev_of(ml) | STORE_BIT : \
  16. (size_type) _phys_prev_of(ml) & ~STORE_BIT))
  17. #endif
  18. #define set_log_prev(ml,e) (_log_prev_of(ml) = (e))
  19. #define log_prev_of(ml) (mallink *) (_log_prev_of(ml))
  20. #define set_log_next(ml,e) (_log_next_of(ml) = (e))
  21. #define log_next_of(ml) (mallink *) (_log_next_of(ml))