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

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

?? sps_hc.c

?? LINUX AU12XX BOOTLADER
?? C
字號:
/** * \file * Secure Patch System - Hash Chain for concatenating patches (just stubs) * * \version $Revision$ $State$ * * \date $Date$ * * \author <a href="mailto:Axel.Wachtler@amd.com">Axel Wachtler</a> * * \par Last changed by: * $Author$ * *****************************************************************************//* * Copyright 2002 ADVANCED MICRO DEVICES, INC. All Rights Reserved. * * This software and any related documentation (the "Materials") are the * confidential proprietary information of AMD. Unless otherwise provided * in an agreement specifically licensing the Materials, the Materials are * provided in confidence and may not to be used, distributed, modified, or * reproduced in whole or in part by any means. * * LIMITATION OF LIABILITY: THE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY * EXPRESS OR IMPLIED WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO * WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, TITLE, FITNESS FOR ANY * PARTICULAR PURPOSE, OR WARRANTIES ARISING FORM CONDUCT, COURSE OF * DEALING, OR USAGE OF TRADE.  IN NO EVENT SHALL AMD OR ITS LICENSORS BE * LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, * DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF * INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO USE THE * MATERIALS, EVEN IF AMD HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH * DAMAGES.  BECAUSE SOME JURISDICTIONS PROHIBIT THE EXCLUSION OR * LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE * ABOVE LIMITATION MAY NOT APPLY TO YOU. * * AMD does not assume any responsibility for any errors which may appear * in the Materials nor any responsibility to support or update the * Materials.  AMD retains the right to modify the Materials at any time, * without notice, and is not obligated to provide such modified Materials * to you. * * NO SUPPORT OBLIGATION: AMD is not obligated to furnish, support, or make * any further information, software, technical information, know-how, or * show-how available to you. * *//******************************************************************************  Includes*****************************************************************************/#include "sec.h"#include "ssfif.h"#include "sps.h"#include "sps_hc.h"#ifdef MSDOS#include "sha1.h"#else#include "Sha/sha1.h"#endif/******************************************************************************  Data*****************************************************************************//******************************************************************************  Static Function Declarations*****************************************************************************//** \defgroup SpsFunctions SPS Hash Chain Functions*//**\{*//** * @brief * * @param * * @return */SpsSuccess_t SpsHashChainInit(SpsHashChainWorkspace_t * pHcWs){    SpsSuccess_t ret;    ret = SPS_UNSUCCESSFUL;    DP0(("SPS: Init Hash Chain pHcWs=0x%08x", pHcWs));    if (pHcWs != NULL) {	/* ssf_memset(pHcWs, 0,sizeof(SpsHashChainWorkspace_t)); */	/* can not set whole struct to 0, this would overwrite	 * next Digest	 */	SHA1Init(&(pHcWs->Sha1Ctx));	ret = SPS_SUCCESSFUL;    }    return ret;}SpsSuccess_t SpsHashChainProcess(SpsHashChainWorkspace_t * pHcWs,				 Int8 * pData, Int32 Size){    SpsSuccess_t ret;    ret = SPS_UNSUCCESSFUL;    do {	DP0(("SPS: Update Hash Chain pData=0x%08x, Size=%d", pData, Size));	if ((pHcWs == NULL) || (pData == NULL) || (Size < 1)) {	    ret = SPS_NULL_PTR_FAIL;	    break;	}	/* With our modified sha, there is no more destroying of buffers,	   so we need not to copy the payload */	SHA1Update(&(pHcWs->Sha1Ctx),		   (unsigned char *) pData, (uint32) Size);	ret = SPS_SUCCESSFUL;    } while (0);    return ret;}Int8 SpsHashChainCheckHash(SpsHashChainWorkspace_t * pHcWs){    Int8 Digest[PP_SHA1_LENGTH];    Int8 ret;    Int8 i;    ret = 0x0;    do {	if (pHcWs == NULL) {	    break;	}	ssf_memset(Digest, 0, PP_SHA1_LENGTH);	SHA1Final(Digest, &(pHcWs->Sha1Ctx));#ifdef VERBOSE	printf	    ("\ngot Digest: %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x",	     Digest[0], Digest[1], Digest[2], Digest[3], Digest[4],	     Digest[5], Digest[6], Digest[7], Digest[8], Digest[9],	     Digest[10], Digest[11], Digest[12], Digest[13], Digest[14],	     Digest[15], Digest[16], Digest[17], Digest[18], Digest[19]	    );	printf	    ("\nexp Digest: %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x\n",	     pHcWs->NextDigest[0], pHcWs->NextDigest[1],	     pHcWs->NextDigest[2], pHcWs->NextDigest[3],	     pHcWs->NextDigest[4], pHcWs->NextDigest[5],	     pHcWs->NextDigest[6], pHcWs->NextDigest[7],	     pHcWs->NextDigest[8], pHcWs->NextDigest[9],	     pHcWs->NextDigest[10], pHcWs->NextDigest[11],	     pHcWs->NextDigest[12], pHcWs->NextDigest[13],	     pHcWs->NextDigest[14], pHcWs->NextDigest[15],	     pHcWs->NextDigest[16], pHcWs->NextDigest[17],	     pHcWs->NextDigest[18], pHcWs->NextDigest[19]	    );#endif	for (i = 0; i < PP_SHA1_LENGTH; i++) {	    if (Digest[i] != pHcWs->NextDigest[i]) {		DP0(("SPS: Digest Check Failed at pos. %d", i));		break;	    }	}	if (i == PP_SHA1_LENGTH) {	    ret = 3;	}    }    while (0);    return ret;}SpsSuccess_t SpsHashChainReset(SpsHashChainWorkspace_t * pHcWs,			       Int8 * pHashData){    SpsSuccess_t ret;    ret = SPS_UNSUCCESSFUL;    if (pHcWs != NULL) {	ssf_memset(pHcWs, 0, sizeof(SpsHashChainWorkspace_t));	if (pHashData != NULL) {#ifdef VERBOSE	    printf		("\nnext Digest: %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x  %02x %02x %02x %02x\n",		 pHashData[0], pHashData[1], pHashData[2], pHashData[3],		 pHashData[4], pHashData[5], pHashData[6], pHashData[7],		 pHashData[8], pHashData[9], pHashData[10], pHashData[11],		 pHashData[12], pHashData[13], pHashData[14],		 pHashData[15], pHashData[16], pHashData[17],		 pHashData[18], pHashData[19]		);#endif	    ssf_memcpy(pHcWs->NextDigest, pHashData, PP_SHA1_LENGTH);	} else {	    DP0(("next Digest: NONE"));	}	SHA1Init(&(pHcWs->Sha1Ctx));	ret = SPS_SUCCESSFUL;    }    return ret;}/**\}*//* ------------------------------------------------------------------------- *//**\}*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人三级在线观看| 日韩高清不卡一区二区| aaa欧美色吧激情视频| 中文av一区二区| 91激情在线视频| 天天av天天翘天天综合网| 777奇米四色成人影色区| 麻豆91在线观看| 欧美激情中文字幕一区二区| 不卡视频在线观看| 亚洲一区二区三区小说| 欧美大胆一级视频| 成人免费视频caoporn| 亚洲1区2区3区视频| 欧美一级欧美三级| jizzjizzjizz欧美| 丝袜a∨在线一区二区三区不卡| 欧美一级二级三级蜜桃| 久久99最新地址| 亚洲三级电影全部在线观看高清| 午夜伦欧美伦电影理论片| 日韩一卡二卡三卡| 99综合电影在线视频| 亚洲成人黄色影院| 国产日韩在线不卡| 欧美日韩国产小视频| 国产伦精品一区二区三区免费迷| 欧美精品日韩精品| 国产精品99久| 一区二区三区资源| 久久日一线二线三线suv| 91久久精品日日躁夜夜躁欧美| 亚洲欧洲三级电影| 欧美日韩高清不卡| av在线免费不卡| 久久草av在线| 婷婷六月综合亚洲| 亚洲欧美偷拍卡通变态| 日韩美一区二区三区| 色婷婷av一区二区三区大白胸 | 亚洲国产综合色| 91精品国产综合久久久蜜臀图片| 亚洲超丰满肉感bbw| 国产精品情趣视频| 欧美va天堂va视频va在线| 色综合久久九月婷婷色综合| 国产在线精品国自产拍免费| 一区二区三区在线观看视频| 久久久影视传媒| 91精品国产色综合久久不卡电影| 天涯成人国产亚洲精品一区av| 色综合欧美在线| 国产一区二区不卡| 日本不卡1234视频| 亚洲成人动漫一区| 亚洲免费在线观看| 欧美韩日一区二区三区四区| 91精品国产综合久久精品图片| 午夜精品123| 最好看的中文字幕久久| 国产欧美日韩中文久久| 欧美大度的电影原声| 制服.丝袜.亚洲.另类.中文| 欧美综合天天夜夜久久| 色婷婷综合五月| 国产成人免费网站| 国精品**一区二区三区在线蜜桃| 国产精品国产三级国产aⅴ入口 | 国产一区二区视频在线播放| 午夜精品免费在线| 亚洲视频在线观看一区| 国产精品美女久久久久久久久| 色av成人天堂桃色av| 91网站最新地址| 色综合天天狠狠| 欧美性xxxxxxxx| 欧美精选午夜久久久乱码6080| 国模娜娜一区二区三区| 久久99精品久久久| 国产老妇另类xxxxx| 国产一区二区精品久久99| 老司机一区二区| 国产一区二区三区| 国产成人精品免费看| 国产suv一区二区三区88区| 福利91精品一区二区三区| 成人综合在线观看| 91麻豆福利精品推荐| 91丝袜美女网| 欧美日本在线观看| 日韩欧美亚洲一区二区| 国产清纯在线一区二区www| 国产精品美女久久久久高潮| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美精品在线观看播放| 日韩你懂的电影在线观看| 欧美成人r级一区二区三区| www国产精品av| 国产精品国产三级国产| 亚洲123区在线观看| 日本不卡视频一二三区| 国内精品伊人久久久久av影院| 午夜视频一区二区三区| 蜜臀国产一区二区三区在线播放| 国产精品乱人伦| 亚洲一区免费在线观看| 午夜久久久久久电影| 久热成人在线视频| 91在线一区二区| 欧美精品一二三| 亚洲成国产人片在线观看| 奇米色一区二区三区四区| 成人av在线播放网址| 欧美日本在线一区| 国产欧美一区二区在线| 亚洲成a人片在线不卡一二三区 | 色综合色综合色综合色综合色综合| 美女一区二区在线观看| 国产不卡在线视频| 欧美军同video69gay| 国产午夜精品久久久久久免费视 | 日日夜夜免费精品视频| 国产精品亚洲午夜一区二区三区 | av在线不卡免费看| 欧美一级片在线看| 国产精品福利av| 蜜臀av国产精品久久久久| 色综合中文综合网| 国产麻豆一精品一av一免费| 91精品91久久久中77777| 国产亚洲va综合人人澡精品| 午夜久久久久久久久久一区二区| 亚洲大片免费看| 成人小视频免费观看| 日韩一区二区三区免费观看| 亚洲人一二三区| 九色综合狠狠综合久久| 欧美日韩国产高清一区| 国产精品理论在线观看| 国产在线国偷精品产拍免费yy| 国产成人av一区二区三区在线| 国产乱人伦精品一区二区在线观看| 久久97超碰国产精品超碰| 色94色欧美sute亚洲线路二| 中文字幕免费不卡在线| 日韩成人伦理电影在线观看| 色婷婷激情一区二区三区| 国产精品久久午夜夜伦鲁鲁| 国产真实乱偷精品视频免| 日韩一区二区三区视频在线| 天天av天天翘天天综合网色鬼国产| 久久99日本精品| 3atv在线一区二区三区| 亚洲1区2区3区4区| 欧美日韩一区二区欧美激情| 国产精品国产三级国产| 成人国产免费视频| 中文一区一区三区高中清不卡| 一区二区三区中文在线观看| 成人av高清在线| 日本一区二区综合亚洲| 国产精品66部| 日韩精品一区二区三区四区视频| 亚洲国产精品传媒在线观看| 成人在线综合网| 国产精品福利av| 99re热这里只有精品免费视频| 欧美日韩在线三区| 一区二区三区国产精华| 欧美性生活久久| 性久久久久久久| 欧美一卡2卡三卡4卡5免费| 中文字幕av不卡| 一区二区三区精品在线| 风间由美一区二区三区在线观看| 成人国产亚洲欧美成人综合网| 在线精品视频小说1| 亚洲视频你懂的| 国产午夜精品理论片a级大结局| 亚洲视频1区2区| 婷婷中文字幕综合| 日韩手机在线导航| 99久精品国产| 国产美女在线精品| 一区二区三区四区在线播放| 91精品国产综合久久精品麻豆| 亚洲成人免费看| 中文子幕无线码一区tr| 欧美人体做爰大胆视频| 国产精品影视天天线| 婷婷综合五月天| 亚洲精品一二三| 国产日韩欧美精品在线| 91精品福利在线一区二区三区| 石原莉奈一区二区三区在线观看| 欧美午夜电影网| 成人久久视频在线观看| 激情文学综合插| 婷婷开心久久网| 一区二区三区欧美在线观看|