I made a crappy little abstraction on top of readline to make things simpler for myself. Someone might find it useful.
#include "egg-line.h"
{
EggLine *line = egg_line_new ();
egg_line_set_prompt (line, "Linux-Router> ");
egg_line_set_entries (line, completion_tree);
egg_line_run (line);
}
-- Christian Hergert 2009-11-09