29 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_XCODE 66 const char *
buf,
int nr, uint64_t *
val)
92 nob += snprintf(buf + nob, nr - nob, "%s" fmt, \ 93 nob == 0 ? "" : "|", val); \ 96 for (
i = 0, nob = 0;
i < en->
xe_nr; ++
i) {
113 const char *
buf,
int nr, uint64_t *
val)
120 for (nob = 0; nob <
nr &&
buf[nob] !=
'|'; ++nob)
203 #define BETWEEN(ch, l, h) ((l) <= (ch) && (ch) <= (h)) 218 while (*b != 0 && (
enum_char(*b) || *b ==
'|'))
223 #undef M0_TRACE_SUBSYSTEM
static const char * bitmask_id(const char *buf)
static int enum_getnum(const char *buf, uint64_t *out)
const struct m0_xcode_enum_val * xe_val
#define BETWEEN(ch, l, h)
static struct m0_be_emap_cursor it
bool m0_xcode_enum_is_valid(const struct m0_xcode_enum *en, uint64_t val)
return M0_ERR(-EOPNOTSUPP)
uint64_t m0_strtou64(const char *str, char **endptr, int base)
int m0_xcode_bitmask_print(const struct m0_xcode_enum *en, uint64_t val, char *buf, int nr)
int m0_xcode_bitmask_read(const struct m0_xcode_enum *en, const char *buf, int nr, uint64_t *val)
static bool enum_char(char ch)
const char * m0_xcode_enum_print(const struct m0_xcode_enum *en, uint64_t val, char *buf)
#define m0_forall(var, nr,...)
bool m0_xcode_bitmask_is_valid(const struct m0_xcode_enum *en, uint64_t val)
const struct m0_xcode_type M0_XT_U32
M0_INTERNAL int m0_xcode_bitmask_field_read(const struct m0_xcode_cursor *it, struct m0_xcode_obj *obj, const char *str)
static const struct m0_xcode_enum_val * valget(const struct m0_xcode_enum *en, uint64_t val)
const struct m0_xcode_type M0_XT_U8
static const struct m0_xcode_enum_val * nameget(const struct m0_xcode_enum *en, const char *name, int nr)
M0_INTERNAL const struct m0_xcode_field * m0_xcode_cursor_field(const struct m0_xcode_cursor *it)
int m0_xcode_enum_read(const struct m0_xcode_enum *en, const char *buf, int nr, uint64_t *val)
static const char * enum_id(const char *buf)
const struct m0_xcode_type M0_XT_U64
M0_INTERNAL int m0_xcode_enum_field_read(const struct m0_xcode_cursor *it, struct m0_xcode_obj *obj, const char *str)