blob: f9deaeb0dc9eab2c364541b46914ae8dd8930651 [file] [log] [blame]
Stefan Reinauer6ceed092013-04-08 16:55:47 -07001
2#include <arch/types.h>
3
4#ifndef __SIZE_TYPE__
5#define __SIZE_TYPE__ unsigned long
6#endif
7typedef __SIZE_TYPE__ size_t;
Stefan Reinauerf8b36502013-05-02 14:02:28 -07008/* There is a GCC macro for a size_t type, but not
9 * for a ssize_t type. Below construct tricks GCC
10 * into making __SIZE_TYPE__ signed.
11 */
12#define unsigned signed
13typedef __SIZE_TYPE__ ssize_t;
14#undef unsigned
Stefan Reinauer6ceed092013-04-08 16:55:47 -070015
16#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
17