1/*
2 * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License 2.0 (the "License").  You may not use
5 * this file except in compliance with the License.  You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
10#ifndef OSSL_APPS_UI_H
11# define OSSL_APPS_UI_H
12
13
14# define PW_MIN_LENGTH 4
15typedef struct pw_cb_data {
16    const void *password;
17    const char *prompt_info;
18} PW_CB_DATA;
19
20int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_data);
21
22int setup_ui_method(void);
23void destroy_ui_method(void);
24int set_base_ui_method(const UI_METHOD *ui_method);
25const UI_METHOD *get_ui_method(void);
26
27extern BIO *bio_err;
28
29#endif
30