summaryrefslogtreecommitdiffstats
path: root/crypto/ui/ui_locl.h
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/ui/ui_locl.h')
-rw-r--r--crypto/ui/ui_locl.h35
1 files changed, 27 insertions, 8 deletions
diff --git a/crypto/ui/ui_locl.h b/crypto/ui/ui_locl.h
index 89cdc2fe6a..6499ccac93 100644
--- a/crypto/ui/ui_locl.h
+++ b/crypto/ui/ui_locl.h
@@ -96,21 +96,36 @@ struct ui_method_st
struct ui_string_st
{
- const char *out_string; /* Input */
enum UI_string_types type; /* Input */
+ const char *out_string; /* Input */
int input_flags; /* Flags from the user */
- /* The following parameters are completely irrelevant for UI_INFO,
- and can therefore be set to 0 ro NULL */
+ /* The following parameters are completely irrelevant for UIT_INFO,
+ and can therefore be set to 0 or NULL */
char *result_buf; /* Input and Output: If not NULL, user-defined
with size in result_maxsize. Otherwise, it
may be allocated by the UI routine, meaning
result_minsize is going to be overwritten.*/
- int result_minsize; /* Input: minimum required size of the result*/
- int result_maxsize; /* Input: maximum permitted size of the
- result */
-
- const char *test_buf; /* Input: test string to verify against */
+ union
+ {
+ struct
+ {
+ int result_minsize; /* Input: minimum required
+ size of the result.
+ */
+ int result_maxsize; /* Input: maximum permitted
+ size of the result */
+
+ const char *test_buf; /* Input: test string to verify
+ against */
+ } string_data;
+ struct
+ {
+ const char *action_desc; /* Input */
+ const char *ok_chars; /* Input */
+ const char *cancel_chars; /* Input */
+ } boolean_data;
+ } _;
#define OUT_STRING_FREEABLE 0x01
int flags; /* flags for internal use */
@@ -124,6 +139,10 @@ struct ui_st
with different echoing status. */
void *user_data;
CRYPTO_EX_DATA ex_data;
+
+#define UI_FLAG_REDOABLE 0x0001
+#define UI_FLAG_PRINT_ERRORS 0x0100
+ int flags;
};
#endif