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

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

?? ixnpedlimagemgr.c

?? 友善mini2440嵌入式
?? C
?? 第 1 頁 / 共 2 頁
字號:
/** * @file IxNpeDlImageMgr.c * * @author Intel Corporation * @date 09 January 2002 * * @brief This file contains the implementation of the private API for the  *        IXP425 NPE Downloader ImageMgr module * *  * @par * IXP400 SW Release version 2.0 *  * -- Copyright Notice -- *  * @par * Copyright 2001-2005, Intel Corporation. * All rights reserved. *  * @par * 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. Neither the name of the Intel Corporation nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. *  * @par * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS 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 COPYRIGHT OWNER OR 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. *  * @par * -- End of Copyright Notice --*//* * Put the system defined include files required. */#include "IxOsal.h"/* * Put the user defined include files required. */#include "IxNpeDlImageMgr_p.h"#include "IxNpeDlMacros_p.h"/* * define the flag which toggles the firmare inclusion */#define IX_NPE_MICROCODE_FIRMWARE_INCLUDED 1#include "IxNpeMicrocode.h"/* * Indicates the start of an NPE Image, in new NPE Image Library format. * 2 consecutive occurances indicates the end of the NPE Image Library */#define NPE_IMAGE_MARKER 0xfeedf00d/* * Typedefs whose scope is limited to this file. *//* * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * TO BE DEPRECATED IN A FUTURE RELEASE */typedef struct{    UINT32 size;    UINT32 offset;    UINT32 id;} IxNpeDlImageMgrImageEntry;/* * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * TO BE DEPRECATED IN A FUTURE RELEASE */typedef union{    IxNpeDlImageMgrImageEntry image;    UINT32 eohMarker;} IxNpeDlImageMgrHeaderEntry;/* * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * TO BE DEPRECATED IN A FUTURE RELEASE */typedef struct{    UINT32 signature;    /* 1st entry in the header (there may be more than one) */    IxNpeDlImageMgrHeaderEntry entry[1];} IxNpeDlImageMgrImageLibraryHeader;/* * NPE Image Header definition, used in new NPE Image Library format */typedef struct{    UINT32 marker;    UINT32 id;    UINT32 size;} IxNpeDlImageMgrImageHeader;/* module statistics counters */typedef struct{    UINT32 invalidSignature;    UINT32 imageIdListOverflow;    UINT32 imageIdNotFound;} IxNpeDlImageMgrStats;/* * Variable declarations global to this file only.  Externs are followed by * static variables. */static IxNpeDlImageMgrStats ixNpeDlImageMgrStats;/* default image */#ifdef IX_NPEDL_READ_MICROCODE_FROM_FILEstatic UINT32 *IxNpeMicroCodeImageLibrary = NULL;  /* Gets set to proper value at runtime */#elsestatic UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)IxNpeMicrocode_array;#endif/* * static function prototypes. */PRIVATE BOOLixNpeDlImageMgrSignatureCheck (UINT32 *microCodeImageLibrary);PRIVATE void  ixNpeDlImageMgrImageIdFormat (UINT32 rawImageId, IxNpeDlImageId *imageId);PRIVATE BOOLixNpeDlImageMgrImageIdCompare (IxNpeDlImageId *imageIdA, 				 IxNpeDlImageId *imageIdB);				 PRIVATE BOOLixNpeDlImageMgrNpeFunctionIdCompare (IxNpeDlImageId *imageIdA,    				       IxNpeDlImageId *imageIdB);PRIVATE IX_STATUSixNpeDlImageMgrImageFind_legacy (UINT32 *imageLibrary,                                 UINT32 imageId,                                 UINT32 **imagePtr,                                 UINT32 *imageSize);/* * Function definition: ixNpeDlImageMgrMicrocodeImageLibraryOverride * * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * AND/OR LEGACY API FUNCTIONS. TO BE DEPRECATED IN A FUTURE RELEASE */IX_STATUSixNpeDlImageMgrMicrocodeImageLibraryOverride (    UINT32 *clientImageLibrary){    IX_STATUS status = IX_SUCCESS;    IX_NPEDL_TRACE0 (IX_NPEDL_FN_ENTRY_EXIT, 		     "Entering ixNpeDlImageMgrMicrocodeImageLibraryOverride\n");    if (ixNpeDlImageMgrSignatureCheck (clientImageLibrary))    {	IxNpeMicroCodeImageLibrary = clientImageLibrary;    }    else    {	IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrMicrocodeImageLibraryOverride: "			       "Client-supplied image has invalid signature\n");	status = IX_FAIL;    }    IX_NPEDL_TRACE1 (IX_NPEDL_FN_ENTRY_EXIT, 		     "Exiting ixNpeDlImageMgrMicrocodeImageLibraryOverride: status = %d\n",		     status);    return status;}/* * Function definition: ixNpeDlImageMgrImageListExtract * * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * AND/OR LEGACY API FUNCTIONS. TO BE DEPRECATED IN A FUTURE RELEASE */IX_STATUSixNpeDlImageMgrImageListExtract (    IxNpeDlImageId *imageListPtr,    UINT32 *numImages){    UINT32 rawImageId;    IxNpeDlImageId formattedImageId;    IX_STATUS status = IX_SUCCESS;    UINT32 imageCount = 0;    IxNpeDlImageMgrImageLibraryHeader *header;    IX_NPEDL_TRACE0 (IX_NPEDL_FN_ENTRY_EXIT, 		     "Entering ixNpeDlImageMgrImageListExtract\n");    header = (IxNpeDlImageMgrImageLibraryHeader *) IxNpeMicroCodeImageLibrary;    if (ixNpeDlImageMgrSignatureCheck (IxNpeMicroCodeImageLibrary))    {	/* for each image entry in the image header ... */	while (header->entry[imageCount].eohMarker !=	       IX_NPEDL_IMAGEMGR_END_OF_HEADER)	{	    /*	     * if the image list container from calling function has capacity,	     * add the image id to the list 	     */	    if ((imageListPtr != NULL) && (imageCount < *numImages))	    {		rawImageId = header->entry[imageCount].image.id;	        ixNpeDlImageMgrImageIdFormat (rawImageId, &formattedImageId);		imageListPtr[imageCount] = formattedImageId;	    }	    /* imageCount reflects no. of image entries in image library header */	    imageCount++;  	}		/*	 * if image list container from calling function was too small to	 * contain all image ids in the header, set return status to FAIL	 */	if ((imageListPtr != NULL) && (imageCount > *numImages))	{	    status = IX_FAIL;	    IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrImageListExtract: "				   "number of Ids found exceeds list capacity\n");	    ixNpeDlImageMgrStats.imageIdListOverflow++;	}	/* return number of image ids found in image library header */	*numImages = imageCount;      }    else    {	status = IX_FAIL;	IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrImageListExtract: "			       "invalid signature in image\n");    }        IX_NPEDL_TRACE1 (IX_NPEDL_FN_ENTRY_EXIT, 		     "Exiting ixNpeDlImageMgrImageListExtract: status = %d\n",		     status);    return status;}/* * Function definition: ixNpeDlImageMgrImageLocate * * FOR BACKWARD-COMPATIBILITY WITH OLD NPE IMAGE LIBRARY FORMAT * AND/OR LEGACY API FUNCTIONS. TO BE DEPRECATED IN A FUTURE RELEASE */IX_STATUSixNpeDlImageMgrImageLocate (    IxNpeDlImageId *imageId,    UINT32 **imagePtr,    UINT32 *imageSize){    UINT32 imageOffset;    UINT32 rawImageId;    IxNpeDlImageId formattedImageId;    /* used to index image entries in image library header */    UINT32 imageCount = 0;       IX_STATUS status = IX_FAIL;    IxNpeDlImageMgrImageLibraryHeader *header;    IX_NPEDL_TRACE0 (IX_NPEDL_FN_ENTRY_EXIT,		     "Entering ixNpeDlImageMgrImageLocate\n");    header = (IxNpeDlImageMgrImageLibraryHeader *) IxNpeMicroCodeImageLibrary;    if (ixNpeDlImageMgrSignatureCheck (IxNpeMicroCodeImageLibrary))    {	/* for each image entry in the image library header ... */	while (header->entry[imageCount].eohMarker !=	       IX_NPEDL_IMAGEMGR_END_OF_HEADER)	{	    rawImageId = header->entry[imageCount].image.id;	    ixNpeDlImageMgrImageIdFormat (rawImageId, &formattedImageId);	    /* if a match for imageId is found in the image library header... */	    if (ixNpeDlImageMgrImageIdCompare (imageId, &formattedImageId))	    {		/*		 * get pointer to the image in the image library using offset from		 * 1st word in image library		 */		imageOffset = header->entry[imageCount].image.offset;		*imagePtr = &IxNpeMicroCodeImageLibrary[imageOffset];		/* get the image size */		*imageSize = header->entry[imageCount].image.size;		status = IX_SUCCESS;		break;	    }	    imageCount++;	}	if (status != IX_SUCCESS)	{	    IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrImageLocate: "				   "imageId not found in image library header\n");	    ixNpeDlImageMgrStats.imageIdNotFound++;	}    }    else    {	IX_NPEDL_ERROR_REPORT ("ixNpeDlImageMgrImageLocate: "			       "invalid signature in image library\n");    }    IX_NPEDL_TRACE1 (IX_NPEDL_FN_ENTRY_EXIT,		     "Exiting ixNpeDlImageMgrImageLocate: status = %d\n", status);    return status;}/* * Function definition: ixNpeDlImageMgrLatestImageExtract

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看国产日韩| 久久久一区二区| 久久久三级国产网站| 亚洲欧美成人一区二区三区| 韩国av一区二区三区四区| 色视频一区二区| 国产精品久久久久久久岛一牛影视| 亚洲电影在线播放| 91在线视频免费91| 久久精品视频一区二区| 日韩电影在线免费看| 在线中文字幕一区二区| 自拍偷拍国产精品| 国产成人精品一区二区三区四区| 欧美一级二级三级乱码| 亚洲第一精品在线| 欧美亚洲图片小说| 国产精品看片你懂得| 丰满放荡岳乱妇91ww| 日韩欧美国产系列| 男女男精品视频网| 制服丝袜av成人在线看| 夜夜精品视频一区二区| 色噜噜狠狠色综合欧洲selulu| 久久精品亚洲精品国产欧美| 国产在线日韩欧美| 久久综合一区二区| 国内国产精品久久| 国产亚洲人成网站| 狠狠久久亚洲欧美| 国产欧美一区二区精品秋霞影院 | 欧美剧在线免费观看网站| 国产精品国产三级国产aⅴ入口| 久久不见久久见免费视频1| 日韩免费在线观看| 麻豆成人综合网| 国产日韩欧美一区二区三区乱码| 国产精品一区二区三区四区| 国产婷婷一区二区| www.在线欧美| 亚洲一卡二卡三卡四卡五卡| 制服丝袜中文字幕亚洲| 精品午夜久久福利影院| 国产欧美一区二区三区在线老狼| 99精品热视频| 午夜精品一区二区三区免费视频 | 日本一区二区电影| 国产成人综合亚洲网站| 国产精品丝袜久久久久久app| 成人视屏免费看| 亚洲精品久久嫩草网站秘色| 欧美天堂亚洲电影院在线播放| 午夜精品久久久久影视| 日韩欧美视频在线| 成人在线一区二区三区| 洋洋成人永久网站入口| 欧美一卡二卡三卡四卡| 国内精品久久久久影院色| 亚洲欧洲三级电影| 7777精品伊人久久久大香线蕉经典版下载 | 日本道在线观看一区二区| 首页欧美精品中文字幕| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产91精品一区二区麻豆网站| 国产精品久久久久久久久免费相片 | 亚洲成av人片| 国产不卡免费视频| 亚洲蜜臀av乱码久久精品蜜桃| 欧美日韩一区二区三区高清 | 亚洲精品v日韩精品| 欧美在线观看18| 国内精品视频666| 亚洲另类在线视频| 久久综合国产精品| 色天天综合久久久久综合片| 男女激情视频一区| 亚洲少妇屁股交4| 91精品国产综合久久精品| 国产成人99久久亚洲综合精品| 国产精品日日摸夜夜摸av| 欧美精品色一区二区三区| 懂色一区二区三区免费观看| 视频一区中文字幕国产| 日韩理论在线观看| 久久久精品国产免费观看同学| 91.com视频| 色综合咪咪久久| 成人精品国产一区二区4080| 久久综合综合久久综合| 五月天婷婷综合| 亚洲柠檬福利资源导航| 国产精品无人区| 久久亚洲影视婷婷| 日韩精品一区在线| 8v天堂国产在线一区二区| 欧美午夜在线观看| 色欧美片视频在线观看在线视频| 国产成人亚洲综合a∨婷婷 | 成人午夜视频免费看| 美女任你摸久久| 日韩激情av在线| 亚洲国产视频网站| 亚洲三级视频在线观看| 国产精品入口麻豆九色| 国产日韩欧美亚洲| 久久久久一区二区三区四区| 欧美成人a在线| 欧美二区三区的天堂| 欧美探花视频资源| 在线观看亚洲专区| 色噜噜狠狠色综合中国| 色综合久久六月婷婷中文字幕| 成人免费不卡视频| 99久久久久久99| 不卡一二三区首页| 色一情一乱一乱一91av| 在线观看亚洲成人| 欧美日韩精品综合在线| 在线观看av一区二区| 95精品视频在线| www.色精品| 色香色香欲天天天影视综合网| 色综合久久六月婷婷中文字幕| 欧洲一区在线观看| 欧美亚洲一区三区| 日韩午夜精品视频| 欧美tickling挠脚心丨vk| 精品国产伦一区二区三区观看方式| 日韩视频一区二区三区在线播放 | 亚洲男人天堂av| 亚洲午夜三级在线| 日韩制服丝袜先锋影音| 麻豆视频观看网址久久| 国产成人综合在线| 91亚洲午夜精品久久久久久| 在线观看一区二区精品视频| 在线免费观看成人短视频| 欧美精品久久一区| 精品捆绑美女sm三区| 国产精品青草久久| 亚洲成人av一区| 国产一区二区不卡| 99麻豆久久久国产精品免费| 在线观看日韩高清av| 欧美一区二区不卡视频| 久久久久国产精品厨房| 一级中文字幕一区二区| 首页国产欧美久久| 成人激情免费视频| 日韩欧美你懂的| 亚洲欧美日韩国产手机在线 | 免费亚洲电影在线| 波波电影院一区二区三区| 91精品国产免费久久综合| 国产精品丝袜91| 久久69国产一区二区蜜臀| 99精品欧美一区二区蜜桃免费| 日韩一区二区免费在线电影| 最新久久zyz资源站| 精品写真视频在线观看| 色综合久久久久网| 日韩欧美国产综合| 亚洲国产综合色| 成人精品在线视频观看| 日韩精品一区二区三区在线| 一区二区三区欧美亚洲| 成人激情开心网| 精品国产伦一区二区三区观看体验 | 精品国产一区二区三区四区四| 亚洲欧美视频在线观看视频| 国产一区二区日韩精品| 7777精品伊人久久久大香线蕉的 | 欧美在线一区二区| 久久精品一区蜜桃臀影院| 亚洲男人的天堂一区二区| 国内精品写真在线观看| 欧美丰满少妇xxxxx高潮对白| 中文字幕一区二区三区乱码在线 | 日韩在线一区二区三区| 一本大道久久a久久综合婷婷| 久久久综合激的五月天| 青青国产91久久久久久| 欧美日韩一区二区在线观看视频| 亚洲欧洲在线观看av| 成人国产精品免费| 国产女主播在线一区二区| 国产精品香蕉一区二区三区| 在线不卡中文字幕| 亚洲成人av电影| 欧美在线观看视频在线| 国产精品毛片久久久久久 | 免费在线欧美视频| 欧洲在线/亚洲| 亚洲综合一区二区三区| 99re成人精品视频| 国产精品电影院| 91日韩一区二区三区| 国产精品成人一区二区三区夜夜夜| 成人中文字幕合集| 国产精品久久久久三级|