From c64e4ed48285a0c944905bc02de89c20038f428b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 15 Jan 1996 21:50:28 +0000 Subject: updates from Tony Bennett for PA and UNIX ports --- c/src/lib/libmisc/assoc/assoc.c | 77 ++++++++++++++++++++++------------------- c/src/lib/libmisc/assoc/assoc.h | 34 +++++++++--------- 2 files changed, 58 insertions(+), 53 deletions(-) (limited to 'c/src/lib/libmisc/assoc') diff --git a/c/src/lib/libmisc/assoc/assoc.c b/c/src/lib/libmisc/assoc/assoc.c index c18359ef8a..a3eabdb3b5 100644 --- a/c/src/lib/libmisc/assoc/assoc.c +++ b/c/src/lib/libmisc/assoc/assoc.c @@ -1,6 +1,6 @@ /* - * @(#)assoc.c 1.4 - 95/08/02 - * + * @(#)assoc.c 1.6 - 95/10/25 + * * * assoc.c * rtems assoc routines @@ -8,7 +8,6 @@ * $Id$ */ - #include #include "assoc.h" @@ -18,13 +17,13 @@ #define STREQ(a,b) (strcmp((a), (b)) == 0) #define rtems_assoc_is_default(ap) ((ap)->name && STREQ(ap->name, RTEMS_ASSOC_DEFAULT_NAME)) -rtems_assoc_t * +const rtems_assoc_t * rtems_assoc_ptr_by_name( - rtems_assoc_t *ap, - char *name + const rtems_assoc_t *ap, + const char *name ) { - rtems_assoc_t *default_ap = 0; + const rtems_assoc_t *default_ap = 0; if (rtems_assoc_is_default(ap)) default_ap = ap++; @@ -36,13 +35,13 @@ rtems_assoc_ptr_by_name( return default_ap; } -rtems_assoc_t * +const rtems_assoc_t * rtems_assoc_ptr_by_local( - rtems_assoc_t *ap, + const rtems_assoc_t *ap, unsigned32 local_value ) { - rtems_assoc_t *default_ap = 0; + const rtems_assoc_t *default_ap = 0; if (rtems_assoc_is_default(ap)) default_ap = ap++; @@ -55,13 +54,13 @@ rtems_assoc_ptr_by_local( } -rtems_assoc_t * +const rtems_assoc_t * rtems_assoc_ptr_by_remote( - rtems_assoc_t *ap, + const rtems_assoc_t *ap, unsigned32 remote_value ) { - rtems_assoc_t *default_ap = 0; + const rtems_assoc_t *default_ap = 0; if (rtems_assoc_is_default(ap)) default_ap = ap++; @@ -80,11 +79,11 @@ rtems_assoc_ptr_by_remote( unsigned32 rtems_assoc_remote_by_local( - rtems_assoc_t *ap, + const rtems_assoc_t *ap, unsigned32 local_value ) { - rtems_assoc_t *nap; + const rtems_assoc_t *nap; nap = rtems_assoc_ptr_by_local(ap, local_value); if (nap) return nap->remote_value; @@ -94,11 +93,11 @@ rtems_assoc_remote_by_local( unsigned32 rtems_assoc_local_by_remote( - rtems_assoc_t *ap, + const rtems_assoc_t *ap, unsigned32 remote_value ) { - rtems_assoc_t *nap; + const rtems_assoc_t *nap; nap = rtems_assoc_ptr_by_remote(ap, remote_value); if (nap) return nap->local_value; @@ -108,11 +107,11 @@ rtems_assoc_local_by_remote( unsigned32 rtems_assoc_remote_by_name( - rtems_assoc_t *ap, - char *name + const rtems_assoc_t *ap, + const char *name ) { - rtems_assoc_t *nap; + const rtems_assoc_t *nap; nap = rtems_assoc_ptr_by_name(ap, name); if (nap) return nap->remote_value; @@ -122,11 +121,11 @@ rtems_assoc_remote_by_name( unsigned32 rtems_assoc_local_by_name( - rtems_assoc_t *ap, - char *name + const rtems_assoc_t *ap, + const char *name ) { - rtems_assoc_t *nap; + const rtems_assoc_t *nap; nap = rtems_assoc_ptr_by_name(ap, name); if (nap) return nap->local_value; @@ -139,25 +138,29 @@ rtems_assoc_local_by_name( * this is not reentrant, but it really shouldn't be invoked anyway */ -char * +const char * rtems_assoc_name_bad( unsigned32 bad_value ) { +#ifdef RTEMS_DEBUG static char bad_buffer[32]; sprintf(bad_buffer, "< %d [0x%x] >", bad_value, bad_value); +#else + static char bad_buffer[32] = ""; +#endif return bad_buffer; } -char * +const char * rtems_assoc_name_by_local( - rtems_assoc_t *ap, + const rtems_assoc_t *ap, unsigned32 local_value ) { - rtems_assoc_t *nap; + const rtems_assoc_t *nap; nap = rtems_assoc_ptr_by_local(ap, local_value); if (nap) return nap->name; @@ -165,13 +168,13 @@ rtems_assoc_name_by_local( return rtems_assoc_name_bad(local_value); } -char * +const char * rtems_assoc_name_by_remote( - rtems_assoc_t *ap, + const rtems_assoc_t *ap, unsigned32 remote_value ) { - rtems_assoc_t *nap; + const rtems_assoc_t *nap; nap = rtems_assoc_ptr_by_remote(ap, remote_value); if (nap) return nap->name; @@ -185,7 +188,7 @@ rtems_assoc_name_by_remote( */ unsigned32 rtems_assoc_remote_by_local_bitfield( - rtems_assoc_t *ap, + const rtems_assoc_t *ap, unsigned32 local_value ) { @@ -201,7 +204,7 @@ unsigned32 rtems_assoc_remote_by_local_bitfield( unsigned32 rtems_assoc_local_by_remote_bitfield( - rtems_assoc_t *ap, + const rtems_assoc_t *ap, unsigned32 remote_value ) { @@ -215,8 +218,9 @@ unsigned32 rtems_assoc_local_by_remote_bitfield( return local_value; } -char *rtems_assoc_name_by_remote_bitfield( - rtems_assoc_t *ap, +char * +rtems_assoc_name_by_remote_bitfield( + const rtems_assoc_t *ap, unsigned32 value, char *buffer ) @@ -236,8 +240,9 @@ char *rtems_assoc_name_by_remote_bitfield( return buffer; } -char *rtems_assoc_name_by_local_bitfield( - rtems_assoc_t *ap, +char * +rtems_assoc_name_by_local_bitfield( + const rtems_assoc_t *ap, unsigned32 value, char *buffer ) diff --git a/c/src/lib/libmisc/assoc/assoc.h b/c/src/lib/libmisc/assoc/assoc.h index c820cfa973..f9a444374c 100644 --- a/c/src/lib/libmisc/assoc/assoc.h +++ b/c/src/lib/libmisc/assoc/assoc.h @@ -1,5 +1,5 @@ /* - * @(#)assoc.h 1.2 - 95/06/28 + * @(#)assoc.h 1.4 - 95/10/25 * * * Rtems associativity routines. Mainly used to convert a value from @@ -13,7 +13,7 @@ #define _INCLUDE_ASSOC_H typedef struct { - char *name; + const char *name; unsigned32 local_value; unsigned32 remote_value; } rtems_assoc_t; @@ -24,21 +24,21 @@ typedef struct { #define RTEMS_ASSOC_DEFAULT_NAME "(default)" -rtems_assoc_t *rtems_assoc_ptr_by_name(rtems_assoc_t *, char *); -rtems_assoc_t *rtems_assoc_ptr_by_value(rtems_assoc_t *, unsigned32); -rtems_assoc_t *rtems_assoc_ptr_by_remote(rtems_assoc_t *, unsigned32); - -unsigned32 rtems_assoc_remote_by_local(rtems_assoc_t *, unsigned32); -unsigned32 rtems_assoc_local_by_remote(rtems_assoc_t *, unsigned32); -unsigned32 rtems_assoc_remote_by_name(rtems_assoc_t *, char *); -unsigned32 rtems_assoc_local_by_name(rtems_assoc_t *, char *); -char *rtems_assoc_name_by_local(rtems_assoc_t *, unsigned32); -char *rtems_assoc_name_by_remote(rtems_assoc_t *, unsigned32); - -unsigned32 rtems_assoc_remote_by_local_bitfield(rtems_assoc_t *, unsigned32); -char *rtems_assoc_name_by_local_bitfield(rtems_assoc_t *, unsigned32, char *); -char *rtems_assoc_name_by_remote_bitfield(rtems_assoc_t *, unsigned32, char *); -unsigned32 rtems_assoc_local_by_remote_bitfield(rtems_assoc_t *ap, unsigned32); +const rtems_assoc_t *rtems_assoc_ptr_by_name(const rtems_assoc_t *, const char *); +const rtems_assoc_t *rtems_assoc_ptr_by_value(const rtems_assoc_t *, unsigned32); +const rtems_assoc_t *rtems_assoc_ptr_by_remote(const rtems_assoc_t *, unsigned32); + +unsigned32 rtems_assoc_remote_by_local(const rtems_assoc_t *, unsigned32); +unsigned32 rtems_assoc_local_by_remote(const rtems_assoc_t *, unsigned32); +unsigned32 rtems_assoc_remote_by_name(const rtems_assoc_t *, const char *); +unsigned32 rtems_assoc_local_by_name(const rtems_assoc_t *, const char *); +const char *rtems_assoc_name_by_local(const rtems_assoc_t *, unsigned32); +const char *rtems_assoc_name_by_remote(const rtems_assoc_t *, unsigned32); + +unsigned32 rtems_assoc_remote_by_local_bitfield(const rtems_assoc_t *, unsigned32); +char *rtems_assoc_name_by_local_bitfield(const rtems_assoc_t *, unsigned32, char *); +char *rtems_assoc_name_by_remote_bitfield(const rtems_assoc_t *, unsigned32, char *); +unsigned32 rtems_assoc_local_by_remote_bitfield(const rtems_assoc_t *, unsigned32); #endif /* ! _INCLUDE_ASSOC_H */ -- cgit v1.2.3