#include #include void* align(void *ptr, unsigned int n) { uintptr_t address = (uintptr_t)ptr; uintptr_t mask = (1 << n) -1; if (address & mask) { address = address & ~mask; address = address + (1<