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 15 typedef struct pw_cb_data { 16 const void *password; 17 const char *prompt_info; 18 } PW_CB_DATA; 19 20 int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_data); 21 22 int setup_ui_method(void); 23 void destroy_ui_method(void); 24 int set_base_ui_method(const UI_METHOD *ui_method); 25 const UI_METHOD *get_ui_method(void); 26 27 extern BIO *bio_err; 28 29 #endif 30