# define HOT
#endif /* __GNUC__ */
+
+#if 0
+#ifdef WITH_FUSE
+#define atomic_inc(ptr) \
+ __sync_fetch_and_add(ptr, 1)
+
+#define atomic_dec(ptr) \
+ __sync_sub_and_fetch(ptr, 1)
+#endif
+#endif
+
#ifndef _NTFS_TYPES_H
typedef uint8_t u8;
typedef uint16_t u16;
#define swap(a, b) ({typeof(a) _a = a; (a) = (b); (b) = _a;})
#endif
+/**
+ * container_of - cast a member of a structure out to the containing structure
+ * @ptr: the pointer to the member.
+ * @type: the type of the container struct this is embedded in.
+ * @member: the name of the member within the struct.
+ *
+ */
+#ifndef container_of
+#define container_of(ptr, type, member) ({ \
+ const typeof( ((type *)0)->member ) *__mptr = (ptr); \
+ (type *)( (char *)__mptr - offsetof(type,member) );})
+#endif
+
+#define DIV_ROUND_UP(numerator, denominator) \
+ (((numerator) + (denominator) - 1) / (denominator))
+
+#define MODULO_NONZERO(numerator, denominator) \
+ (((numerator) % (denominator)) ? ((numerator) % (denominator)) : (denominator))
+
#define ARRAY_LEN(array) (sizeof(array) / sizeof((array)[0]))
#define ZERO_ARRAY(array) memset(array, 0, sizeof(array))