OpenSSL.vip

Cryptography and SSL/TLS Toolkit

NAME

UI, UI_new, UI_new_method, UI_free, UI_add_input_string, UI_dup_input_string, UI_add_verify_string, UI_dup_verify_string, UI_add_input_boolean, UI_dup_input_boolean, UI_add_info_string, UI_dup_info_string, UI_add_error_string, UI_dup_error_string, UI_construct_prompt, UI_add_user_data, UI_dup_user_data, UI_get0_user_data, UI_get0_result, UI_get_result_length, UI_process, UI_ctrl, UI_set_default_method, UI_get_default_method, UI_get_method, UI_set_method, UI_OpenSSL, UI_null - user interface

SYNOPSIS

 #include <openssl/ui.h>
 
 typedef struct ui_st UI;
 
 UI *UI_new(void);
 UI *UI_new_method(const UI_METHOD *method);
 void UI_free(UI *ui);
 
 int UI_add_input_string(UI *ui, const char *prompt, int flags,
                         char *result_buf, int minsize, int maxsize);
 int UI_dup_input_string(UI *ui, const char *prompt, int flags,
                         char *result_buf, int minsize, int maxsize);
 int UI_add_verify_string(UI *ui, const char *prompt, int flags,
                          char *result_buf, int minsize, int maxsize,
                          const char *test_buf);
 int UI_dup_verify_string(UI *ui, const char *prompt, int flags,
                          char *result_buf, int minsize, int maxsize,
                          const char *test_buf);
 int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc,
                          const char *ok_chars, const char *cancel_chars,
                          int flags, char *result_buf);
 int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc,
                          const char *ok_chars, const char *cancel_chars,
                          int flags, char *result_buf);
 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, const char *object_name);
 
 void *UI_add_user_data(UI *ui, void *user_data);
 int UI_dup_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_get_result_length(UI *ui, int i);
 
 int UI_process(UI *ui);
 
 int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f)());
 
 void UI_set_default_method(const UI_METHOD *meth);
 const UI_METHOD *UI_get_default_method(void);
 const UI_METHOD *UI_get_method(UI *ui);
 const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth);
 
 UI_METHOD *UI_OpenSSL(void);
 const UI_METHOD *UI_null(void);

DESCRIPTION

UI stands for User Interface, and is general purpose set of routines to prompt the user for text-based information. Through user-written methods (see NOTES

The resulting strings that the built in method UI_OpenSSL() generate are assumed to be encoded according to the current locale or (for Windows) code page. For applications having different demands, these strings need to be converted appropriately by the caller. For Windows, if the OPENSSL_WIN32_UTF8 environment variable is set, the built-in method UI_OpenSSL() will produce UTF-8 encoded strings instead.

RETURN VALUES

UI_new() and UI_new_method() return a valid UI structure or NULL if an error occurred.

UI_add_input_string(), UI_dup_input_string(), UI_add_verify_string(), UI_dup_verify_string(), UI_add_input_boolean(), UI_dup_input_boolean(), UI_add_info_string(), UI_dup_info_string(), UI_add_error_string() and UI_dup_error_string() return a positive number on success or a value which is less than or equal to 0 otherwise.

UI_construct_prompt() returns a string or NULL if an error occurred.

UI_dup_user_data() returns 0 on success or -1 on error.

UI_get0_result() returns a string or NULL on error.

UI_get_result_length() returns a positive integer or 0 on success; otherwise it returns -1 on error.

UI_process() returns 0 on success or a negative value on error.

UI_ctrl() returns a mask on success or -1 on error.

UI_get_default_method(), UI_get_method(), UI_OpenSSL(), UI_null() and UI_set_method() return either a valid UI_METHOD structure or NULL respectively.

HISTORY

The UI_dup_user_data() function was added in OpenSSL 1.1.1.

COPYRIGHT

Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

关闭