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