]> granicus.if.org Git - libvpx/blob - nestegg/halloc/src/macros.h
Merge commit 'refs/changes/09/809/1' of https://review.webmproject.org/p/libvpx
[libvpx] / nestegg / halloc / src / macros.h
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