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