diff options
Diffstat (limited to 'cpukit/libcsupport/src/assocnamebyremotebitfield.c')
-rw-r--r-- | cpukit/libcsupport/src/assocnamebyremotebitfield.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cpukit/libcsupport/src/assocnamebyremotebitfield.c b/cpukit/libcsupport/src/assocnamebyremotebitfield.c new file mode 100644 index 0000000000..1293393e1e --- /dev/null +++ b/cpukit/libcsupport/src/assocnamebyremotebitfield.c @@ -0,0 +1,39 @@ +/* + * 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 */ + + +char *rtems_assoc_name_by_remote_bitfield( + const rtems_assoc_t *ap, + uint32_t value, + char *buffer +) +{ + uint32_t b; + + *buffer = 0; + + for (b = 1; b; b <<= 1) { + if (b & value) { + if (*buffer) + strcat(buffer, " "); + strcat(buffer, rtems_assoc_name_by_remote(ap, b)); + } + } + + return buffer; +} |