6 #define min(a, b) ((a) < (b) ? (a) : (b))
7 #define max(a,b) (a) < (b) ? (b) : (a)
9 #define ARRAY_SIZE(a) (sizeof(a) / (sizeof((a)[0])))
20 void _mutex_lock_acquired(struct mutex *lock, char *file, int line);
21 int _mutex_lock(struct mutex *lock, char *file, int line);
22 int _mutex_unlock(struct mutex *lock);
24 #define mutex_lock(lock) _mutex_lock(lock, __FILE__, __LINE__)
25 #define mutex_unlock(lock) _mutex_unlock(lock)
26 #define mutex_lock_acquired(lock) _mutex_lock_acquired(lock, __FILE__, __LINE__)
28 static inline char *_strlcat(char *dst, const char *src, size_t len)
30 strncat(dst, src, len - strnlen(dst, len) - 1);
36 static inline int mutex_init(struct mutex *mutex)
39 mutex->owner_name[0] = '\0';
43 return pthread_mutex_init(&mutex->lock, NULL);
46 #define ROUND_UP(a, m) ((a) + (m) - (a) % (m))