+TAILQ_HEAD(ec_comp_item_list, ec_comp_item);
+
+struct ec_comp_group {
+ /* XXX counts ? */
+ TAILQ_ENTRY(ec_comp_group) next;
+ const struct ec_comp *comp;
+ const struct ec_node *node;
+ struct ec_comp_item_list items;
+ struct ec_pnode *pstate;
+ struct ec_dict *attrs;
+};
+
+TAILQ_HEAD(ec_comp_group_list, ec_comp_group);
+
+struct ec_comp {
+ size_t count;
+ size_t count_full;
+ size_t count_partial;
+ size_t count_unknown;
+ struct ec_pnode *cur_pstate;
+ struct ec_comp_group *cur_group;
+ struct ec_comp_group_list groups;
+ struct ec_dict *attrs;
+};
+
+struct ec_comp *ec_comp(void)