38 lines
631 B
C
38 lines
631 B
C
/* SPDX-License-Identifier: BSD-3-Clause */
|
|
|
|
#include <inttypes.h>
|
|
#include <string.h>
|
|
#include <strings.h>
|
|
|
|
#include <valstr.h>
|
|
|
|
const char *val2str_default(uint32_t val, const struct valstr *vs,
|
|
const char *def_str)
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; vs[i].str; i++) {
|
|
if (vs[i].val == val)
|
|
return vs[i].str;
|
|
}
|
|
|
|
return def_str;
|
|
}
|
|
|
|
const char *val2str(uint32_t val, const struct valstr *vs)
|
|
{
|
|
return val2str_default(val, vs, "Unknown");
|
|
}
|
|
|
|
uint32_t str2val(const char *str, const struct valstr *vs)
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; vs[i].str; i++) {
|
|
if (strcasecmp(vs[i].str, str) == 0)
|
|
return vs[i].val;
|
|
}
|
|
|
|
return vs[i].val;
|
|
}
|