summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/macros/address.inl
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/exec/score/macros/address.inl')
-rw-r--r--c/src/exec/score/macros/address.inl68
1 files changed, 68 insertions, 0 deletions
diff --git a/c/src/exec/score/macros/address.inl b/c/src/exec/score/macros/address.inl
new file mode 100644
index 0000000000..ec748b7534
--- /dev/null
+++ b/c/src/exec/score/macros/address.inl
@@ -0,0 +1,68 @@
+/* macros/address.h
+ *
+ * This include file contains the bodies of the routines
+ * about addresses which are inlined.
+ *
+ * COPYRIGHT (c) 1989-1997.
+ * On-Line Applications Research Corporation (OAR).
+ * Copyright assigned to U.S. Government, 1994.
+ *
+ * The license and distribution terms for this file may in
+ * the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#ifndef __MACROS_ADDRESSES_h
+#define __MACROS_ADDRESSES_h
+
+/*PAGE
+ *
+ * _Addresses_Add_offset
+ *
+ */
+
+#define _Addresses_Add_offset( _base, _offset ) \
+ ((void *)((char *)(_base) + (_offset)))
+
+/*PAGE
+ *
+ * _Addresses_Subtract_offset
+ *
+ */
+
+#define _Addresses_Subtract_offset( _base, _offset ) \
+ ((void *)((char *)(_base) - (_offset)))
+
+/*PAGE
+ *
+ * _Addresses_Subtract
+ *
+ * NOTE: The cast of an address to an unsigned32 makes this code
+ * dependent on an addresses being thirty two bits.
+ */
+
+#define _Addresses_Subtract( _left, _right ) \
+ ((void *)(_left) - (void *)(_right))
+
+/*PAGE
+ *
+ * _Addresses_Is_aligned
+ *
+ */
+
+#define _Addresses_Is_aligned( _address ) \
+ ( ( (unsigned32)(_address) % 4 ) == 0 )
+
+/*PAGE
+ *
+ * _Addresses_Is_in_range
+ *
+ */
+
+#define _Addresses_Is_in_range( _address, _base, _limit ) \
+ ( (_address) >= (_base) && (_address) <= (_limit) )
+
+#endif
+/* end of include file */