void attribute_del_value (struct attribute *, size_t index);
size_t attribute_get_n_values (const struct attribute *);
-struct attrset
+struct attrset
{
struct hmap map;
};
+#define ATTRSET_INITIALIZER(ATTRSET) { .map = HMAP_INITIALIZER((ATTRSET).map) }
void attrset_init (struct attrset *);
void attrset_clone (struct attrset *, const struct attrset *);
size_t attrset_count (const struct attrset *);
struct attribute *attrset_lookup (const struct attrset *, const char *);
+bool attrset_try_add (struct attrset *, struct attribute *);
void attrset_add (struct attrset *, struct attribute *);
void attrset_delete (struct attrset *, const char *);
void attrset_clear (struct attrset *);