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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? engine.c

?? mediastreamer2是開源的網(wǎng)絡(luò)傳輸媒體流的庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* apps/engine.c -*- mode: C; c-file-style: "eay" -*- *//* Written by Richard Levitte <richard@levitte.org> for the OpenSSL * project 2000. *//* ==================================================================== * Copyright (c) 2000 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 OPENSSL_NO_ENGINE#include <stdio.h>#include <stdlib.h>#include <string.h>#ifdef OPENSSL_NO_STDIO#define APPS_WIN16#endif#include "apps.h"#include <openssl/err.h>#include <openssl/engine.h>#include <openssl/ssl.h>#undef PROG#define PROG	engine_mainstatic const char *engine_usage[]={"usage: engine opts [engine ...]\n"," -v[v[v[v]]] - verbose mode, for each engine, list its 'control commands'\n","               -vv will additionally display each command's description\n","               -vvv will also add the input flags for each command\n","               -vvvv will also show internal input flags\n"," -c          - for each engine, also list the capabilities\n"," -t[t]       - for each engine, check that they are really available\n","               -tt will display error trace for unavailable engines\n"," -pre <cmd>  - runs command 'cmd' against the ENGINE before any attempts\n","               to load it (if -t is used)\n"," -post <cmd> - runs command 'cmd' against the ENGINE after loading it\n","               (only used if -t is also provided)\n"," NB: -pre and -post will be applied to all ENGINEs supplied on the command\n"," line, or all supported ENGINEs if none are specified.\n"," Eg. '-pre \"SO_PATH:/lib/libdriver.so\"' calls command \"SO_PATH\" with\n"," argument \"/lib/libdriver.so\".\n",NULL};static void identity(void *ptr)	{	return;	}static int append_buf(char **buf, const char *s, int *size, int step)	{	int l = strlen(s);	if (*buf == NULL)		{		*size = step;		*buf = OPENSSL_malloc(*size);		if (*buf == NULL)			return 0;		**buf = '\0';		}	if (**buf != '\0')		l += 2;		/* ", " */	if (strlen(*buf) + strlen(s) >= (unsigned int)*size)		{		*size += step;		*buf = OPENSSL_realloc(*buf, *size);		}	if (*buf == NULL)		return 0;	if (**buf != '\0')		BUF_strlcat(*buf, ", ", *size);	BUF_strlcat(*buf, s, *size);	return 1;	}static int util_flags(BIO *bio_out, unsigned int flags, const char *indent)	{	int started = 0, err = 0;	/* Indent before displaying input flags */	BIO_printf(bio_out, "%s%s(input flags): ", indent, indent);	if(flags == 0)		{		BIO_printf(bio_out, "<no flags>\n");		return 1;		}        /* If the object is internal, mark it in a way that shows instead of         * having it part of all the other flags, even if it really is. */	if(flags & ENGINE_CMD_FLAG_INTERNAL)		{		BIO_printf(bio_out, "[Internal] ");		}	if(flags & ENGINE_CMD_FLAG_NUMERIC)		{		if(started)			{			BIO_printf(bio_out, "|");			err = 1;			}		BIO_printf(bio_out, "NUMERIC");		started = 1;		}	/* Now we check that no combinations of the mutually exclusive NUMERIC,	 * STRING, and NO_INPUT flags have been used. Future flags that can be	 * OR'd together with these would need to added after these to preserve	 * the testing logic. */	if(flags & ENGINE_CMD_FLAG_STRING)		{		if(started)			{			BIO_printf(bio_out, "|");			err = 1;			}		BIO_printf(bio_out, "STRING");		started = 1;		}	if(flags & ENGINE_CMD_FLAG_NO_INPUT)		{		if(started)			{			BIO_printf(bio_out, "|");			err = 1;			}		BIO_printf(bio_out, "NO_INPUT");		started = 1;		}	/* Check for unknown flags */	flags = flags & ~ENGINE_CMD_FLAG_NUMERIC &			~ENGINE_CMD_FLAG_STRING &			~ENGINE_CMD_FLAG_NO_INPUT &			~ENGINE_CMD_FLAG_INTERNAL;	if(flags)		{		if(started) BIO_printf(bio_out, "|");		BIO_printf(bio_out, "<0x%04X>", flags);		}	if(err)		BIO_printf(bio_out, "  <illegal flags!>");	BIO_printf(bio_out, "\n");	return 1;	}static int util_verbose(ENGINE *e, int verbose, BIO *bio_out, const char *indent)	{	static const int line_wrap = 78;	int num;	int ret = 0;	char *name = NULL;	char *desc = NULL;	int flags;	int xpos = 0;	STACK *cmds = NULL;	if(!ENGINE_ctrl(e, ENGINE_CTRL_HAS_CTRL_FUNCTION, 0, NULL, NULL) ||			((num = ENGINE_ctrl(e, ENGINE_CTRL_GET_FIRST_CMD_TYPE,					0, NULL, NULL)) <= 0))		{#if 0		BIO_printf(bio_out, "%s<no control commands>\n", indent);#endif		return 1;		}	cmds = sk_new_null();	if(!cmds)		goto err;	do {		int len;		/* Get the command input flags */		if((flags = ENGINE_ctrl(e, ENGINE_CTRL_GET_CMD_FLAGS, num,					NULL, NULL)) < 0)			goto err;                if (!(flags & ENGINE_CMD_FLAG_INTERNAL) || verbose >= 4)                        {                        /* Get the command name */                        if((len = ENGINE_ctrl(e, ENGINE_CTRL_GET_NAME_LEN_FROM_CMD, num,                                NULL, NULL)) <= 0)                                goto err;                        if((name = OPENSSL_malloc(len + 1)) == NULL)                                goto err;                        if(ENGINE_ctrl(e, ENGINE_CTRL_GET_NAME_FROM_CMD, num, name,                                NULL) <= 0)                                goto err;                        /* Get the command description */                        if((len = ENGINE_ctrl(e, ENGINE_CTRL_GET_DESC_LEN_FROM_CMD, num,                                NULL, NULL)) < 0)                                goto err;                        if(len > 0)                                {                                if((desc = OPENSSL_malloc(len + 1)) == NULL)                                        goto err;                                if(ENGINE_ctrl(e, ENGINE_CTRL_GET_DESC_FROM_CMD, num, desc,                                        NULL) <= 0)                                        goto err;                                }                        /* Now decide on the output */                        if(xpos == 0)                                /* Do an indent */                                xpos = BIO_printf(bio_out, indent);                        else                                /* Otherwise prepend a ", " */                                xpos += BIO_printf(bio_out, ", ");                        if(verbose == 1)                                {                                /* We're just listing names, comma-delimited */                                if((xpos > (int)strlen(indent)) &&					(xpos + (int)strlen(name) > line_wrap))                                        {                                        BIO_printf(bio_out, "\n");                                        xpos = BIO_printf(bio_out, indent);                                        }                                xpos += BIO_printf(bio_out, "%s", name);                                }                        else                                {                                /* We're listing names plus descriptions */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91香蕉视频污在线| 国产精品无人区| 在线播放视频一区| 在线视频观看一区| 色婷婷精品久久二区二区蜜臂av| 北岛玲一区二区三区四区| 成人美女视频在线观看18| 国产成人av电影| 成人av网址在线观看| 波多野结衣精品在线| www.日本不卡| 一本高清dvd不卡在线观看| 色域天天综合网| 欧美日韩亚洲综合在线 | 美女高潮久久久| 蜜桃传媒麻豆第一区在线观看| 午夜精品久久久| 久久精品国产一区二区三区免费看 | 一区二区三区欧美视频| 亚洲精品第1页| 亚洲成av人综合在线观看| 免费欧美高清视频| 国产高清不卡二三区| 国产 欧美在线| 日本道在线观看一区二区| 欧美日韩情趣电影| www激情久久| 亚洲欧美一区二区三区久本道91| 一二三四区精品视频| 美女脱光内衣内裤视频久久影院| 国产精品99久久久| 在线观看日韩电影| 日韩欧美一级二级三级久久久| 亚洲成人先锋电影| 麻豆视频观看网址久久| 成人午夜精品在线| 欧美性猛交xxxx乱大交退制版| 日韩你懂的在线播放| 国产精品无人区| 日韩精品一二三四| 国产成人精品三级| 91精品办公室少妇高潮对白| 日韩亚洲欧美一区| 国产精品理论片| 日本欧美肥老太交大片| 成人高清在线视频| 日韩亚洲欧美一区二区三区| 国产精品国模大尺度视频| 日韩精品一级二级| 91在线观看视频| 精品久久一二三区| 亚洲综合免费观看高清完整版| 紧缚奴在线一区二区三区| 色呦呦日韩精品| wwwwww.欧美系列| 亚洲国产视频a| 成人动漫视频在线| 欧美一级一级性生活免费录像| ...中文天堂在线一区| 蜜臀av国产精品久久久久| 91丝袜呻吟高潮美腿白嫩在线观看| 日韩欧美中文字幕一区| 夜夜嗨av一区二区三区中文字幕 | 日韩欧美一级二级| 亚洲综合清纯丝袜自拍| 大桥未久av一区二区三区中文| 欧美日韩极品在线观看一区| 亚洲欧美中日韩| 国产精品一区二区视频| 欧美一区二区视频观看视频| 亚洲精品国产成人久久av盗摄 | 欧美日韩一级视频| 国产精品国产自产拍在线| 国产一区二区三区电影在线观看 | 久久综合色之久久综合| 亚洲18女电影在线观看| 成人久久18免费网站麻豆| 精品女同一区二区| 爽好久久久欧美精品| 在线中文字幕一区| 久久精品国产秦先生| 欧美日韩一区二区三区高清| 一区二区三区美女视频| 99国产麻豆精品| 国产精品久久国产精麻豆99网站| 精品一区二区在线免费观看| 91精品国产高清一区二区三区 | 亚洲黄色录像片| 成人午夜激情视频| 国产欧美精品一区aⅴ影院| 麻豆精品国产传媒mv男同| 9191久久久久久久久久久| 亚洲一区在线电影| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 久久久亚洲综合| 国内成人免费视频| 欧美大片顶级少妇| 美国十次综合导航| 日韩精品一区二区三区四区| 美女高潮久久久| www激情久久| 国产剧情一区二区三区| 久久色成人在线| 国产成人精品1024| 国产精品欧美一区喷水| 成人禁用看黄a在线| 国产精品麻豆网站| 99国产麻豆精品| 一区二区三区四区不卡在线| 色综合激情五月| 亚洲成人先锋电影| 欧美一级xxx| 国产精品影视天天线| 欧美国产一区二区在线观看| 成人午夜精品在线| 日韩毛片一二三区| 欧美亚洲综合另类| 奇米精品一区二区三区在线观看| 欧美一区二区三区成人| 精品一区二区精品| 国产三级精品视频| 9色porny自拍视频一区二区| 亚洲女与黑人做爰| 欧美性猛片aaaaaaa做受| 日本91福利区| 久久亚洲一级片| 91丨porny丨中文| 午夜精品久久久久久久久久久| 欧美一区二区三级| 国产精品白丝jk白祙喷水网站| 亚洲欧美日韩久久精品| 欧美精三区欧美精三区| 国产最新精品免费| 亚洲婷婷综合久久一本伊一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产欧美精品一区二区三区四区| 91蝌蚪国产九色| 视频一区视频二区在线观看| 精品国产乱码久久久久久久| 99天天综合性| 日韩黄色一级片| 久久精品这里都是精品| 色婷婷综合久久久中文一区二区| 天堂午夜影视日韩欧美一区二区| 久久精品男人天堂av| 色婷婷综合激情| 久久国产欧美日韩精品| 亚洲男人的天堂网| 亚洲综合在线电影| 精品国产伦一区二区三区免费| 成人国产在线观看| 丝袜亚洲精品中文字幕一区| 日本一区二区三区在线观看| 欧美亚洲国产怡红院影院| 国内外成人在线| 亚洲一线二线三线视频| 国产三级一区二区| 欧美乱妇23p| 9久草视频在线视频精品| 精品午夜一区二区三区在线观看 | 精品一区二区日韩| 亚洲综合一区二区三区| 欧美国产成人精品| 欧美一级欧美一级在线播放| 不卡在线观看av| 久久99国产精品久久99果冻传媒| 中文字幕一区二区三区不卡 | 亚洲成人黄色小说| 中文字幕制服丝袜成人av| 日韩午夜精品电影| 色香蕉久久蜜桃| 成人免费毛片片v| 久久99精品国产麻豆婷婷洗澡| 亚洲国产乱码最新视频| 中文字幕一区日韩精品欧美| 日韩精品一区二区三区视频播放 | 日本久久电影网| 床上的激情91.| 久久精品国产**网站演员| 伊人夜夜躁av伊人久久| 国产精品嫩草影院av蜜臀| 日韩三级免费观看| 欧美伊人久久大香线蕉综合69 | 久久久精品日韩欧美| 日韩亚洲欧美成人一区| 911精品产国品一二三产区| 在线亚洲欧美专区二区| 波多野结衣中文一区| 国产一区二区三区四区五区入口| 日精品一区二区| 亚洲成人中文在线| 一区二区三区不卡视频在线观看 | 丝袜诱惑亚洲看片| 性欧美大战久久久久久久久| 一区二区三区在线视频免费| 亚洲人成网站在线| 亚洲人成伊人成综合网小说| 亚洲欧美色图小说| 韩国精品免费视频| 国产乱人伦精品一区二区在线观看|