亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ui.h

?? OpenSSL 0.9.8k 最新版OpenSSL
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* crypto/ui/ui.h -*- mode:C; c-file-style: "eay" -*- *//* Written by Richard Levitte (richard@levitte.org) for the OpenSSL * project 2001. *//* ==================================================================== * Copyright (c) 2001 The OpenSSL Project.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer.  * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. All advertising materials mentioning features or use of this *    software must display the following acknowledgment: *    "This product includes software developed by the OpenSSL Project *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to *    endorse or promote products derived from this software without *    prior written permission. For written permission, please contact *    openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" *    nor may "OpenSSL" appear in their names without prior written *    permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following *    acknowledgment: *    "This product includes software developed by the OpenSSL Project *    for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com).  This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */#ifndef HEADER_UI_H#define HEADER_UI_H#ifndef OPENSSL_NO_DEPRECATED#include <openssl/crypto.h>#endif#include <openssl/safestack.h>#include <openssl/ossl_typ.h>#ifdef  __cplusplusextern "C" {#endif/* Declared already in ossl_typ.h *//* typedef struct ui_st UI; *//* typedef struct ui_method_st UI_METHOD; *//* All the following functions return -1 or NULL on error and in some cases   (UI_process()) -2 if interrupted or in some other way cancelled.   When everything is fine, they return 0, a positive value or a non-NULL   pointer, all depending on their purpose. *//* Creators and destructor.   */UI *UI_new(void);UI *UI_new_method(const UI_METHOD *method);void UI_free(UI *ui);/* The following functions are used to add strings to be printed and prompt   strings to prompt for data.  The names are UI_{add,dup}_<function>_string   and UI_{add,dup}_input_boolean.   UI_{add,dup}_<function>_string have the following meanings:	add	add a text or prompt string.  The pointers given to these		functions are used verbatim, no copying is done.	dup	make a copy of the text or prompt string, then add the copy		to the collection of strings in the user interface.	<function>		The function is a name for the functionality that the given		string shall be used for.  It can be one of:			input	use the string as data prompt.			verify	use the string as verification prompt.  This				is used to verify a previous input.			info	use the string for informational output.			error	use the string for error output.   Honestly, there's currently no difference between info and error for the   moment.   UI_{add,dup}_input_boolean have the same semantics for "add" and "dup",   and are typically used when one wants to prompt for a yes/no response.   All of the functions in this group take a UI and a prompt string.   The string input and verify addition functions also take a flag argument,   a buffer for the result to end up with, a minimum input size and a maximum   input size (the result buffer MUST be large enough to be able to contain   the maximum number of characters).  Additionally, the verify addition   functions takes another buffer to compare the result against.   The boolean input functions take an action description string (which should   be safe to ignore if the expected user action is obvious, for example with   a dialog box with an OK button and a Cancel button), a string of acceptable   characters to mean OK and to mean Cancel.  The two last strings are checked   to make sure they don't have common characters.  Additionally, the same   flag argument as for the string input is taken, as well as a result buffer.   The result buffer is required to be at least one byte long.  Depending on   the answer, the first character from the OK or the Cancel character strings   will be stored in the first byte of the result buffer.  No NUL will be   added, so the result is *not* a string.   On success, the all return an index of the added information.  That index   is usefull when retrieving results with UI_get0_result(). */int UI_add_input_string(UI *ui, const char *prompt, int flags,	char *result_buf, int minsize, int maxsize);int UI_dup_input_string(UI *ui, const char *prompt, int flags,	char *result_buf, int minsize, int maxsize);int UI_add_verify_string(UI *ui, const char *prompt, int flags,	char *result_buf, int minsize, int maxsize, const char *test_buf);int UI_dup_verify_string(UI *ui, const char *prompt, int flags,	char *result_buf, int minsize, int maxsize, const char *test_buf);int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc,	const char *ok_chars, const char *cancel_chars,	int flags, char *result_buf);int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc,	const char *ok_chars, const char *cancel_chars,	int flags, char *result_buf);int UI_add_info_string(UI *ui, const char *text);int UI_dup_info_string(UI *ui, const char *text);int UI_add_error_string(UI *ui, const char *text);int UI_dup_error_string(UI *ui, const char *text);/* These are the possible flags.  They can be or'ed together. *//* Use to have echoing of input */#define UI_INPUT_FLAG_ECHO		0x01/* Use a default password.  Where that password is found is completely   up to the application, it might for example be in the user data set   with UI_add_user_data().  It is not recommended to have more than   one input in each UI being marked with this flag, or the application   might get confused. */#define UI_INPUT_FLAG_DEFAULT_PWD	0x02/* The user of these routines may want to define flags of their own.  The core   UI won't look at those, but will pass them on to the method routines.  They   must use higher bits so they don't get confused with the UI bits above.   UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use.  A good   example of use is this:	#define MY_UI_FLAG1	(0x01 << UI_INPUT_FLAG_USER_BASE)*/#define UI_INPUT_FLAG_USER_BASE	16/* The following function helps construct a prompt.  object_desc is a   textual short description of the object, for example "pass phrase",   and object_name is the name of the object (might be a card name or   a file name.   The returned string shall always be allocated on the heap with   OPENSSL_malloc(), and need to be free'd with OPENSSL_free().   If the ui_method doesn't contain a pointer to a user-defined prompt   constructor, a default string is built, looking like this:	"Enter {object_desc} for {object_name}:"   So, if object_desc has the value "pass phrase" and object_name has   the value "foo.key", the resulting string is:	"Enter pass phrase for foo.key:"*/char *UI_construct_prompt(UI *ui_method,	const char *object_desc, const char *object_name);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线亚洲高清视频| 欧美午夜精品一区| 久久亚洲综合色| 麻豆精品久久久| 精品国产91乱码一区二区三区 | 久久青草欧美一区二区三区| 久久精品国产精品亚洲精品| 精品国产一区二区三区不卡| 狠狠色2019综合网| 国产精品人人做人人爽人人添| 国产成人在线视频免费播放| 国产精品色婷婷| 一本久久a久久免费精品不卡| 亚洲精品精品亚洲| 欧美日韩性生活| 麻豆高清免费国产一区| 久久麻豆一区二区| 99精品欧美一区二区三区小说| 国产欧美日韩亚州综合| 国产a久久麻豆| 91污片在线观看| 欧美调教femdomvk| 亚洲制服欧美中文字幕中文字幕| 国产精品1区2区| ...xxx性欧美| 欧美人牲a欧美精品| 日韩1区2区3区| 久久综合网色—综合色88| 春色校园综合激情亚洲| 日韩美女视频一区| 欧美美女激情18p| 另类小说一区二区三区| 欧美激情一二三区| 欧美日韩中文另类| 秋霞影院一区二区| 中文字幕不卡在线播放| 欧美日韩一级片在线观看| 国产最新精品免费| 一区二区三区日本| 日韩欧美电影一区| 色综合网色综合| 精品一区二区在线观看| 一区二区三区在线观看动漫| 日韩欧美资源站| 97精品久久久久中文字幕| 日韩中文字幕区一区有砖一区| 亚洲精品在线观看视频| 91高清视频在线| 粉嫩一区二区三区性色av| 午夜国产不卡在线观看视频| 国产精品无遮挡| 日韩美女主播在线视频一区二区三区| 白白色亚洲国产精品| 蜜臀av性久久久久蜜臀aⅴ| 亚洲人成精品久久久久| 久久伊人中文字幕| 欧美精品三级日韩久久| 99国产精品一区| 国产成人高清视频| 蜜臀av性久久久久蜜臀aⅴ流畅 | 美国一区二区三区在线播放| 亚洲人妖av一区二区| 国产日产欧美一区| 欧美电视剧在线看免费| 欧美剧在线免费观看网站| 91原创在线视频| 成人av综合在线| 国产精品88888| 久久99国产精品免费| 一本到一区二区三区| 亚洲男同性视频| 日韩精品一区二区三区三区免费| 在线精品国精品国产尤物884a| 国产一区二区在线观看视频| 偷拍与自拍一区| 亚洲欧洲制服丝袜| 亚洲欧洲美洲综合色网| 日本一区二区动态图| 久久久久久97三级| 91精品一区二区三区在线观看| 欧美午夜免费电影| 欧美日韩国产在线播放网站| 欧美亚洲国产一区二区三区va| 色欧美88888久久久久久影院| av资源站一区| 91亚洲永久精品| 色视频成人在线观看免| 欧美日韩一区国产| 9191成人精品久久| 3d成人h动漫网站入口| 91精品国产福利| 日韩精品一区二区在线| 精品国产伦一区二区三区观看体验| 欧美一二三四在线| 欧美zozo另类异族| 国产亚洲欧洲一区高清在线观看| 亚洲国产成人午夜在线一区| 国产精品初高中害羞小美女文| 最新日韩av在线| 亚洲影视在线播放| 麻豆91免费看| 国产suv一区二区三区88区| 99综合影院在线| 欧美日韩亚洲丝袜制服| 51午夜精品国产| 中文字幕不卡一区| 亚洲精品国产成人久久av盗摄| 午夜精品免费在线| 国产精品综合在线视频| 91美女福利视频| 3d动漫精品啪啪1区2区免费| 国产日韩欧美一区二区三区乱码| 综合色中文字幕| 日本午夜精品视频在线观看 | 精品国产一二三| 国产精品女人毛片| 亚洲精品中文字幕乱码三区 | 免费在线观看一区| 国产成人免费在线观看| 色激情天天射综合网| 日韩视频在线观看一区二区| 国产精品嫩草99a| 午夜精品久久久久久久| 国产aⅴ综合色| 欧美精品一级二级| 国产剧情av麻豆香蕉精品| 日韩一级免费观看| 国产精品免费视频观看| 精品一二三四区| 亚洲午夜在线观看视频在线| 黑人精品欧美一区二区蜜桃| 91麻豆免费观看| 久久这里都是精品| 亚洲h动漫在线| av不卡免费电影| 精品国产电影一区二区| 亚洲一区二区欧美| 成人h精品动漫一区二区三区| 91精品国产91综合久久蜜臀| 一区二区三区欧美久久| 岛国精品在线观看| 日韩欧美国产三级| 日日嗨av一区二区三区四区| 色偷偷成人一区二区三区91| 国产欧美日韩中文久久| 蜜臀久久99精品久久久画质超高清| 在线视频国内自拍亚洲视频| 国产精品久久看| 国产乱人伦精品一区二区在线观看| 97se亚洲国产综合自在线| 久久亚洲春色中文字幕久久久| 日韩国产欧美三级| 欧美日韩亚洲综合一区| 亚洲综合色网站| 一本久久a久久精品亚洲| 欧美电影免费观看完整版| 亚洲不卡在线观看| 日本高清免费不卡视频| 日韩丝袜情趣美女图片| 日本在线不卡视频| 91精品国产色综合久久久蜜香臀| 亚洲精品视频在线| 91老司机福利 在线| 欧美一区二区成人| 爽好久久久欧美精品| 欧美美女喷水视频| 亚洲影视在线观看| 色综合久久中文综合久久牛| 国产日韩欧美一区二区三区乱码| 国产老女人精品毛片久久| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩和的一区二区| 7777精品伊人久久久大香线蕉完整版| 亚洲免费观看高清完整版在线观看 | 欧美高清一级片在线| 亚洲色图制服诱惑| 色悠悠亚洲一区二区| 国产欧美一区视频| 黑人巨大精品欧美黑白配亚洲| 久久精品日产第一区二区三区高清版 | 精品va天堂亚洲国产| 精品999在线播放| 精品国产乱码久久久久久久| 99精品久久99久久久久| 国产精品88av| 免费国产亚洲视频| 国产人成一区二区三区影院| 日本aⅴ亚洲精品中文乱码| 欧美一级在线视频| 亚洲欧洲日产国码二区| 成人av在线播放网址| 亚洲精品久久嫩草网站秘色| 在线精品亚洲一区二区不卡| 日韩精品视频网站| 日韩一区二区在线播放| 国产成人精品影视| 亚洲精品久久7777| 7799精品视频| 国产99一区视频免费| 欧美激情自拍偷拍|