diff options
author | Joel Sherrill <joel.sherrill@oarcorp.com> | 2012-04-04 17:47:18 -0500 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2012-04-04 17:47:18 -0500 |
commit | 772d929a3ca02ed113176afb757358a99cb490f1 (patch) | |
tree | ad6ed64c5b82905d4f68aece273e650844ce7bef | |
parent | Add tvtohz() implementation in new file (diff) | |
download | rtems-libbsd-772d929a3ca02ed113176afb757358a99cb490f1.tar.bz2 |
Add _ALIGN macro based on one in libmisc/shell/fts.c
-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 */ |