parser
%pure-parser
struct parser *b_parser;
void cmdloop_branch_init(cmdloop_branch_t *, struct parser *);
cmdloop_branch_init(cmdloop_branch_t *b, struct parser *p)
static struct parser *
struct parser *start;
pstr_match(const struct parser *p, const struct match *im, struct match *om,
pinteger_match(const struct parser *p, const struct match *im, struct match *om,
paddr_match(const struct parser *p, const struct match *im, struct match *om,
pterm_match(const struct parser *p, const struct match *im,
piface_match(const struct parser *p, const struct match *im,
pbranch_match(const struct parser *p, const struct match *im,
const struct parser *nextp;
static int parser_default_init(struct parser *);
static int pbranch_init(struct parser *);
static int pkw_init(struct parser *);
static int pterm_match(const struct parser *, const struct match *,
pkw_match(const struct parser *p, const struct match *im,
static int paddr_match(const struct parser *, const struct match *,
static int pbranch_match(const struct parser *, const struct match *,
const char *maskkey, struct parser *next)
static int piface_match(const struct parser *, const struct match *,
struct parser *defnext)
static int pstr_match(const struct parser *, const struct match *,
pbranch_addbranch(struct pbranch *pb, struct parser *p)
static int pinteger_match(const struct parser *, const struct match *,
pbranch_init(struct parser *p)
struct parser *np;
static int pkw_match(const struct parser *, const struct match *,
parser_default_init(struct parser *p)
struct parser *np;
const struct kwinst *kws, size_t nkw, struct parser *defnext)
pkw_init(struct parser *p)
struct parser *np;
const struct kwinst *kws, size_t nkw, struct parser *defnext)
parse(int argc, char **argv, const struct parser *p0, struct match *matches,
const struct parser *p = p0;
parser_init(struct parser *p)
struct parser;
typedef int (*parser_match_t)(const struct parser *, const struct match *,
struct parser *k_nextparser;
struct parser pk_parser;
typedef int (*parser_init_t)(struct parser *);
struct parser ps_parser;
struct parser pi_parser;
struct parser *r_nextparser;
struct parser pr_parser;
struct parser pa_parser;
const struct parser *m_nextparser;
struct parser pif_parser;
const struct parser *m_parser;
struct parser pr_parser;
const char *, struct parser *);
bool, struct parser *);
struct parser *);
const char *, const struct kwinst *, size_t, struct parser *);
const struct intrange *, size_t, struct parser *);
int pbranch_addbranch(struct pbranch *, struct parser *);
int parse(int, char **, const struct parser *, struct match *, size_t *, int *);
int parser_init(struct parser *);
struct parser *p_nextparser;
struct parser *b_nextparser;
struct parser pb_parser;
struct parser pt_parser;
if (tp->parser != NULL)
rval = (*tp->parser)(cp);
int (*parser)(char *);
npf_var_rid(char *var_id, rid_parser parser, uint32_t *rid, const char *ridt)
if (parser(rid_type, rid) == -1) {