• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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*)(- 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 
37