#ifndef UTIL_H
#define UTIL_H
+#include <stdint.h>
+
#ifndef container_of
#define container_of(_ptr, _type, _member) ({ \
const typeof( ((_type *)0)->_member ) *__mptr = (_ptr); \
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
+#define min(a,b) ({ \
+ typeof(a) _min_a = (a); \
+ typeof(b) _min_b = (b); \
+ (void)(&_min_a == &_min_b); \
+ _min_a < _min_b ? _min_a : _min_b; \
+ })
+
+#define max(a,b) ({ \
+ typeof(a) _max_a = (a); \
+ typeof(b) _max_b = (b); \
+ (void)(&_max_a == &_max_b); \
+ _max_a > _max_b ? _max_a : _max_b; \
+ })
+
+#define build_assert(x) \
+ do { (void)sizeof(char[(x)?1:-1]); } while (0)
+
+void mac_str(uint8_t *mac, unsigned int maclen, char *buf, unsigned int buflen);
+
#endif /* UTIL_H */