diff options
-rw-r--r-- | freebsd/sys/param.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/freebsd/sys/param.h b/freebsd/sys/param.h index 1a67648d..cd00ea4c 100644 --- a/freebsd/sys/param.h +++ b/freebsd/sys/param.h @@ -156,6 +156,18 @@ #define MJUM16BYTES (16 * 1024) /* jumbo cluster 16k */ /* + * Round p (pointer or byte index) up to a correctly-aligned value + * for all data types (int, long, ...). The result is u_long and + * must be cast to any desired pointer type. + */ +#ifndef _ALIGNBYTES +#define _ALIGNBYTES (sizeof(long) - 1) +#endif +#ifndef _ALIGN +#define _ALIGN(p) (((uintptr_t)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) +#endif + +/* * Some macros for units conversion */ |