Pristine Ack-5.5
[Ack-5.5.git] / modules / src / malloc / log.h
1 /* $Id: log.h,v 1.6 1994/06/24 11:17:54 ceriel Exp $ */
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
10 public link_free_chunk(), unlink_free_chunk();
11 public mallink *first_present(), *search_free_list();
12
13 #ifdef STORE
14 #define in_store(ml)            ((size_type)_phys_prev_of(ml) & STORE_BIT)
15 #define set_store(ml, e) \
16         (_phys_prev_of(ml) = (mallink *) \
17                 ((e) ? (size_type) _phys_prev_of(ml) | STORE_BIT : \
18                        (size_type) _phys_prev_of(ml) & ~STORE_BIT))
19 #endif
20 #define set_log_prev(ml,e)      (_log_prev_of(ml) = (e))
21 #define log_prev_of(ml)         (mallink *) (_log_prev_of(ml))
22
23 #define set_log_next(ml,e)      (_log_next_of(ml) = (e))
24 #define log_next_of(ml)         (mallink *) (_log_next_of(ml))
25