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