summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2012-04-04 17:47:18 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2012-04-04 17:47:18 -0500
commit772d929a3ca02ed113176afb757358a99cb490f1 (patch)
treead6ed64c5b82905d4f68aece273e650844ce7bef
parentAdd tvtohz() implementation in new file (diff)
downloadrtems-libbsd-772d929a3ca02ed113176afb757358a99cb490f1.tar.bz2
Add _ALIGN macro based on one in libmisc/shell/fts.c
-rw-r--r--freebsd/sys/param.h12
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
*/