/* 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; }