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

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

?? ui.h

?? OpenSSL 0.9.8k 最新版OpenSSL
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* The following function is used to store a pointer to user-specific data.   Any previous such pointer will be returned and replaced.   For callback purposes, this function makes a lot more sense than using   ex_data, since the latter requires that different parts of OpenSSL or   applications share the same ex_data index.   Note that the UI_OpenSSL() method completely ignores the user data.   Other methods may not, however.  */void *UI_add_user_data(UI *ui, void *user_data);/* We need a user data retrieving function as well.  */void *UI_get0_user_data(UI *ui);/* Return the result associated with a prompt given with the index i. */const char *UI_get0_result(UI *ui, int i);/* When all strings have been added, process the whole thing. */int UI_process(UI *ui);/* Give a user interface parametrised control commands.  This can be used to   send down an integer, a data pointer or a function pointer, as well as   be used to get information from a UI. */int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f)(void));/* The commands *//* Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the   OpenSSL error stack before printing any info or added error messages and   before any prompting. */#define UI_CTRL_PRINT_ERRORS		1/* Check if a UI_process() is possible to do again with the same instance of   a user interface.  This makes UI_ctrl() return 1 if it is redoable, and 0   if not. */#define UI_CTRL_IS_REDOABLE		2/* Some methods may use extra data */#define UI_set_app_data(s,arg)         UI_set_ex_data(s,0,arg)#define UI_get_app_data(s)             UI_get_ex_data(s,0)int UI_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,	CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);int UI_set_ex_data(UI *r,int idx,void *arg);void *UI_get_ex_data(UI *r, int idx);/* Use specific methods instead of the built-in one */void UI_set_default_method(const UI_METHOD *meth);const UI_METHOD *UI_get_default_method(void);const UI_METHOD *UI_get_method(UI *ui);const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth);/* The method with all the built-in thingies */UI_METHOD *UI_OpenSSL(void);/* ---------- For method writers ---------- *//* A method contains a number of functions that implement the low level   of the User Interface.  The functions are:	an opener	This function starts a session, maybe by opening			a channel to a tty, or by opening a window.	a writer	This function is called to write a given string,			maybe to the tty, maybe as a field label in a			window.	a flusher	This function is called to flush everything that			has been output so far.  It can be used to actually			display a dialog box after it has been built.	a reader	This function is called to read a given prompt,			maybe from the tty, maybe from a field in a			window.  Note that it's called wth all string			structures, not only the prompt ones, so it must			check such things itself.	a closer	This function closes the session, maybe by closing			the channel to the tty, or closing the window.   All these functions are expected to return:	0	on error.	1	on success.	-1	on out-of-band events, for example if some prompting has		been canceled (by pressing Ctrl-C, for example).  This is		only checked when returned by the flusher or the reader.   The way this is used, the opener is first called, then the writer for all   strings, then the flusher, then the reader for all strings and finally the   closer.  Note that if you want to prompt from a terminal or other command   line interface, the best is to have the reader also write the prompts   instead of having the writer do it.  If you want to prompt from a dialog   box, the writer can be used to build up the contents of the box, and the   flusher to actually display the box and run the event loop until all data   has been given, after which the reader only grabs the given data and puts   them back into the UI strings.   All method functions take a UI as argument.  Additionally, the writer and   the reader take a UI_STRING.*//* The UI_STRING type is the data structure that contains all the needed info   about a string or a prompt, including test data for a verification prompt.*/DECLARE_STACK_OF(UI_STRING)typedef struct ui_string_st UI_STRING;/* The different types of strings that are currently supported.   This is only needed by method authors. */enum UI_string_types	{	UIT_NONE=0,	UIT_PROMPT,		/* Prompt for a string */	UIT_VERIFY,		/* Prompt for a string and verify */	UIT_BOOLEAN,		/* Prompt for a yes/no response */	UIT_INFO,		/* Send info to the user */	UIT_ERROR		/* Send an error message to the user */	};/* Create and manipulate methods */UI_METHOD *UI_create_method(char *name);void UI_destroy_method(UI_METHOD *ui_method);int UI_method_set_opener(UI_METHOD *method, int (*opener)(UI *ui));int UI_method_set_writer(UI_METHOD *method, int (*writer)(UI *ui, UI_STRING *uis));int UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui));int UI_method_set_reader(UI_METHOD *method, int (*reader)(UI *ui, UI_STRING *uis));int UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui));int (*UI_method_get_opener(UI_METHOD *method))(UI*);int (*UI_method_get_writer(UI_METHOD *method))(UI*,UI_STRING*);int (*UI_method_get_flusher(UI_METHOD *method))(UI*);int (*UI_method_get_reader(UI_METHOD *method))(UI*,UI_STRING*);int (*UI_method_get_closer(UI_METHOD *method))(UI*);/* The following functions are helpers for method writers to access relevant   data from a UI_STRING. *//* Return type of the UI_STRING */enum UI_string_types UI_get_string_type(UI_STRING *uis);/* Return input flags of the UI_STRING */int UI_get_input_flags(UI_STRING *uis);/* Return the actual string to output (the prompt, info or error) */const char *UI_get0_output_string(UI_STRING *uis);/* Return the optional action string to output (the boolean promtp instruction) */const char *UI_get0_action_string(UI_STRING *uis);/* Return the result of a prompt */const char *UI_get0_result_string(UI_STRING *uis);/* Return the string to test the result against.  Only useful with verifies. */const char *UI_get0_test_string(UI_STRING *uis);/* Return the required minimum size of the result */int UI_get_result_minsize(UI_STRING *uis);/* Return the required maximum size of the result */int UI_get_result_maxsize(UI_STRING *uis);/* Set the result of a UI_STRING. */int UI_set_result(UI *ui, UI_STRING *uis, const char *result);/* A couple of popular utility functions */int UI_UTIL_read_pw_string(char *buf,int length,const char *prompt,int verify);int UI_UTIL_read_pw(char *buf,char *buff,int size,const char *prompt,int verify);/* BEGIN ERROR CODES *//* The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */void ERR_load_UI_strings(void);/* Error codes for the UI functions. *//* Function codes. */#define UI_F_GENERAL_ALLOCATE_BOOLEAN			 108#define UI_F_GENERAL_ALLOCATE_PROMPT			 109#define UI_F_GENERAL_ALLOCATE_STRING			 100#define UI_F_UI_CTRL					 111#define UI_F_UI_DUP_ERROR_STRING			 101#define UI_F_UI_DUP_INFO_STRING				 102#define UI_F_UI_DUP_INPUT_BOOLEAN			 110#define UI_F_UI_DUP_INPUT_STRING			 103#define UI_F_UI_DUP_VERIFY_STRING			 106#define UI_F_UI_GET0_RESULT				 107#define UI_F_UI_NEW_METHOD				 104#define UI_F_UI_SET_RESULT				 105/* Reason codes. */#define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS		 104#define UI_R_INDEX_TOO_LARGE				 102#define UI_R_INDEX_TOO_SMALL				 103#define UI_R_NO_RESULT_BUFFER				 105#define UI_R_RESULT_TOO_LARGE				 100#define UI_R_RESULT_TOO_SMALL				 101#define UI_R_UNKNOWN_CONTROL_COMMAND			 106#ifdef  __cplusplus}#endif#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区三区电影在线观看| 国产一区二区三区香蕉| 国产欧美精品一区二区三区四区| 91精品国产91久久久久久一区二区 | 2014亚洲片线观看视频免费| 日韩午夜av一区| 日韩久久精品一区| 亚洲精品一线二线三线| 久久一区二区三区四区| 中文字幕欧美国产| 国产精品对白交换视频| 一区在线观看视频| 亚洲一区二区在线免费看| 亚洲电影第三页| 美腿丝袜在线亚洲一区| 国产一区二区不卡在线 | 亚洲不卡av一区二区三区| 亚洲国产综合91精品麻豆| 视频一区在线视频| 精品在线亚洲视频| a美女胸又www黄视频久久| 北条麻妃一区二区三区| 在线中文字幕不卡| 日韩一区二区麻豆国产| 国产网红主播福利一区二区| 国产精品成人免费| 毛片不卡一区二区| 不卡一区二区三区四区| 欧美精品久久99久久在免费线| 欧美日韩黄视频| 久久亚洲欧美国产精品乐播 | 91精品国产综合久久香蕉麻豆| 日韩三级视频中文字幕| 欧美国产精品久久| 亚洲国产三级在线| 激情五月婷婷综合网| 色综合天天性综合| 欧美zozozo| 亚洲一区二区三区四区的| 精品系列免费在线观看| 91福利社在线观看| 久久精品视频一区二区| 亚洲成人第一页| 国产91精品久久久久久久网曝门| 欧美色精品在线视频| 国产日韩成人精品| 秋霞成人午夜伦在线观看| www.亚洲色图.com| 久久综合久久鬼色| 三级不卡在线观看| 欧美自拍偷拍午夜视频| 国产亲近乱来精品视频| 免费在线观看一区| 欧美亚洲图片小说| 中文字幕一区二区三区色视频| 日韩av中文字幕一区二区| 94-欧美-setu| 国产精品伦一区二区三级视频| 视频在线观看一区| 欧美人体做爰大胆视频| 亚洲精品伦理在线| 91婷婷韩国欧美一区二区| 久久网站最新地址| 激情综合网av| 欧美电影免费观看高清完整版| 亚洲国产精品尤物yw在线观看| 99热精品国产| 国产精品剧情在线亚洲| 国产精品一二一区| 精品国产一区二区三区av性色 | 卡一卡二国产精品| 欧美男女性生活在线直播观看| 亚洲日本电影在线| 成人黄色av电影| 国产精品久久久久影院亚瑟| 国内外成人在线视频| 亚洲精品在线观看视频| 久久se精品一区精品二区| 日韩欧美国产一区二区在线播放 | 午夜伊人狠狠久久| 在线视频观看一区| 亚洲网友自拍偷拍| 欧美人伦禁忌dvd放荡欲情| 亚洲综合一区二区三区| 欧美日韩午夜影院| 午夜视频一区二区| 日韩午夜在线观看视频| 久国产精品韩国三级视频| 国产日韩欧美在线一区| 暴力调教一区二区三区| 一个色在线综合| 在线成人免费观看| 国产精品综合av一区二区国产馆| 中文字幕精品三区| 欧美性色黄大片| 蜜桃视频在线一区| 国产午夜亚洲精品理论片色戒| 懂色av一区二区夜夜嗨| 一区二区三区影院| 欧美一区在线视频| 国产91清纯白嫩初高中在线观看 | 精品99999| 不卡一卡二卡三乱码免费网站| 亚洲综合一二区| 日韩精品一区二区三区四区| 成人毛片视频在线观看| 亚洲一区电影777| 2020日本不卡一区二区视频| 99re8在线精品视频免费播放| 亚洲电影一级黄| 久久久久久久免费视频了| 色综合咪咪久久| 极品瑜伽女神91| 亚洲成a人在线观看| 久久精品夜色噜噜亚洲aⅴ| 日本高清成人免费播放| 精品一区二区免费视频| 一区二区三区四区在线播放| 精品国产91洋老外米糕| 欧美午夜免费电影| 国产盗摄一区二区| 日本成人在线视频网站| 日韩伦理电影网| 2021国产精品久久精品| 欧美疯狂做受xxxx富婆| 99久久婷婷国产综合精品| 久久精品噜噜噜成人88aⅴ| 亚洲色图欧洲色图婷婷| 精品国产123| 欧美性xxxxxxxx| www.爱久久.com| 国产米奇在线777精品观看| 偷拍自拍另类欧美| 亚洲专区一二三| 亚洲欧美综合色| 国产欧美va欧美不卡在线| 欧美不卡123| 91精品国产aⅴ一区二区| 欧美三级电影在线观看| 99久久综合色| 9l国产精品久久久久麻豆| 国产盗摄女厕一区二区三区 | 亚洲免费观看高清完整版在线观看熊| 欧美一级理论片| 欧美肥妇bbw| 欧美日韩一级大片网址| 在线免费观看日本一区| 一本大道久久a久久综合婷婷| 成人动漫一区二区三区| 成人免费毛片嘿嘿连载视频| 韩国中文字幕2020精品| 国产一区二区在线电影| 国产一区二区美女诱惑| 国产一区二区在线视频| 国产精品亚洲成人| 国产盗摄一区二区| bt7086福利一区国产| av电影在线观看不卡| 95精品视频在线| 91免费版pro下载短视频| 91啪在线观看| 在线观看一区二区视频| 欧美在线看片a免费观看| 欧美影视一区在线| 欧美日韩精品一区视频| 欧美一区二区人人喊爽| 精品成人私密视频| 国产日韩成人精品| 最新中文字幕一区二区三区 | 国产盗摄一区二区三区| 成人午夜电影小说| 色呦呦一区二区三区| 欧美三级日本三级少妇99| 91精品国产综合久久精品| 精品国产乱码91久久久久久网站| 久久精品视频在线免费观看| 国产精品美女久久福利网站| 一区二区三区在线视频观看58| 偷拍一区二区三区四区| 国产成a人亚洲| 欧美性淫爽ww久久久久无| 欧美一区二区视频在线观看| 精品国产乱码久久久久久浪潮 | 成人高清视频免费观看| 91国产成人在线| 精品精品欲导航| 亚洲精品乱码久久久久久| 日本成人在线网站| av电影在线观看完整版一区二区| 欧美电影影音先锋| 成人免费一区二区三区在线观看| 日一区二区三区| 成人av电影在线观看| 3d动漫精品啪啪一区二区竹菊| 国产清纯美女被跳蛋高潮一区二区久久w | 99久久久精品免费观看国产蜜| 欧美性受xxxx| 中文字幕的久久| 久久精品国产99国产| 欧美亚州韩日在线看免费版国语版|