# 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;
(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))
printf("%02hhx", *field++);
}
+static inline u32 bsr32(u32 n)
+{
+#if defined(__x86__) || defined(__x86_64__)
+ asm("bsrl %0, %0;"
+ : "=r"(n)
+ : "0" (n));
+ return n;
+#else
+ u32 pow = 0;
+ while ((n >>= 1) != 0)
+ pow++;
+ return pow;
+#endif
+}
#endif /* _WIMLIB_UTIL_H */