#ifndef UL_OFFSETOF
/* offset of structure field */
#define UL_OFFSETOF(_type,_member) \
- ((int)&(((_type*)0)->_member))
+ ((size_t)&(((_type*)0)->_member))
#endif /*UL_OFFSET*/
#ifndef UL_CONTAINEROF
__attribute__((const))
#define UL_ATTR_UNUSED \
__attribute__((unused))
+#define UL_ATTR_CONSTRUCTOR \
+ __attribute__((constructor))
+#define UL_ATTR_DESCRUCTOR \
+ __attribute__((destructor))
+#define UL_ATTR_ALWAYS_INLINE \
+ __attribute__((always_inline))
#endif /*UL_ATTR_UNUSED*/
#else /* !__GNUC__ */
#ifndef UL_ATTR_UNUSED
#define UL_ATTR_NORETURN
#define UL_ATTR_CONST
#define UL_ATTR_UNUSED
+#define UL_ATTR_CONSTRUCTOR
+#define UL_ATTR_DESCRUCTOR
+#define UL_ATTR_ALWAYS_INLINE
#endif /*UL_ATTR_UNUSED*/
#endif /* !__GNUC__ */