C Microkernel Realtime eXecutive
Realtime Operating System for Cortex-M based microcontrollers
 
Loading...
Searching...
No Matches
util.h
1
6#pragma once
7
8#include <stddef.h>
9
22#define LOG2(x) (31 - __builtin_clz((uint32_t) x))
23
32#define LENGTH(obj) (sizeof(obj)/sizeof(obj[0]))
33
44#define CONTAINER_OF(ptr, type, member) ({\
45 const typeof(((type *) 0)->member) * member_ptr = (ptr);\
46 (type *) ((char *) member_ptr - offsetof(type, member));\
47})
48
49
50