UI_STRING
static int ui_read(UI *ui, UI_STRING *uis)
int (*reader)(UI *ui, UI_STRING *uis) = NULL;
static int ui_write(UI *ui, UI_STRING *uis)
int (*writer)(UI *ui, UI_STRING *uis) = NULL;
UI_STRING *ret = NULL;
UI_STRING *s = general_allocate_prompt(ui, prompt, prompt_freeable,
UI_STRING *s;
UI_STRING uis;
static void free_string(UI_STRING *uis)
int (*writer)(UI *ui, UI_STRING *uis))
int (*reader)(UI *ui, UI_STRING *uis))
int (*UI_method_get_writer(const UI_METHOD *method))(UI *, UI_STRING *)
int (*UI_method_get_reader(const UI_METHOD *method))(UI *, UI_STRING *)
enum UI_string_types UI_get_string_type(UI_STRING *uis)
int UI_get_input_flags(UI_STRING *uis)
const char *UI_get0_output_string(UI_STRING *uis)
const char *UI_get0_action_string(UI_STRING *uis)
const char *UI_get0_result_string(UI_STRING *uis)
int UI_get_result_string_length(UI_STRING *uis)
const char *UI_get0_test_string(UI_STRING *uis)
int UI_get_result_minsize(UI_STRING *uis)
int UI_get_result_maxsize(UI_STRING *uis)
int UI_set_result(UI *ui, UI_STRING *uis, const char *result)
int UI_set_result_ex(UI *ui, UI_STRING *uis, const char *result, int len)
static UI_STRING *general_allocate_prompt(UI *ui, const char *prompt,
int (*ui_write_string)(UI *ui, UI_STRING *uis);
int (*ui_read_string)(UI *ui, UI_STRING *uis);
STACK_OF(UI_STRING) *strings; /* We might want to prompt for more than
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 write_string(UI *ui, UI_STRING *uis)
static int read_string(UI *ui, UI_STRING *uis)
static int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl)
static int ui_read(UI *ui, UI_STRING *uis)
static int ui_write(UI *ui, UI_STRING *uis)
SKM_DEFINE_STACK_OF_INTERNAL(UI_STRING, UI_STRING, UI_STRING)
#define sk_UI_STRING_value(sk, idx) ((UI_STRING *)OPENSSL_sk_value(ossl_check_const_UI_STRING_sk_type(sk), (idx)))
#define sk_UI_STRING_new(cmp) ((STACK_OF(UI_STRING) *)OPENSSL_sk_new(ossl_check_UI_STRING_compfunc_type(cmp)))
#define sk_UI_STRING_new_null() ((STACK_OF(UI_STRING) *)OPENSSL_sk_new_null())
#define sk_UI_STRING_new_reserve(cmp, n) ((STACK_OF(UI_STRING) *)OPENSSL_sk_new_reserve(ossl_check_UI_STRING_compfunc_type(cmp), (n)))
#define sk_UI_STRING_delete(sk, i) ((UI_STRING *)OPENSSL_sk_delete(ossl_check_UI_STRING_sk_type(sk), (i)))
#define sk_UI_STRING_delete_ptr(sk, ptr) ((UI_STRING *)OPENSSL_sk_delete_ptr(ossl_check_UI_STRING_sk_type(sk), ossl_check_UI_STRING_type(ptr)))
#define sk_UI_STRING_pop(sk) ((UI_STRING *)OPENSSL_sk_pop(ossl_check_UI_STRING_sk_type(sk)))
#define sk_UI_STRING_shift(sk) ((UI_STRING *)OPENSSL_sk_shift(ossl_check_UI_STRING_sk_type(sk)))
#define sk_UI_STRING_set(sk, idx, ptr) ((UI_STRING *)OPENSSL_sk_set(ossl_check_UI_STRING_sk_type(sk), (idx), ossl_check_UI_STRING_type(ptr)))
#define sk_UI_STRING_dup(sk) ((STACK_OF(UI_STRING) *)OPENSSL_sk_dup(ossl_check_const_UI_STRING_sk_type(sk)))
#define sk_UI_STRING_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(UI_STRING) *)OPENSSL_sk_deep_copy(ossl_check_const_UI_STRING_sk_type(sk), ossl_check_UI_STRING_copyfunc_type(copyfunc), ossl_check_UI_STRING_freefunc_type(freefunc)))
int (*writer)(UI *ui, UI_STRING *uis));
int (*reader)(UI *ui, UI_STRING *uis));
int (*UI_method_get_writer(const UI_METHOD *method))(UI *, UI_STRING *);
int (*UI_method_get_reader(const UI_METHOD *method))(UI *, UI_STRING *);
enum UI_string_types UI_get_string_type(UI_STRING *uis);
int UI_get_input_flags(UI_STRING *uis);
const char *UI_get0_output_string(UI_STRING *uis);
const char *UI_get0_action_string(UI_STRING *uis);
const char *UI_get0_result_string(UI_STRING *uis);
int UI_get_result_string_length(UI_STRING *uis);
const char *UI_get0_test_string(UI_STRING *uis);
int UI_get_result_minsize(UI_STRING *uis);
int UI_get_result_maxsize(UI_STRING *uis);
int UI_set_result(UI *ui, UI_STRING *uis, const char *result);
int UI_set_result_ex(UI *ui, UI_STRING *uis, const char *result, int len);
static int fake_pw_read_string(UI *ui, UI_STRING *uis)