UI
UI *ui = NULL;
int UI_add_input_string(UI *ui, const char *prompt, int flags,
int UI_dup_input_string(UI *ui, const char *prompt, int flags,
int UI_add_verify_string(UI *ui, const char *prompt, int flags,
int UI_dup_verify_string(UI *ui, const char *prompt, int flags,
int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc,
int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc,
int UI_add_info_string(UI *ui, const char *text);
int UI_dup_info_string(UI *ui, const char *text);
int UI_add_error_string(UI *ui, const char *text);
int UI_dup_error_string(UI *ui, const char *text);
char *UI_construct_prompt(UI *ui_method, const char *object_desc,
void *UI_add_user_data(UI *ui, void *user_data);
void *UI_get0_user_data(UI *ui);
const char *UI_get0_result(UI *ui, int i);
int UI_process(UI *ui);
int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f)(void));
int UI_set_ex_data(UI *r, int idx, void *arg);
void *UI_get_ex_data(UI *r, int idx);
const UI_METHOD *UI_get_method(UI *ui);
const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth);
int UI_method_set_opener(UI_METHOD *method, int (*opener)(UI *ui));
int (*writer)(UI *ui, UI_STRING *uis));
int UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui));
int (*reader)(UI *ui, UI_STRING *uis));
int UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui));
char *(*prompt_constructor)(UI *ui, const char *object_desc,
int (*UI_method_get_opener(const UI_METHOD *method))(UI *);
int (*UI_method_get_writer(const UI_METHOD *method))(UI *, UI_STRING *);
int (*UI_method_get_flusher(const UI_METHOD *method))(UI *);
int (*UI_method_get_reader(const UI_METHOD *method))(UI *, UI_STRING *);
int (*UI_method_get_closer(const UI_METHOD *method))(UI *);
char *(*UI_method_get_prompt_constructor(const UI_METHOD *method))(UI *,
int UI_set_result(UI *ui, UI_STRING *uis, const char *result);
UI *UI_new(void);
UI *UI_new_method(const UI_METHOD *method);
void UI_free(UI *ui);
UI_free(UI *ui)
allocate_string_stack(UI *ui)
general_allocate_string(UI *ui, const char *prompt, int dup_prompt,
general_allocate_boolean(UI *ui, const char *prompt, const char *action_desc,
UI_add_input_string(UI *ui, const char *prompt, int flags, char *result_buf,
UI_dup_input_string(UI *ui, const char *prompt, int flags, char *result_buf,
UI_add_verify_string(UI *ui, const char *prompt, int flags, char *result_buf,
UI_dup_verify_string(UI *ui, const char *prompt, int flags,
UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc,
UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc,
UI_add_info_string(UI *ui, const char *text)
UI_dup_info_string(UI *ui, const char *text)
UI_add_error_string(UI *ui, const char *text)
UI_dup_error_string(UI *ui, const char *text)
UI_construct_prompt(UI *ui, const char *object_desc, const char *object_name)
UI_add_user_data(UI *ui, void *user_data)
UI_get0_user_data(UI *ui)
UI_get0_result(UI *ui, int i)
UI *ui = arg;
UI_process(UI *ui)
UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void))
UI_set_ex_data(UI *r, int idx, void *arg)
UI_get_ex_data(UI *r, int idx)
UI_get_method(UI *ui)
UI_set_method(UI *ui, const UI_METHOD *method)
UI_method_set_opener(UI_METHOD *method, int (*opener)(UI *ui))
UI_method_set_writer(UI_METHOD *method, int (*writer)(UI *ui, UI_STRING *uis))
UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui))
UI_method_set_reader(UI_METHOD *method, int (*reader)(UI *ui, UI_STRING *uis))
UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui))
char *(*prompt_constructor)(UI *ui, const char *object_desc,
(*UI_method_get_opener(const UI_METHOD * method))(UI *)
(*UI_method_get_writer(const UI_METHOD *method))(UI *, UI_STRING *)
(*UI_method_get_flusher(const UI_METHOD *method)) (UI *)
(*UI_method_get_reader(const UI_METHOD *method))(UI *, UI_STRING *)
UI *
(*UI_method_get_closer(const UI_METHOD *method))(UI *)
(*UI_method_get_prompt_constructor(const UI_METHOD *method))(UI *, const char *,
UI *
UI *ret;
if ((ret = calloc(1, sizeof(UI))) == NULL) {
UI_set_result(UI *ui, UI_STRING *uis, const char *result)
char *(*ui_construct_prompt)(UI *ui, const char *object_desc,
int (*ui_open_session)(UI *ui);
int (*ui_write_string)(UI *ui, UI_STRING *uis);
int (*ui_flush)(UI *ui);
int (*ui_read_string)(UI *ui, UI_STRING *uis);
int (*ui_close_session)(UI *ui);
static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl);
static int read_string(UI *ui, UI_STRING *uis);
static int write_string(UI *ui, UI_STRING *uis);
static int open_console(UI *ui);
static int echo_console(UI *ui);
static int noecho_console(UI *ui);
static int close_console(UI *ui);
write_string(UI *ui, UI_STRING *uis)
read_string(UI *ui, UI_STRING *uis)
read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl)
open_console(UI *ui)
noecho_console(UI *ui)
echo_console(UI *ui)
close_console(UI *ui)
ui_open(UI *ui)
ui_read(UI *ui, UI_STRING *uis)
ui_write(UI *ui, UI_STRING *uis)
ui_close(UI *ui)
UI *ui = NULL;
int ui_open(UI *ui);
int ui_read(UI *ui, UI_STRING *uis);
int ui_write(UI *ui, UI_STRING *uis);
int ui_close(UI *ui);
if (nb->flags == UI)