summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/assocremotebylocalbitfield.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libcsupport/src/assocremotebylocalbitfield.c')
-rw-r--r--cpukit/libcsupport/src/assocremotebylocalbitfield.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/cpukit/libcsupport/src/assocremotebylocalbitfield.c b/cpukit/libcsupport/src/assocremotebylocalbitfield.c
new file mode 100644
index 0000000000..3d28345847
--- /dev/null
+++ b/cpukit/libcsupport/src/assocremotebylocalbitfield.c
@@ -0,0 +1,33 @@
+/*
+ * assoc.c
+ * rtems assoc routines
+ *
+ * $Id$
+ */
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define INSIDE_ASSOC
+
+#include <rtems.h>
+#include <rtems/assoc.h>
+
+#include <string.h> /* strcat, strcmp */
+
+
+uint32_t rtems_assoc_remote_by_local_bitfield(
+ const rtems_assoc_t *ap,
+ uint32_t local_value
+)
+{
+ uint32_t b;
+ uint32_t remote_value = 0;
+
+ for (b = 1; b; b <<= 1)
+ if (b & local_value)
+ remote_value |= rtems_assoc_remote_by_local(ap, b);
+
+ return remote_value;
+}