13 #define ATTR2(x,y) attr_##y=x,
14 #define ATTR(x) attr_##x,
20 #define AF_ONEWAY (1<<0)
21 #define AF_ONEWAYREV (1<<1)
22 #define AF_NOPASS (AF_ONEWAY|AF_ONEWAYREV)
23 #define AF_ONEWAYMASK (AF_ONEWAY|AF_ONEWAYREV)
24 #define AF_SEGMENTED (1<<2)
33 enum item_type item_type;
40 enum attr_type attr_from_name(const char *name);
41 char *attr_to_name(enum attr_type attr);
42 struct attr *attr_new_from_text(const char *name, const char *value);
43 struct attr *attr_search(struct attr **attrs, struct attr *last, enum attr_type attr);
44 int attr_data_size(struct attr *attr);
45 void *attr_data_get(struct attr *attr);
46 void attr_data_set(struct attr *attr, void *data);
47 void attr_free(struct attr *attr);
48 /* end of prototypes */