11cb0ef41Sopenharmony_ci/*
21cb0ef41Sopenharmony_ci * Copyright 2018-2020 The OpenSSL Project Authors. All Rights Reserved.
31cb0ef41Sopenharmony_ci *
41cb0ef41Sopenharmony_ci * Licensed under the Apache License 2.0 (the "License").  You may not use
51cb0ef41Sopenharmony_ci * this file except in compliance with the License.  You can obtain a copy
61cb0ef41Sopenharmony_ci * in the file LICENSE in the source distribution or at
71cb0ef41Sopenharmony_ci * https://www.openssl.org/source/license.html
81cb0ef41Sopenharmony_ci */
91cb0ef41Sopenharmony_ci
101cb0ef41Sopenharmony_ci#ifndef OSSL_APPS_UI_H
111cb0ef41Sopenharmony_ci# define OSSL_APPS_UI_H
121cb0ef41Sopenharmony_ci
131cb0ef41Sopenharmony_ci
141cb0ef41Sopenharmony_ci# define PW_MIN_LENGTH 4
151cb0ef41Sopenharmony_citypedef struct pw_cb_data {
161cb0ef41Sopenharmony_ci    const void *password;
171cb0ef41Sopenharmony_ci    const char *prompt_info;
181cb0ef41Sopenharmony_ci} PW_CB_DATA;
191cb0ef41Sopenharmony_ci
201cb0ef41Sopenharmony_ciint password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_data);
211cb0ef41Sopenharmony_ci
221cb0ef41Sopenharmony_ciint setup_ui_method(void);
231cb0ef41Sopenharmony_civoid destroy_ui_method(void);
241cb0ef41Sopenharmony_ciint set_base_ui_method(const UI_METHOD *ui_method);
251cb0ef41Sopenharmony_ciconst UI_METHOD *get_ui_method(void);
261cb0ef41Sopenharmony_ci
271cb0ef41Sopenharmony_ciextern BIO *bio_err;
281cb0ef41Sopenharmony_ci
291cb0ef41Sopenharmony_ci#endif
30