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

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

?? wdblib.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/* wdbLib.c - WDB agent context management library *//* Copyright 1994-2002 Wind River Systems, Inc. *//*modification history--------------------01r,28feb02,jhw  Add entry point to tWdbTask. (SPR 73238).01q,09feb99,fle  doc : put the code examples between .CS and .CE markups01p,24nov98,cym  disabling clock during system mode on simnt.01o,05oct98,jmp  doc: fixed DESCRIPTION section.01n,27aug98,fle  doc : documented undocumented routines headers01m,25mar98,dbt  added wdbSystemSuspend() routine.01l,17dec97,dbt  Set driver in interrupt mode in wdbResumeSystem() routine only                 if wdb agent can run in task mode (SPR #5630).01k,02oct96,elp  added casts due to TGT_ADDR_T type change in wdb.h.01j,09jul96,ms   wdbModeSet to task mode automatically resumes the system.01i,03jun96,kkk  replace _sigCtxLoad() with WDB_CTX_LOAD() and _sigCtxSave()                 with WDB_CTX_SAVE().01h,29aug95,ms   fixed SPRs #4785 and 4499 for external mode agent I/O01g,21jun95,ms	 added global variable wdbTaskId.01f,15jun95,ms	 use intRegsLock instead of _sigCtxIntLock01e,03jun95,ms	 don't notify host if not connected.01d,25may95,ms	 added fpp reg support for system mode agent.01c,07feb95,ms	 pass RPC transport handles and commIf's to both agents.01b,18jan94,rrr  made wdbExternSystemResg global.01a,06oct94,ms   written.*//*DESCRIPTIONThis library provides a routine to transfer control from the run time system to the WDB agent running in external mode. This agent in externalmode allows a system-wide control, including ISR debugging, from a host tool(eg: Crosswind, WindSh ...) through the target server and the WDBcommuncation link.INTERNALThis library contains all the routines that manipulatethe WDB agents context, including the agents main command loop.INCLUDE FILES: wdb/wdbLib.hSEE ALSO:.I "API Guide: WTX Protocol",.tG "Overview"*/#include "wdb/wdb.h"#include "wdb/wdbLib.h"#include "wdb/wdbLibP.h"#include "wdb/wdbRpcLib.h"#include "wdb/wdbSvcLib.h"#include "wdb/wdbCommIfLib.h"#include "wdb/wdbRpcLib.h"#include "wdb/wdbRtIfLib.h"#include "wdb/wdbArchIfLib.h"#include "wdb/wdbEvtLib.h"#include "string.h"/* Agent variables */WDB_RT_IF *     pWdbRtIf;		/* interface to runtime system */static u_int	wdbState;		/* WDB_STATE_EXTERN_RUNNING? */static u_int	wdbMode;		/* current agent mode. For version 1,					 * only one agent active at a time. */static u_int	wdbAvailModes;		/* available agent modes */static struct timeval wdbTv = {3, 0};	/* 3 second timeout on host NOTIFY *//* task agent variables */static WDB_COMM_IF *	pWdbTaskCommIf;		/* communication interface */static void *		pWdbTaskXport;		/* RPC transport handle */int			wdbTaskId;		/* agents task ID *//* system agent variables */static WDB_IU_REGS	wdbExternAgentRegs;WDB_IU_REGS		wdbExternSystemRegs;static void		(*wdbSuspendCallbackRtn)();	/* callback routine */static int		wdbSuspendCallbackArg;	/* callback argument */BOOL			wdbOneShot = FALSE;	/* resume system after cmd */static WDB_COMM_IF *	pWdbExternCommIf;	/* communication interface */static void *		pWdbExternXport;	/* RPC transport handle */static dll_t		wdbRegSetList;		/* register set list *//* forward declarations */static void   wdbCmdLoop	(void);static void   wdbCmdOnce	(void);/******************************************************************************** wdbInstallRtIf - install the runtime interface functions.** The WDB agent is independent of the underlying runtime system or OS.* This routine installs OS callouts for the agent to use.** NOMANUAL*/void wdbInstallRtIf    (    WDB_RT_IF *	pRtIf				/* Must be a static structure */    )    {    pWdbRtIf   = pRtIf;    }/******************************************************************************** wdbInstallCommIf - install the communication interface.** NOMANUAL*/ void wdbInstallCommIf    (    WDB_COMM_IF *	pCommIf,		/* communication functions */    WDB_XPORT *		pXport			/* RPC xport handle */    )    {    pWdbTaskCommIf	= pCommIf;    pWdbTaskXport	= pXport;    pWdbExternCommIf	= pCommIf;    pWdbExternXport	= pXport;    }/******************************************************************************** wdbInfoGet - get info on the WDB agent.** NOMANUAL*/void wdbInfoGet    (    WDB_AGENT_INFO * pInfo    )    {    pInfo->agentVersion	= WDB_VERSION_STR;    pInfo->mtu		= wdbCommMtu;    pInfo->mode		= wdbAvailModes;    }/******************************************************************************** wdbTask - WDB task entry point** This is the WDB task entry point. It simply calls wdbCmdLoop() but it has* been added to have a "real" entry point to WDB task when one issues* a i() command.** NOMANUAL*/void wdbTask (void)    {    wdbCmdLoop ();    }	     /******************************************************************************** wdbTaskInit - initialize the task mode agent.** This routine creates a task debug agent by making callouts to* the runtime system. If the runtime system supports task creation,* then this routine should succeed.** RETURNS: OK, or ERROR if unable to create the task agent.** NOMANUAL*/STATUS wdbTaskInit    (    int           wdbTaskPriority,	/* agent task priority */    int           wdbTaskOptions,	/* agent task options */    caddr_t       wdbTaskStackBase,	/* agent task stack base (or NULL) */    int           wdbTaskStackSize	/* agent task stack size */    )    {    WDB_CTX	context;    int		args[10];    /* create the agent's task context via callouts to the OS */    if ((pWdbRtIf->taskCreate == NULL) ||	(pWdbRtIf->taskResume == NULL) ||	(pWdbTaskXport == NULL))	return (ERROR);    context.contextId = (*pWdbRtIf->taskCreate) ("tWdbTask", wdbTaskPriority,		wdbTaskOptions, NULL, wdbTaskStackSize, (char *)wdbTask,		args, 0, 0, 0);    if (context.contextId == ERROR)	return (ERROR);    context.contextType = WDB_CTX_TASK;    if ((*pWdbRtIf->taskResume)(&context) == ERROR)	return (ERROR);    /* record the fact that the agent can run as a task */    wdbAvailModes |= WDB_MODE_TASK;    /* store away the task ID in a global variable for all to see */    wdbTaskId = context.contextId;    return (OK);    }/******************************************************************************** wdbExternInit - initialize the external mode agent.** This routine sets up the external agents context (stack pointer and* entry address). It does not start the external agents command loop.** RETURNS: OK always.** NOMANUAL*/STATUS wdbExternInit    (    void *	  stackBase		/* stack to use */    )    {    /* set up the external agents context */    int pArgs[10];    pArgs[0] = 1;    if (pWdbExternXport == NULL)	return (ERROR);    _sigCtxSetup (&wdbExternAgentRegs, stackBase, wdbCmdLoop, pArgs);    intRegsLock (&wdbExternAgentRegs);    /* initialize the linked list of register objects to save/restore */    dll_init (&wdbRegSetList);    /* mark the agent as external */    wdbAvailModes |= WDB_MODE_EXTERN;    /* install the external agent's interrupt on first packet hook */    if ((pWdbExternCommIf->hookAdd != NULL))	(*pWdbExternCommIf->hookAdd) (pWdbExternCommIf->commId, wdbCmdOnce, 0);    return (OK);    }/******************************************************************************** wdbExternRegSetObjAdd - tell the external agent to manipulate a class of regs.** NOMANUAL*/ void wdbExternRegSetObjAdd    (    WDB_REG_SET_OBJ *	pRegSet			/* reg class object */    )    {    dll_insert (&pRegSet->node, &wdbRegSetList);    }/******************************************************************************** wdbExternRegsSet -** NOMANUAL*/ STATUS wdbExternRegsSet    (    WDB_REG_SET_TYPE	type,    char *		pRegs    )    {    dll_t *		pThisNode;    WDB_REG_SET_OBJ *	pRegSet;    if (type == WDB_REG_SET_IU)	{	bcopy (pRegs, (char *)&wdbExternSystemRegs, sizeof (wdbExternSystemRegs));	return (OK);	}    for (pThisNode = dll_head (&wdbRegSetList);	 pThisNode != dll_end  (&wdbRegSetList);	 pThisNode  = dll_next (pThisNode))	{	pRegSet = (WDB_REG_SET_OBJ *)pThisNode;	if (pRegSet->regSetType == type)	    {	    (*pRegSet->set) (pRegs);	    return (OK);	    }	}    return (ERROR);    }/******************************************************************************** wdbExternRegsGet - gets external registers** NOMANUAL*/ STATUS wdbExternRegsGet    (    WDB_REG_SET_TYPE	type,    char **		ppRegs    )    {    dll_t *		pThisNode;    WDB_REG_SET_OBJ *	pRegSet;    if (type == WDB_REG_SET_IU)	{	*ppRegs = (char *)&wdbExternSystemRegs;	return (OK);	}    for (pThisNode  = dll_head (&wdbRegSetList);	 pThisNode != dll_end  (&wdbRegSetList);	 pThisNode  = dll_next (pThisNode))	{	pRegSet = (WDB_REG_SET_OBJ *)pThisNode;	if (pRegSet->regSetType == type)	    {	    (*pRegSet->get) (ppRegs);	    return (OK);	    }	}    return (ERROR);    }/******************************************************************************** wdbModeSet - set the agent mode.** This routine activates one of the agents and deactivates the other.** RETURNS: OK if the requested mode is supported, else ERROR.** NOMANUAL*/STATUS	wdbModeSet    (    int	newMode			/* agent mode */    )    {    /* check if newMode is OK to set */    if ((newMode != WDB_MODE_TASK) && (newMode != WDB_MODE_EXTERN))	return (ERROR);			/* requested mode is invalid */    if (! (newMode & wdbAvailModes))	return (ERROR);			/* requested mode is not available */    /*     * if both agents are available, deactivate the other agent     * since both agents use the same communication port, all we     * need to do is add or remove the external agents interrupt hook.     */    if (wdbAvailModes == WDB_MODE_BI)	{	if (newMode == WDB_MODE_TASK)	    {	    if ((pWdbExternCommIf->hookAdd != NULL))		(*pWdbExternCommIf->hookAdd) (pWdbExternCommIf->commId,					      NULL, 0);	    if (wdbMode == WDB_MODE_EXTERN)		wdbOneShot = TRUE;	    }	else	    {	    if ((pWdbExternCommIf->hookAdd != NULL))		(*pWdbExternCommIf->hookAdd) (pWdbExternCommIf->commId,					      wdbCmdOnce, 0);	    }	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人a在线| 在线观看一区日韩| 亚洲精品国久久99热| 18成人在线视频| 国产精品毛片a∨一区二区三区| 国产婷婷一区二区| 美女www一区二区| 欧美日韩国产不卡| 午夜精品在线视频一区| 欧美视频一区二区在线观看| 视频在线观看国产精品| 337p亚洲精品色噜噜噜| 日本欧洲一区二区| 久久香蕉国产线看观看99| 国产精品系列在线观看| 国产欧美日韩不卡| 日本高清不卡aⅴ免费网站| 一区二区不卡在线播放| 欧美精品xxxxbbbb| 精品影视av免费| 久久人人97超碰com| 成人综合在线视频| 亚洲视频 欧洲视频| 欧美男男青年gay1069videost| 成人免费毛片嘿嘿连载视频| 狠狠色综合日日| 成人欧美一区二区三区在线播放| 亚洲精品在线电影| av在线不卡观看免费观看| 国产精品视频一二三区| 欧美精品一区二区久久婷婷| 欧美精品丝袜久久久中文字幕| 欧美系列日韩一区| 91久久精品国产91性色tv| 色综合视频一区二区三区高清| 亚洲欧美一区二区三区极速播放| 色噜噜久久综合| 91在线丨porny丨国产| 奇米一区二区三区av| 中文无字幕一区二区三区| 99re热视频精品| 99在线精品视频| 99re热这里只有精品视频| 99热99精品| 欧美亚洲高清一区二区三区不卡| 色屁屁一区二区| 欧美视频一区二区三区在线观看| 在线观看视频欧美| 欧美美女一区二区三区| 欧美视频在线一区| 日韩欧美一二区| av亚洲精华国产精华精华| hitomi一区二区三区精品| 99国产精品视频免费观看| 日本精品裸体写真集在线观看| 在线亚洲人成电影网站色www| 一本色道综合亚洲| 欧美日韩亚洲国产综合| 成人激情电影免费在线观看| 亚洲v日本v欧美v久久精品| 久久品道一品道久久精品| 国产亚洲欧美色| 一区在线中文字幕| 夜夜嗨av一区二区三区| 视频在线观看一区二区三区| 国产一区二区三区在线观看精品| 久久久久久久久久久久久夜| 国产欧美日韩久久| 亚洲一区二区三区四区在线观看| 国产清纯在线一区二区www| 中文字幕日韩欧美一区二区三区| 一区二区三区在线观看国产| 天使萌一区二区三区免费观看| 精品亚洲免费视频| 99久久精品国产观看| 7878成人国产在线观看| 久久久久久久久久美女| 亚洲另类春色国产| 狠狠色丁香久久婷婷综| 色综合天天性综合| 亚洲午夜视频在线| 亚洲麻豆国产自偷在线| 三级在线观看一区二区| 国产成人h网站| 国产亚洲女人久久久久毛片| 亚洲视频中文字幕| 久久99精品久久久久久动态图| 成人黄色片在线观看| 884aa四虎影成人精品一区| 国产精品国产自产拍高清av| 欧美国产精品久久| 天堂成人免费av电影一区| 成人三级伦理片| 日韩天堂在线观看| 日韩欧美另类在线| 一区二区三区中文字幕电影| 国产精品自在在线| 在线观看91av| 亚洲色图欧美在线| 国产一区二区在线视频| 欧美日韩三级一区| 国产精品免费人成网站| 美女网站色91| 欧美男同性恋视频网站| 亚洲四区在线观看| 国产不卡视频一区| 91免费观看视频在线| 欧美最猛性xxxxx直播| 欧美国产一区视频在线观看| 毛片基地黄久久久久久天堂| 欧洲av在线精品| 亚洲视频小说图片| 岛国av在线一区| 久久久久久久电影| 免费精品99久久国产综合精品| 91精品福利视频| 国产精品精品国产色婷婷| 国产一区二区三区四区五区美女 | 激情偷乱视频一区二区三区| 欧美日韩高清不卡| 一个色综合网站| 97精品国产97久久久久久久久久久久| 久久蜜臀中文字幕| 国产在线观看免费一区| 欧美成人一区二区三区在线观看| 亚洲成人动漫一区| 欧美美女网站色| 香蕉av福利精品导航| 欧美日韩精品欧美日韩精品| 亚洲综合av网| 欧美在线视频全部完| 亚洲综合一区在线| 欧美日韩在线免费视频| 亚洲国产精品一区二区久久| 欧美自拍偷拍一区| 亚洲午夜激情网站| 欧美日韩成人综合在线一区二区 | 蜜臀av一区二区在线观看| 欧美日本在线播放| 日韩精品一级中文字幕精品视频免费观看 | 国产在线不卡一区| 国产亚洲福利社区一区| 大陆成人av片| 亚洲人成人一区二区在线观看| 91偷拍与自偷拍精品| 夜色激情一区二区| 欧美精品少妇一区二区三区| 日韩av二区在线播放| 欧美不卡一二三| 高清日韩电视剧大全免费| 国产精品久久福利| 日本道色综合久久| 五月天视频一区| 精品久久久久久久人人人人传媒 | 欧美精品久久久久久久多人混战| 亚洲成人综合在线| 日韩欧美一区二区在线视频| 精一区二区三区| 中文字幕免费一区| 色噜噜狠狠色综合中国| 午夜精品久久久久| 久久久www成人免费无遮挡大片| a在线欧美一区| 亚洲成a人片在线观看中文| 日韩精品一区二区三区视频 | 欧美二区乱c少妇| 精品制服美女久久| 国产精品免费看片| 欧美精品1区2区3区| 国产在线视频一区二区三区| ●精品国产综合乱码久久久久| 欧美日韩在线综合| 国产一区二区三区高清播放| 日韩伦理电影网| 日韩一区二区在线播放| 福利一区在线观看| 亚洲一二三级电影| 精品不卡在线视频| 91在线精品一区二区| 免费观看日韩电影| 最新国产成人在线观看| 日韩精品一区二区三区四区视频 | 亚洲国产精品人人做人人爽| 精品国产乱码久久久久久1区2区| 9久草视频在线视频精品| 天天操天天干天天综合网| 国产色91在线| 91麻豆精品久久久久蜜臀| 99riav久久精品riav| 麻豆一区二区三| 一区二区在线观看av| 精品国内二区三区| 欧美日韩亚洲综合在线 | 看片的网站亚洲| zzijzzij亚洲日本少妇熟睡| 午夜国产不卡在线观看视频| 日本一区二区动态图| 欧美一区二区女人| 国产一区二区三区久久久| 亚洲高清免费观看高清完整版在线观看|