| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (c) 2004-2010 Alex Pankratov. All rights reserved. | |
| 3 * | |
| 4 * Hierarchical memory allocator, 1.2.1 | |
| 5 * http://swapped.cc/halloc | |
| 6 */ | |
| 7 | |
| 8 /* | |
| 9 * The program is distributed under terms of BSD license. | |
| 10 * You can obtain the copy of the license by visiting: | |
| 11 * | |
| 12 * http://www.opensource.org/licenses/bsd-license.php | |
| 13 */ | |
| 14 | |
| 15 #ifndef _LIBP_MACROS_H_ | |
| 16 #define _LIBP_MACROS_H_ | |
| 17 | |
| 18 #include <stddef.h> /* offsetof */ | |
| 19 | |
| 20 /* | |
| 21 restore pointer to the structure by a pointer to its field | |
| 22 */ | |
| 23 #define structof(p,t,f) ((t*)(- (ptrdiff_t) offsetof(t,f) + (char*)(p))) | |
| 24 | |
| 25 /* | |
| 26 * redefine for the target compiler | |
| 27 */ | |
| 28 #ifdef _WIN32 | |
| 29 #define static_inline static __inline | |
| 30 #else | |
| 31 #define static_inline static __inline__ | |
| 32 #endif | |
| 33 | |
| 34 | |
| 35 #endif | |
| 36 | |
| OLD | NEW |