62 #ifndef OPENSSL_NO_DEPRECATED
63 #include <openssl/crypto.h>
65 #include <openssl/safestack.h>
66 #include <openssl/ossl_typ.h>
84 UI *UI_new_method(
const UI_METHOD *method);
130 int UI_add_input_string(UI *ui,
const char *prompt,
int flags,
131 char *result_buf,
int minsize,
int maxsize);
132 int UI_dup_input_string(UI *ui,
const char *prompt,
int flags,
133 char *result_buf,
int minsize,
int maxsize);
134 int UI_add_verify_string(UI *ui,
const char *prompt,
int flags,
135 char *result_buf,
int minsize,
int maxsize,
const char *test_buf);
136 int UI_dup_verify_string(UI *ui,
const char *prompt,
int flags,
137 char *result_buf,
int minsize,
int maxsize,
const char *test_buf);
138 int UI_add_input_boolean(UI *ui,
const char *prompt,
const char *action_desc,
139 const char *ok_chars,
const char *cancel_chars,
140 int flags,
char *result_buf);
141 int UI_dup_input_boolean(UI *ui,
const char *prompt,
const char *action_desc,
142 const char *ok_chars,
const char *cancel_chars,
143 int flags,
char *result_buf);
144 int UI_add_info_string(UI *ui,
const char *text);
145 int UI_dup_info_string(UI *ui,
const char *text);
146 int UI_add_error_string(UI *ui,
const char *text);
147 int UI_dup_error_string(UI *ui,
const char *text);
151 #define UI_INPUT_FLAG_ECHO 0x01
157 #define UI_INPUT_FLAG_DEFAULT_PWD 0x02
168 #define UI_INPUT_FLAG_USER_BASE 16
188 char *UI_construct_prompt(UI *ui_method,
189 const char *object_desc,
const char *object_name);
201 void *UI_add_user_data(UI *ui,
void *user_data);
203 void *UI_get0_user_data(UI *ui);
206 const char *UI_get0_result(UI *ui,
int i);
209 int UI_process(UI *ui);
214 int UI_ctrl(UI *ui,
int cmd,
long i,
void *p,
void (*f)(
void));
220 #define UI_CTRL_PRINT_ERRORS 1
224 #define UI_CTRL_IS_REDOABLE 2
228 #define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg)
229 #define UI_get_app_data(s) UI_get_ex_data(s,0)
230 int UI_get_ex_new_index(
long argl,
void *argp, CRYPTO_EX_new *new_func,
231 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
232 int UI_set_ex_data(UI *r,
int idx,
void *arg);
233 void *UI_get_ex_data(UI *r,
int idx);
236 void UI_set_default_method(
const UI_METHOD *meth);
237 const UI_METHOD *UI_get_default_method(
void);
238 const UI_METHOD *UI_get_method(UI *ui);
239 const UI_METHOD *UI_set_method(UI *ui,
const UI_METHOD *meth);
242 UI_METHOD *UI_OpenSSL(
void);
290 typedef struct ui_string_st UI_STRING;
291 DECLARE_STACK_OF(UI_STRING)
306 UI_METHOD *UI_create_method(
char *name);
307 void UI_destroy_method(UI_METHOD *ui_method);
308 int UI_method_set_opener(UI_METHOD *method,
int (*opener)(UI *ui));
309 int UI_method_set_writer(UI_METHOD *method,
int (*writer)(UI *ui, UI_STRING *uis));
310 int UI_method_set_flusher(UI_METHOD *method,
int (*flusher)(UI *ui));
311 int UI_method_set_reader(UI_METHOD *method,
int (*reader)(UI *ui, UI_STRING *uis));
312 int UI_method_set_closer(UI_METHOD *method,
int (*closer)(UI *ui));
313 int UI_method_set_prompt_constructor(UI_METHOD *method,
char *(*prompt_constructor)(UI* ui,
const char* object_desc,
const char* object_name));
314 int (*UI_method_get_opener(UI_METHOD *method))(UI*);
315 int (*UI_method_get_writer(UI_METHOD *method))(UI*,UI_STRING*);
316 int (*UI_method_get_flusher(UI_METHOD *method))(UI*);
317 int (*UI_method_get_reader(UI_METHOD *method))(UI*,UI_STRING*);
318 int (*UI_method_get_closer(UI_METHOD *method))(UI*);
319 char * (*UI_method_get_prompt_constructor(UI_METHOD *method))(UI*,
const char*,
const char*);
325 enum UI_string_types UI_get_string_type(UI_STRING *uis);
327 int UI_get_input_flags(UI_STRING *uis);
329 const char *UI_get0_output_string(UI_STRING *uis);
331 const char *UI_get0_action_string(UI_STRING *uis);
333 const char *UI_get0_result_string(UI_STRING *uis);
335 const char *UI_get0_test_string(UI_STRING *uis);
337 int UI_get_result_minsize(UI_STRING *uis);
339 int UI_get_result_maxsize(UI_STRING *uis);
341 int UI_set_result(UI *ui, UI_STRING *uis,
const char *result);
345 int UI_UTIL_read_pw_string(
char *buf,
int length,
const char *prompt,
int verify);
346 int UI_UTIL_read_pw(
char *buf,
char *buff,
int size,
const char *prompt,
int verify);
353 void ERR_load_UI_strings(
void);
358 #define UI_F_GENERAL_ALLOCATE_BOOLEAN 108
359 #define UI_F_GENERAL_ALLOCATE_PROMPT 109
360 #define UI_F_GENERAL_ALLOCATE_STRING 100
361 #define UI_F_UI_CTRL 111
362 #define UI_F_UI_DUP_ERROR_STRING 101
363 #define UI_F_UI_DUP_INFO_STRING 102
364 #define UI_F_UI_DUP_INPUT_BOOLEAN 110
365 #define UI_F_UI_DUP_INPUT_STRING 103
366 #define UI_F_UI_DUP_VERIFY_STRING 106
367 #define UI_F_UI_GET0_RESULT 107
368 #define UI_F_UI_NEW_METHOD 104
369 #define UI_F_UI_SET_RESULT 105
372 #define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104
373 #define UI_R_INDEX_TOO_LARGE 102
374 #define UI_R_INDEX_TOO_SMALL 103
375 #define UI_R_NO_RESULT_BUFFER 105
376 #define UI_R_RESULT_TOO_LARGE 100
377 #define UI_R_RESULT_TOO_SMALL 101
378 #define UI_R_UNKNOWN_CONTROL_COMMAND 106