loclist
struct loclist *a_locs; /* locators required */
struct loclist *ll_next;
struct loclist *loclist_create(const char *, const char *, long long);
void loclist_destroy(struct loclist *);
struct loclist *ll = wrapstack[i].ptr;
DEF_ALLOCWRAP(loclist);
static struct loclist *
static struct loclist *
mk_loc_val(const char *str, struct loclist *next)
struct loclist *ll;
static struct loclist *mk_loc(const char *, const char *, long long);
static struct loclist *mk_loc_val(const char *, struct loclist *);
static struct loclist *
present_loclist(struct loclist *ll)
struct loclist *ret;
app(struct loclist *p, struct loclist *q)
static struct loclist *
locarray(const char *name, int count, struct loclist *adefs, int opt)
struct loclist *defs = adefs;
struct loclist **p;
static struct loclist *
namelocvals(const char *name, struct loclist *vals)
struct loclist *p;
static struct loclist *present_loclist(struct loclist *ll);
static void app(struct loclist *, struct loclist *);
static struct loclist *locarray(const char *, int, struct loclist *, int);
static struct loclist *namelocvals(const char *, struct loclist *);
struct loclist *loclist;
%type <loclist> interface_opt
%type <loclist> loclist locdef
%type <loclist> values locdefaults
%type <loclist> locators locator
| '{' loclist '}' { $$ = present_loclist($2); }
loclist:
| locdef ',' loclist { $$ = $1; app($1, $3); }
DECL_ALLOCWRAP(loclist);
struct loclist *ll;
struct loclist *ll;
struct loclist *ll;
struct loclist *ll;
adddev(const char *name, const char *at, struct loclist *loclist, int flags)
if ((i->i_locs = fixloc(name, attr, loclist)) == NULL) {
loclist_destroy(loclist);
fixloc(const char *name, struct attr *attr, struct loclist *got)
struct loclist *m, *n;
defattr0(const char *name, struct loclist *locs, struct attrlist *deps,
defattr(const char *name, struct loclist *locs, struct attrlist *deps,
defiattr(const char *name, struct loclist *locs, struct attrlist *deps,
struct loclist *ll;
defdevclass(const char *name, struct loclist *locs, struct attrlist *deps,
defdev(struct devbase *dev, struct loclist *loclist, struct attrlist *attrs,
struct loclist *ll;
if (loclist != NULL) {
ll = loclist;
loclist = NULL; /* defattr disposes of them for us */
loclist_destroy(loclist);
static const char **fixloc(const char *, struct attr *, struct loclist *);
int defattr0(const char *, struct loclist *, struct attrlist *, int);
int defattr(const char *, struct loclist *, struct attrlist *, int);
int defiattr(const char *, struct loclist *, struct attrlist *, int);
int defdevclass(const char *, struct loclist *, struct attrlist *, int);
void defdev(struct devbase *, struct loclist *, struct attrlist *, int);
void adddev(const char *, const char *, struct loclist *, int);
struct loclist *
struct loclist *ll;
loclist_destroy(struct loclist *ll)
struct loclist *next;