28#ifndef ECOLI_COMPLETE_
29#define ECOLI_COMPLETE_
45 EC_COMP_UNKNOWN = 0x1,
47 EC_COMP_PARTIAL = 0x4,
70struct ec_comp *ec_complete(
const struct ec_node *node,
97struct ec_comp *ec_complete_strvec(
const struct ec_node *node,
116int ec_complete_child(
const struct ec_node *node,
117 struct ec_comp *comp,
127struct ec_comp *ec_comp(
void);
135void ec_comp_free(
struct ec_comp *comp);
145void ec_comp_dump(FILE *out,
const struct ec_comp *comp);
159int ec_comp_merge(
struct ec_comp *to,
struct ec_comp *from);
178struct ec_pnode *ec_comp_get_cur_pstate(
const struct ec_comp *comp);
195struct ec_comp_group *ec_comp_get_cur_group(
const struct ec_comp *comp);
208struct ec_dict *ec_comp_get_attrs(
const struct ec_comp *comp);
244struct ec_comp_item *ec_comp_add_item(
struct ec_comp *comp,
246 const struct ec_node *node,
enum ec_comp_type type,
247 const char *start,
const char *full);
258ec_comp_item_get_str(
const struct ec_comp_item *item);
272ec_comp_item_get_display(
const struct ec_comp_item *item);
286ec_comp_item_get_completion(
const struct ec_comp_item *item);
299const struct ec_comp_group *
300ec_comp_item_get_grp(
const struct ec_comp_item *item);
312ec_comp_item_get_type(
const struct ec_comp_item *item);
323ec_comp_item_get_node(
const struct ec_comp_item *item);
338int ec_comp_item_set_str(
struct ec_comp_item *item,
const char *str);
354int ec_comp_item_set_display(
struct ec_comp_item *item,
355 const char *display);
372int ec_comp_item_set_completion(
struct ec_comp_item *item,
373 const char *completion);
382ec_comp_group_get_node(
const struct ec_comp_group *grp);
396ec_comp_group_get_pstate(
const struct ec_comp_group *grp);
411ec_comp_group_get_attrs(
const struct ec_comp_group *grp);
436ec_complete_unknown(
const struct ec_node *node,
437 struct ec_comp *comp,
454size_t ec_comp_count(
const struct ec_comp *comp,
enum ec_comp_type type);
470ec_comp_iter_first(
const struct ec_comp *comp,
enum ec_comp_type type);
486ec_comp_iter_next(
struct ec_comp_item *item,
enum ec_comp_type type);
499#define EC_COMP_FOREACH(item, comp, type) \
500 for (item = ec_comp_iter_first(comp, type); \
502 item = ec_comp_iter_next(item, type))
struct ec_dict * ec_dict(void)
struct ec_node * ec_node(const char *typename, const char *id)
struct ec_pnode * ec_pnode(const struct ec_node *node)
struct ec_strvec * ec_strvec(void)