Move SUBTYPE_P into compat_compiler.h

This commit is contained in:
Nick Mathewson
2018-06-29 10:23:52 -04:00
parent 77bc65bbc4
commit 207fc4cffe
2 changed files with 12 additions and 12 deletions
-12
View File
@@ -43,18 +43,6 @@
#include "lib/encoding/cstring.h"
#include "lib/fs/winlib.h"
/** Macro: yield a pointer to an enclosing structure given a pointer to
* a substructure at offset <b>off</b>. Example:
* <pre>
* struct base { ... };
* struct subtype { int x; struct base b; } x;
* struct base *bp = &x.base;
* struct *sp = SUBTYPE_P(bp, struct subtype, b);
* </pre>
*/
#define SUBTYPE_P(p, subtype, basemember) \
((void*) ( ((char*)(p)) - offsetof(subtype, basemember) ))
/* Math functions */
/* String manipulation */
+12
View File
@@ -253,6 +253,18 @@
*/
#define STRUCT_VAR_P(st, off) ((void*) ( ((char*)(st)) + (off) ) )
/** Macro: yield a pointer to an enclosing structure given a pointer to
* a substructure at offset <b>off</b>. Example:
* <pre>
* struct base { ... };
* struct subtype { int x; struct base b; } x;
* struct base *bp = &x.base;
* struct *sp = SUBTYPE_P(bp, struct subtype, b);
* </pre>
*/
#define SUBTYPE_P(p, subtype, basemember) \
((void*) ( ((char*)(p)) - offsetof(subtype, basemember) ))
/** Macro: Yields the number of elements in array x. */
#define ARRAY_LENGTH(x) ((sizeof(x)) / sizeof(x[0]))