#ifndef CURSES_LISTBOX #define CURSES_LISTBOX typedef struct list_selection { struct list_selection *next; struct list_selection *prev; int index; char *str; void *data; } list_selection; extern struct list_selection *do_selection(struct list_selection *sel, const char *title, void (*perform) (struct list_selection *, void *), void *data); extern struct list_selection **push_selection(struct list_selection **p_sel, char *str, void *payload); extern void insert_selection(struct list_selection **p_sel, struct list_selection *prev, const char *str, void *payload); #endif /* CURSES_LISTBOX */