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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? engine.h

?? openssl加密例子
?? H
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/* openssl/engine.h */
/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL
 * project 2000.
 */
/* ====================================================================
 * Copyright (c) 1999-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
 *    licensing@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_ENGINE_H
#define HEADER_ENGINE_H

#include <openssl/opensslconf.h>

#ifdef OPENSSL_NO_ENGINE
#error ENGINE is disabled.
#endif

#include <openssl/ossl_typ.h>
#include <openssl/bn.h>
#ifndef OPENSSL_NO_RSA
#include <openssl/rsa.h>
#endif
#ifndef OPENSSL_NO_DSA
#include <openssl/dsa.h>
#endif
#ifndef OPENSSL_NO_DH
#include <openssl/dh.h>
#endif
#include <openssl/rand.h>
#include <openssl/ui.h>
#include <openssl/symhacks.h>
#include <openssl/err.h>

#ifdef  __cplusplus
extern "C" {
#endif

/* Fixups for missing algorithms */
#ifdef OPENSSL_NO_RSA
typedef void RSA_METHOD;
#endif
#ifdef OPENSSL_NO_DSA
typedef void DSA_METHOD;
#endif
#ifdef OPENSSL_NO_DH
typedef void DH_METHOD;
#endif

/* These flags are used to control combinations of algorithm (methods)
 * by bitwise "OR"ing. */
#define ENGINE_METHOD_RSA		(unsigned int)0x0001
#define ENGINE_METHOD_DSA		(unsigned int)0x0002
#define ENGINE_METHOD_DH		(unsigned int)0x0004
#define ENGINE_METHOD_RAND		(unsigned int)0x0008
#define ENGINE_METHOD_CIPHERS		(unsigned int)0x0040
#define ENGINE_METHOD_DIGESTS		(unsigned int)0x0080
/* Obvious all-or-nothing cases. */
#define ENGINE_METHOD_ALL		(unsigned int)0xFFFF
#define ENGINE_METHOD_NONE		(unsigned int)0x0000

/* This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used
 * internally to control registration of ENGINE implementations, and can be set
 * by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to
 * initialise registered ENGINEs if they are not already initialised. */
#define ENGINE_TABLE_FLAG_NOINIT	(unsigned int)0x0001

/* ENGINE flags that can be set by ENGINE_set_flags(). */
/* #define ENGINE_FLAGS_MALLOCED	0x0001 */ /* Not used */

/* This flag is for ENGINEs that wish to handle the various 'CMD'-related
 * control commands on their own. Without this flag, ENGINE_ctrl() handles these
 * control commands on behalf of the ENGINE using their "cmd_defns" data. */
#define ENGINE_FLAGS_MANUAL_CMD_CTRL	(int)0x0002

/* This flag is for ENGINEs who return new duplicate structures when found via
 * "ENGINE_by_id()". When an ENGINE must store state (eg. if ENGINE_ctrl()
 * commands are called in sequence as part of some stateful process like
 * key-generation setup and execution), it can set this flag - then each attempt
 * to obtain the ENGINE will result in it being copied into a new structure.
 * Normally, ENGINEs don't declare this flag so ENGINE_by_id() just increments
 * the existing ENGINE's structural reference count. */
#define ENGINE_FLAGS_BY_ID_COPY		(int)0x0004

/* ENGINEs can support their own command types, and these flags are used in
 * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input each
 * command expects. Currently only numeric and string input is supported. If a
 * control command supports none of the _NUMERIC, _STRING, or _NO_INPUT options,
 * then it is regarded as an "internal" control command - and not for use in
 * config setting situations. As such, they're not available to the
 * ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl() access. Changes to
 * this list of 'command types' should be reflected carefully in
 * ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string(). */

/* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */
#define ENGINE_CMD_FLAG_NUMERIC		(unsigned int)0x0001
/* accepts string input (cast from 'void*' to 'const char *', 4th parameter to
 * ENGINE_ctrl) */
#define ENGINE_CMD_FLAG_STRING		(unsigned int)0x0002
/* Indicates that the control command takes *no* input. Ie. the control command
 * is unparameterised. */
#define ENGINE_CMD_FLAG_NO_INPUT	(unsigned int)0x0004
/* Indicates that the control command is internal. This control command won't
 * be shown in any output, and is only usable through the ENGINE_ctrl_cmd()
 * function. */
#define ENGINE_CMD_FLAG_INTERNAL	(unsigned int)0x0008

/* NB: These 3 control commands are deprecated and should not be used. ENGINEs
 * relying on these commands should compile conditional support for
 * compatibility (eg. if these symbols are defined) but should also migrate the
 * same functionality to their own ENGINE-specific control functions that can be
 * "discovered" by calling applications. The fact these control commands
 * wouldn't be "executable" (ie. usable by text-based config) doesn't change the
 * fact that application code can find and use them without requiring per-ENGINE
 * hacking. */

/* These flags are used to tell the ctrl function what should be done.
 * All command numbers are shared between all engines, even if some don't
 * make sense to some engines.  In such a case, they do nothing but return
 * the error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED. */
#define ENGINE_CTRL_SET_LOGSTREAM		1
#define ENGINE_CTRL_SET_PASSWORD_CALLBACK	2
#define ENGINE_CTRL_HUP				3 /* Close and reinitialise any
						     handles/connections etc. */
#define ENGINE_CTRL_SET_USER_INTERFACE          4 /* Alternative to callback */
#define ENGINE_CTRL_SET_CALLBACK_DATA           5 /* User-specific data, used
                                                     when calling the password
                                                     callback and the user
                                                     interface */

/* These control commands allow an application to deal with an arbitrary engine
 * in a dynamic way. Warn: Negative return values indicate errors FOR THESE
 * COMMANDS because zero is used to indicate 'end-of-list'. Other commands,
 * including ENGINE-specific command types, return zero for an error.
 *
 * An ENGINE can choose to implement these ctrl functions, and can internally
 * manage things however it chooses - it does so by setting the
 * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise the
 * ENGINE_ctrl() code handles this on the ENGINE's behalf using the cmd_defns
 * data (set using ENGINE_set_cmd_defns()). This means an ENGINE's ctrl()
 * handler need only implement its own commands - the above "meta" commands will
 * be taken care of. */

/* Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not", then
 * all the remaining control commands will return failure, so it is worth
 * checking this first if the caller is trying to "discover" the engine's
 * capabilities and doesn't want errors generated unnecessarily. */
#define ENGINE_CTRL_HAS_CTRL_FUNCTION		10
/* Returns a positive command number for the first command supported by the
 * engine. Returns zero if no ctrl commands are supported. */
#define ENGINE_CTRL_GET_FIRST_CMD_TYPE		11
/* The 'long' argument specifies a command implemented by the engine, and the
 * return value is the next command supported, or zero if there are no more. */
#define ENGINE_CTRL_GET_NEXT_CMD_TYPE		12
/* The 'void*' argument is a command name (cast from 'const char *'), and the
 * return value is the command that corresponds to it. */
#define ENGINE_CTRL_GET_CMD_FROM_NAME		13
/* The next two allow a command to be converted into its corresponding string
 * form. In each case, the 'long' argument supplies the command. In the NAME_LEN
 * case, the return value is the length of the command name (not counting a
 * trailing EOL). In the NAME case, the 'void*' argument must be a string buffer
 * large enough, and it will be populated with the name of the command (WITH a
 * trailing EOL). */
#define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD	14
#define ENGINE_CTRL_GET_NAME_FROM_CMD		15
/* The next two are similar but give a "short description" of a command. */
#define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD	16
#define ENGINE_CTRL_GET_DESC_FROM_CMD		17
/* With this command, the return value is the OR'd combination of
 * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given
 * engine-specific ctrl command expects. */
#define ENGINE_CTRL_GET_CMD_FLAGS		18

/* ENGINE implementations should start the numbering of their own control
 * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc). */
#define ENGINE_CMD_BASE		200

/* NB: These 2 nCipher "chil" control commands are deprecated, and their
 * functionality is now available through ENGINE-specific control commands
 * (exposed through the above-mentioned 'CMD'-handling). Code using these 2
 * commands should be migrated to the more general command handling before these
 * are removed. */

/* Flags specific to the nCipher "chil" engine */
#define ENGINE_CTRL_CHIL_SET_FORKCHECK		100
	/* Depending on the value of the (long)i argument, this sets or
	 * unsets the SimpleForkCheck flag in the CHIL API to enable or
	 * disable checking and workarounds for applications that fork().
	 */
#define ENGINE_CTRL_CHIL_NO_LOCKING		101
	/* This prevents the initialisation function from providing mutex
	 * callbacks to the nCipher library. */

/* If an ENGINE supports its own specific control commands and wishes the
 * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on its

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码日本亚洲一区二区| 有坂深雪av一区二区精品| 成人国产电影网| 无码av免费一区二区三区试看| 欧美国产日韩精品免费观看| 538在线一区二区精品国产| 成人亚洲一区二区一| 久久成人免费日本黄色| 亚洲国产中文字幕在线视频综合| 欧美国产乱子伦| 精品少妇一区二区| 在线不卡免费欧美| 在线一区二区三区| 不卡电影一区二区三区| 国精产品一区一区三区mba桃花| 石原莉奈在线亚洲二区| 一区二区三区 在线观看视频| 中文av一区二区| 久久精品亚洲麻豆av一区二区| 日韩一区二区麻豆国产| 欧美三级资源在线| 欧美在线小视频| 色婷婷国产精品| 99精品视频在线观看| 国产成人在线视频网站| 老司机免费视频一区二区三区| 午夜激情一区二区三区| 亚洲永久精品国产| 一区二区三区四区激情| 亚洲视频你懂的| 中文字幕日韩av资源站| 国产精品你懂的在线| 国产亲近乱来精品视频| 国产亚洲一区二区三区在线观看| 精品国产制服丝袜高跟| 日韩欧美国产一二三区| 日韩一区二区免费在线观看| 日韩欧美区一区二| 日韩精品一区二区三区在线| 91精品国产欧美一区二区成人| 在线播放日韩导航| 这里只有精品99re| 日韩免费看的电影| 精品国精品自拍自在线| 国产婷婷色一区二区三区| 欧美国产精品中文字幕| 成人免费在线视频观看| 亚洲欧美日韩电影| 亚洲第四色夜色| 久久精品99国产精品日本| 国产在线视视频有精品| 风间由美一区二区三区在线观看 | 亚洲一区二区三区自拍| 亚洲福利一区二区三区| 日韩激情av在线| 国产在线一区二区综合免费视频| 国产不卡视频在线播放| 91美女片黄在线观看91美女| 欧美三级一区二区| 欧美成人a在线| 久久久欧美精品sm网站| 中文无字幕一区二区三区| 亚洲激情在线激情| 亚洲成人免费电影| 国产伦精品一区二区三区免费| 成人黄色一级视频| 欧美日韩免费在线视频| 精品久久久久久综合日本欧美| 国产日韩欧美高清| 亚洲精品国产品国语在线app| 日韩国产欧美在线观看| 国产剧情一区二区三区| 色菇凉天天综合网| 精品对白一区国产伦| 视频一区中文字幕| 国产中文字幕精品| 一本在线高清不卡dvd| 欧美一三区三区四区免费在线看| 国产日韩欧美a| 亚洲福利一二三区| 丁香婷婷深情五月亚洲| 欧美日韩国产区一| 国产蜜臀97一区二区三区| 亚洲国产中文字幕在线视频综合| 国产在线精品一区二区夜色 | 国产精品乱码妇女bbbb| 亚洲国产另类av| 国产成人精品免费一区二区| 欧美日韩中文精品| 国产精品国产精品国产专区不蜜| 日韩在线卡一卡二| 99久久er热在这里只有精品15| 欧美高清hd18日本| 亚洲少妇屁股交4| 久久精品免费看| 欧洲精品一区二区| 欧美激情一二三区| 久久精品国产免费| 欧美影院精品一区| 国产精品超碰97尤物18| 久久精品国产亚洲a| 欧洲视频一区二区| 国产精品福利影院| 国产精品一区二区果冻传媒| 777色狠狠一区二区三区| 综合分类小说区另类春色亚洲小说欧美| 麻豆成人av在线| 91精品视频网| 一区二区三区欧美| 99视频在线观看一区三区| 久久久综合精品| 免费观看一级特黄欧美大片| 欧美色综合网站| 日本一二三四高清不卡| 国产曰批免费观看久久久| 在线不卡a资源高清| 亚洲福利一区二区| 在线亚洲+欧美+日本专区| 亚洲欧美一区二区在线观看| 成人免费视频免费观看| 久久久久97国产精华液好用吗| 久久av资源站| 欧美va亚洲va| 精品午夜久久福利影院 | 国产天堂亚洲国产碰碰| 免费成人结看片| 日韩欧美区一区二| 久久精品久久久精品美女| 日韩视频免费观看高清完整版在线观看 | 免费观看成人鲁鲁鲁鲁鲁视频| 欧美日韩久久一区二区| 亚欧色一区w666天堂| 欧美亚洲禁片免费| 亚洲亚洲精品在线观看| 欧美视频在线观看一区| 亚洲综合精品久久| 欧美群妇大交群的观看方式| 亚洲成av人影院在线观看网| 欧美三区免费完整视频在线观看| 亚洲国产精品视频| 欧美一区二区三区白人| 免费看日韩精品| xfplay精品久久| 国产精品一卡二| 国产精品免费av| 99久久99久久精品免费观看| 亚洲欧美国产高清| 欧美色图片你懂的| 日韩av高清在线观看| 精品国产91乱码一区二区三区| 国产乱淫av一区二区三区| 中文一区二区完整视频在线观看| 99re免费视频精品全部| 亚洲午夜在线电影| 日韩视频一区在线观看| 国产成人在线观看| 亚洲视频狠狠干| 7777精品伊人久久久大香线蕉完整版| 麻豆精品国产91久久久久久| 久久综合久久综合久久综合| 成人av资源在线| 亚洲成av人**亚洲成av**| 精品久久久久久亚洲综合网| 成人午夜视频福利| 亚洲伊人色欲综合网| 日韩午夜激情视频| 成人a区在线观看| 午夜精品久久一牛影视| 精品处破学生在线二十三| 成人sese在线| 日本vs亚洲vs韩国一区三区| 国产女人aaa级久久久级 | 国产精品一二三| 亚洲六月丁香色婷婷综合久久 | 日韩精品资源二区在线| 成人午夜激情影院| 亚洲一区自拍偷拍| 久久久久九九视频| 欧美日韩国产中文| 国产福利一区二区三区视频 | 国产成人综合视频| 午夜不卡av在线| 欧美国产丝袜视频| 51精品国自产在线| 高清不卡一区二区| 日韩福利电影在线| 日韩毛片精品高清免费| 日韩欧美国产一区二区在线播放| 91蝌蚪porny九色| 韩国av一区二区三区在线观看| 一区二区三区在线观看网站| 久久久久久久久久美女| 欧美午夜精品电影| 不卡视频在线看| 国产资源在线一区| 亚洲成人av一区二区| 日韩久久一区二区| 欧美激情一区二区三区在线| 日韩一卡二卡三卡四卡| 91成人在线免费观看|