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

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

?? vxmiflib.c

?? vxworks的源代碼
?? C
字號:
/* vxmIfLib.c - interface library to VxM  *//* Copyright 1984-1993 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01h,17sep93,jcf  fixed include path.01g,07aug93,jcf  added vxmIfBreakQuery.01f,27jul93,jcf  added vxmIfTtyNum, and vxmIfIntAckSet.01e,07apr93,maf  now includes "vxmIfLibP2.h" from current directory, for		   compatibility with RDB build system.01d,06apr93,del  bullet-proofed interface funcs.01c,27mar93,del  use vxmIfLib.h for now, added functions. fixed bug		 in vxmIfInstalled ().01b,23aug92,jcf  removed VXM_IF_OPS typedef.01a,01aug92,del  created.*//*DESCRIPTION------------This is the interface library for VxE and VxM.*/#include "vxWorks.h"#include "taskLib.h"#include "types.h"#include "private/vxmIfLibP2.h"/* locals */VXM_IF_OPS		vxmIfOps;VXM_IF_OPS *		pVxmIfOps = &vxmIfOps;VXM_IF_ANCHOR *		pVxmIfAnchor;BOOL			vxmIfInitialized = FALSE;/* XXX string. for dbg purposes */IMPORT int 	intCnt;IMPORT BOOL 	kernelState; BOOL vxmIfBrkIgnore (int tid);/******************************************************************************** vxmIfInit - initialize the interface*/  STATUS vxmIfInit     (    VXM_IF_ANCHOR *	pAnchor    )    {    FUNCPTR	getFunc;    pVxmIfAnchor = pAnchor;    if (pVxmIfAnchor->ifMagic != VXM_IF_MAGIC)	return (ERROR);    /* the the interface access function from the anchor */    getFunc = pVxmIfAnchor->ifGetFunc;    /* initialize the interface operations using the access function */    vxmIfOps.vxmTblGet	   = getFunc;    vxmIfOps.vxmIntVecGet  = (FUNCPTR) (*getFunc) (VXM_IF_INT_VEC_GET_FUNC);    vxmIfOps.vxmIntVecSet  = (FUNCPTR) (*getFunc) (VXM_IF_INT_VEC_SET_FUNC);    vxmIfOps.vxmBufRead	   = (FUNCPTR) (*getFunc) (VXM_IF_BUF_RD_FUNC);    vxmIfOps.vxmBufWrite   = (FUNCPTR) (*getFunc) (VXM_IF_BUF_WRT_FUNC);    vxmIfOps.vxmWrtBufFlush =(FUNCPTR) (*getFunc) (VXM_IF_WRTBUF_FLUSH_FUNC);    vxmIfOps.vxmHostQuery  = (FUNCPTR) (*getFunc) (VXM_IF_QUERY_FUNC);    vxmIfOps.vxmClbkAdd    = (FUNCPTR) (*getFunc) (VXM_IF_CALLBACK_ADD_FUNC);    vxmIfOps.vxmClbkReady  = (FUNCPTR) (*getFunc) (VXM_IF_CALLBACK_STATE_FUNC);    vxmIfOps.vxmClbkQuery  = (FUNCPTR) (*getFunc) (VXM_IF_CALLBACK_QUERY_FUNC);    vxmIfOps.vxmEntHookSet = (FUNCPTR) (*getFunc) (VXM_IF_ENTER_HOOK_SET_FUNC);    vxmIfOps.vxmExitHookSet= (FUNCPTR) (*getFunc) (VXM_IF_EXIT_HOOK_SET_FUNC);    vxmIfOps.vxmIntLvlSet  = (FUNCPTR) (*getFunc) (VXM_IF_INT_LVL_SET_FUNC);    vxmIfOps.vxmExitFunc   = (FUNCPTR) (*getFunc) (VXM_IF_EXIT_FUNC);    vxmIfOps.vxmIntAckSet  = (FUNCPTR) (*getFunc) (VXM_IF_INT_ACK_SET_FUNC);    vxmIfOps.vxmTtyNum     = (FUNCPTR) (*getFunc) (VXM_IF_TTY_NUM_FUNC);    vxmIfOps.vxmBreakQuery = (FUNCPTR) (*getFunc) (VXM_IF_BREAK_QUERY_FUNC);#if CPU_FAMILY==I960    vxmIfOps.vxmFaultVecSet  = (FUNCPTR) (*getFunc) (VXM_IF_FLT_VEC_SET_FUNC);#endif /* CPU_FAMILY==I960 */    /* install internal debugger callback */    (* pVxmIfOps->vxmClbkAdd) (VXM_IF_CALLBACK_DBG, vxmIfBrkIgnore);    vxmIfInitialized = TRUE;    return (OK);    }/******************************************************************************** vxmIfInstalled - check for the presence of the ROM monitor.*/  BOOL vxmIfInstalled ()    {    if (pVxmIfAnchor->ifMagic != VXM_IF_MAGIC)	return (FALSE);    return (TRUE);    }/******************************************************************************** vxmIfEnterHookSet - set a hook called upon entrance to vxMon.*/  FUNCPTR vxmIfEnterHookSet     (    FUNCPTR 	hookFunc,    UINT32	hookArg    )    {    if (!vxmIfInitialized)	return ((FUNCPTR)NULL);    return ((FUNCPTR)(*pVxmIfOps->vxmEntHookSet) (hookFunc, hookArg));     }/******************************************************************************** vxmIfExitHookSet - set a hook called upon exit from vxMon.*/  FUNCPTR vxmIfExitHookSet     (    FUNCPTR 	hookFunc,    UINT32	hookArg    )    {    if (!vxmIfInitialized)	return ((FUNCPTR)NULL);    return ((FUNCPTR)(*pVxmIfOps->vxmExitHookSet) (hookFunc, hookArg));     }/******************************************************************************** vxmIfExit - Called by uWorks upon exit.** If uWorks is forced to abort, this function can be used to exit * gracefully via vxMon.*/  FUNCPTR vxmIfExit    (    UINT32	code    )    {    if (!vxmIfInitialized)	return ((FUNCPTR)NULL);    return ((FUNCPTR)(*pVxmIfOps->vxmExitFunc) (code));     }/******************************************************************************** vxmIfIntLvlSet - set interrupt level to use when in monitor.*/  UINT32 vxmIfIntLvlSet     (    UINT32	level    )    {    if (!vxmIfInitialized)	return ((UINT32)NULL);    return ((* pVxmIfOps->vxmIntLvlSet) (level));    }/******************************************************************************** vxmIfVecGet - get an interrupt vector via the ROM monitor.*/  FUNCPTR vxmIfVecGet     (    FUNCPTR * 	vec    )    {    if (!vxmIfInitialized)	return ((FUNCPTR)NULL);    return ((FUNCPTR)(* pVxmIfOps->vxmIntVecGet) (vec));     }/******************************************************************************** vxmIfVecSet - set an interrupt vector via the ROM monitor.*/  STATUS vxmIfVecSet     (    FUNCPTR * 	vec,    FUNCPTR	func    )    {    if (!vxmIfInitialized)	return ((STATUS)NULL);    return ((*pVxmIfOps->vxmIntVecSet) (vec, func));     }/******************************************************************************** vxmIfIntAckSet - update interrupt acknowledge table*/  STATUS vxmIfIntAckSet     (    UINT * 	ackTable    )    {    if (!vxmIfInitialized)	return (ERROR);    return ((*pVxmIfOps->vxmIntAckSet) (ackTable));     }/******************************************************************************** vxmIfTtyNum - return tty channel used by VxMon*/  int vxmIfTtyNum ()    {    if (!vxmIfInitialized)	return (ERROR);    return ((*pVxmIfOps->vxmTtyNum) ());     }/******************************************************************************** vxmIfHostQuery - query the host via VxM for input data.*/   BOOL vxmIfHostQuery ()    {    if (!vxmIfInitialized)	return ((BOOL)NULL);    return (* pVxmIfOps->vxmHostQuery) ();    }/******************************************************************************** vxmIfBreakQuery - query the host via VxM for ctrl-c support*/   STATUS vxmIfBreakQuery     (    FUNCPTR breakFunc    )    {    if (!vxmIfInitialized)	return ((BOOL)NULL);    return (* pVxmIfOps->vxmBreakQuery) (breakFunc);    }/******************************************************************************** vxmIfWrtBufFlush - flush the ROM monitor write buffer.*/  void vxmIfWrtBufFlush ()    {    if (!vxmIfInitialized)	return;    (* pVxmIfOps->vxmWrtBufFlush) ();    }/******************************************************************************** vxmIfBufRead - read a buffer of data from the ROM monitor.*/  int vxmIfBufRead    (    char *	pBuf,    int		nBytes    )    {    if (!vxmIfInitialized)	return (0);    return ((* pVxmIfOps->vxmBufRead) (pBuf, nBytes));    }/******************************************************************************** vxmIfBufWrite - write a buffer of data to the ROM monitor.*/  int vxmIfBufWrite    (    char *	pBuf,    int		nBytes    )    {    if (!vxmIfInitialized)	return (0);    return ((* pVxmIfOps->vxmBufWrite) (pBuf, nBytes));    }/******************************************************************************** vxmIfCallbackAdd - add a callback to the interface.*/  STATUS vxmIfCallbackAdd    (    int		funcNo,		/* callback function number */    FUNCPTR 	func,		/* callback function */    UINT32	arg,		/* required argument to pass */     UINT32	maxargs,	/* max. number of optional args */    UINT32	state		/* initial state of callback */    )    {    if (!vxmIfInitialized)	return ((STATUS)NULL);    return ((* pVxmIfOps->vxmClbkAdd) (funcNo, func, arg, maxargs, state));    }/******************************************************************************** vxmIfCallbackReady - set the state of the given callback to ready.**/  STATUS vxmIfCallbackReady     (    int	funcNo			/* number of callback */    )    {    if (!vxmIfInitialized)	return ((STATUS)NULL);    return ((* pVxmIfOps->vxmClbkReady) (funcNo));    }/******************************************************************************** vxmIfCallbackQuery - query the host for action on the given callback.* */  STATUS vxmIfCallbackQuery    (    int	funcNo			/* callback to query. */    )    {    if (!vxmIfInitialized)	return ((STATUS)NULL);    return ((* pVxmIfOps->vxmClbkQuery) (funcNo));    }/******************************************************************************** vxmIfBrkIgnore - callback from vxMon to see if breakpoint should be ignored.** Function installed in callback table but only called by the debugger in * vxMon to find out if a breakpoint should be ignored or taken.** Returns: TRUE if the breakpoint is to be ignored.*/  BOOL vxmIfBrkIgnore     (    int	tid			/* task id */    )    {    if (((intCnt > 0)) ||	((kernelState == TRUE)) ||	(((int)taskIdCurrent != tid)) ||	(((WIND_TCB *)tid)->options & VX_UNBREAKABLE) /* ||	((((WIND_TCB *)tid)->lockCnt != 0) && (dbgLockUnbreakable)) ||	((((WIND_TCB *)tid)->safeCnt != 0) && (dbgSafeUnbreakable))	XXX string where are dbgLockUn and dbgSafeUn set in vxWorks ? */)	{	return (TRUE);	}    else	return (FALSE);    }#if CPU_FAMILY==I960/******************************************************************************** vxmIfFaultVecSet - set a vector in the fault table via ROM monitor.** This routine sets a vector in the fault table.  The <vector> parameter is* the address of the fault handler to attach to <faultNo>, a number in the* fault table.  The <type> parameter specifies whether the vector should be* installed in the fault table as a local-call entry or as a system-call* entry.  (See Chapter 7, "Fault Handling" in the 80960CA manual).** NOTE* If the low-order 2 bits of the returned vector are 10b (0x02), the vector* was taken from 'sysProcTable' and should be reinstalled in 'faultTable'* with <type> set to SYS_SYSTEM_CALL_FAULT.** RETURNS: The previous vector for the specified <faultNo> as UINT32.** SEE ALSO:* .I "Intel 80960CA User's Manual"*/  UINT32 vxmIfFaultVecSet    (    INSTR	*vector,	/* fault handler address  */    UINT32	faultNo,	/* fault number to attach */    UINT32	type		/* type of fault call     */    )    {    if (!vxmIfInitialized)	return ((UINT32)NULL);    return ((vxmIfOps.vxmFaultVecSet) (vector, faultNo, type));     }#endif /* CPU_FAMILY==I960 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看精品一区| 99久久久久免费精品国产| 亚洲欧美日韩精品久久久久| 2021中文字幕一区亚洲| 欧美欧美午夜aⅴ在线观看| 成人免费视频免费观看| 国产乱人伦偷精品视频不卡| 国产在线不卡一卡二卡三卡四卡| 日韩精品一二区| 午夜视黄欧洲亚洲| 日韩精品一卡二卡三卡四卡无卡| 午夜在线成人av| 五月激情综合网| 日韩成人伦理电影在线观看| 免费成人在线播放| 国产一区不卡视频| 国产精品一区二区果冻传媒| 国产馆精品极品| 成人动漫一区二区三区| www.欧美精品一二区| jiyouzz国产精品久久| 99在线精品视频| 91色在线porny| 欧美性一二三区| 日韩欧美一区二区不卡| 久久看人人爽人人| 国产精品视频看| 亚洲欧美综合另类在线卡通| 亚洲乱码日产精品bd| 日韩国产高清影视| 九九**精品视频免费播放| 国产精品99久久久久久似苏梦涵 | 91国内精品野花午夜精品| 在线观看亚洲a| 日韩欧美色综合网站| 精品久久人人做人人爽| 国产精品黄色在线观看| 五月天激情小说综合| 国产真实乱偷精品视频免| 国产91精品一区二区| 欧亚洲嫩模精品一区三区| 日韩视频123| 欧美激情一区二区在线| 亚洲成av人片在线观看无码| 国产乱色国产精品免费视频| 日本道免费精品一区二区三区| 日韩欧美综合一区| 中文字幕一区二区三| 国产一区二区91| 欧美日本在线看| 国产精品不卡在线| 精彩视频一区二区| 欧美这里有精品| 久久精品日韩一区二区三区| 视频一区欧美日韩| 99精品欧美一区二区三区小说| 日韩一区二区在线免费观看| 亚洲一区二区三区四区在线| 国产成人亚洲综合a∨婷婷| 欧美精品 国产精品| 亚洲欧美一区二区视频| 国产一区视频在线看| 欧美巨大另类极品videosbest| 亚洲欧美在线高清| 成人性生交大片免费看视频在线| 日韩精品一区二区三区视频| 午夜精品123| 欧美色图天堂网| 一区二区中文视频| 国产精品原创巨作av| 日韩欧美一二三区| 日本系列欧美系列| 欧美亚洲免费在线一区| 樱桃视频在线观看一区| 91在线观看高清| 国产精品美女一区二区| 国产91精品精华液一区二区三区 | 亚洲精品日韩一| 高清在线不卡av| 国产亚洲欧美日韩在线一区| 久久国产福利国产秒拍| 91麻豆精品国产无毒不卡在线观看| 亚洲自拍偷拍欧美| 欧美亚洲一区二区在线观看| 亚洲午夜在线视频| 欧美精品在线观看播放| 五月综合激情网| 制服丝袜成人动漫| 欧美aⅴ一区二区三区视频| 555夜色666亚洲国产免| 日韩在线一二三区| 欧美精品一区二区蜜臀亚洲| 狠狠色综合播放一区二区| 欧美精品一区在线观看| 国产成人av影院| 亚洲国产成人私人影院tom| 国产99久久久国产精品潘金网站| 亚洲欧美综合色| 欧美日韩午夜在线视频| 日日夜夜免费精品| 久久新电视剧免费观看| 国产二区国产一区在线观看| 亚洲视频在线一区二区| 欧美伊人精品成人久久综合97| 男女性色大片免费观看一区二区| 日韩免费观看2025年上映的电影| 国产一区二区福利视频| 亚洲欧美成人一区二区三区| 欧美区视频在线观看| 激情文学综合插| 亚洲欧洲国产专区| 日韩欧美在线一区二区三区| 国产成人在线视频免费播放| 亚洲免费在线视频一区 二区| 欧美一区二区三区在线| 国产成都精品91一区二区三| 一区二区三区在线高清| 日韩午夜激情视频| 成人综合婷婷国产精品久久免费| 亚洲自拍欧美精品| 国产欧美一区二区在线| 欧美日韩一区二区三区不卡| 国产成人免费在线| 午夜欧美2019年伦理| 国产精品动漫网站| 日韩欧美自拍偷拍| 欧美天堂亚洲电影院在线播放| 国产麻豆精品一区二区| 亚洲午夜国产一区99re久久| 国产日韩欧美精品电影三级在线| 欧美日韩在线不卡| gogogo免费视频观看亚洲一| 九色综合国产一区二区三区| 午夜精品久久一牛影视| 自拍偷拍亚洲综合| 国产女人水真多18毛片18精品视频| 欧美美女一区二区| 日本韩国一区二区| 99国产精品久久久| 国产乱码一区二区三区| 免费成人在线影院| 午夜精品一区在线观看| 国产精品的网站| 国产午夜精品美女毛片视频| 6080yy午夜一二三区久久| 欧美图区在线视频| 日本精品视频一区二区| 成人免费va视频| 成人综合婷婷国产精品久久| 国产一区二区三区在线观看免费 | 精品一区二区三区久久| 午夜精品久久久久影视| 一个色综合网站| 亚洲摸摸操操av| 亚洲女人****多毛耸耸8| 国产精品短视频| 日韩一区欧美小说| 18欧美乱大交hd1984| 中文字幕日韩一区二区| 国产欧美视频在线观看| 久久久久久久久久看片| 精品欧美一区二区久久| 日韩一级完整毛片| 欧美成人r级一区二区三区| 91精品国产免费| 日韩精品一区二区三区中文不卡| 91精品国产欧美一区二区成人| 欧美一区二区视频在线观看2022| 欧美成人vr18sexvr| 欧美精品一区二区三区蜜桃视频 | 99re66热这里只有精品3直播| 粉嫩久久99精品久久久久久夜| 国产精品66部| 99国产精品国产精品久久| 91一区一区三区| 欧美视频自拍偷拍| 7777精品伊人久久久大香线蕉| 日韩精品一区二区三区三区免费| 欧美白人最猛性xxxxx69交| 国产亚洲成aⅴ人片在线观看| 国产欧美日韩一区二区三区在线观看| 欧美国产丝袜视频| 一区二区三区精密机械公司| 日韩国产精品91| 国产麻豆一精品一av一免费| 91麻豆产精品久久久久久| 欧美日韩高清影院| 26uuu国产日韩综合| 国产精品护士白丝一区av| 亚洲一级在线观看| 国产真实乱偷精品视频免| 91免费视频网址| 欧美一区日本一区韩国一区| 久久久精品欧美丰满| 亚洲bt欧美bt精品| 国产精品538一区二区在线| 欧美日韩一区二区三区在线看| 久久人人97超碰com| 亚洲第一狼人社区| 福利视频网站一区二区三区|