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

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

?? usrwdb.c

?? ppc 8245 可編譯bsp 包括 uart
?? C
?? 第 1 頁 / 共 3 頁
字號:
	(*wdbCreateHook) (&createdCtx, &creationCtx);	}    return (OK);    }/******************************************************************************** vxTaskCreateHookAdd - install WDB task create hook.** This routine installs or remove the WDB task create hook. ** RETURNS : OK always.*/ LOCAL STATUS vxTaskCreateHookAdd    (    void	(*hook)()    )    {    static int initialized = FALSE;    wdbCreateHook = hook;    if ((hook == NULL) && initialized)	/* remove task creation hook */	{	taskCreateHookDelete (__wdbTaskCreateHook);	initialized = FALSE;	}    else if (!initialized)		/* install task creation hook */	{	taskCreateHookAdd (__wdbTaskCreateHook);	initialized = TRUE;	}    return (OK);    }/******************************************************************************** wdbRtIfInit - Initialize pointers to the VxWorks routines.*/LOCAL void wdbRtIfInit ()    {    int 	ix = 0;    WDB_RT_IF *	pRtIf = &wdbRtIf;    bzero ((char *)pRtIf, sizeof (WDB_RT_IF));    pRtIf->rtInfoGet	= wdbRtInfoGet;    pRtIf->reboot	= vxReboot;    pRtIf->cacheTextUpdate = (void (*)())cacheLib.textUpdateRtn;    pRtIf->memProtect   = vxMemProtect;    pRtIf->memProbe	= (STATUS (*)())vxMemProbe;    pRtIf->excHookAdd	= vxExcHookAdd;#ifdef	INCLUDE_VXWORKS_KERNEL    pRtIf->taskCreate	= vxTaskCreate;    pRtIf->taskResume	= vxTaskResume;    pRtIf->taskSuspend	= vxTaskSuspend;    pRtIf->taskDelete	= vxTaskDelete;    pRtIf->taskLock	= (VOIDFUNCPTR) taskLock;    pRtIf->taskUnlock	= (VOIDFUNCPTR) taskUnlock;    pRtIf->taskRegsSet	= vxTaskRegsSet;    pRtIf->taskRegsGet  = vxTaskRegsGet;    pRtIf->malloc	= malloc;    pRtIf->free		= free;    pRtIf->semCreate	= vxSemCreate;    pRtIf->semGive	= vxSemGive;    pRtIf->semTake	= vxSemTake;    pRtIf->taskDeleteHookAdd	= vxTaskDeleteHookAdd;    pRtIf->taskSwitchHookAdd	= (STATUS (*)())taskSwitchHookAdd;    pRtIf->taskCreateHookAdd	= vxTaskCreateHookAdd;#endif	/* INCLUDE_VXWORKS_KERNEL */    /* first check if boot line is empty (eg : no network) */    if (*sysBootLine != EOS)	{	for (ix = 0; ix < MAX_LEN; ix ++)	    {	    if (*(sysBootLine + ix) == ')')		{		ix++;		break;		}	    }	bcopy (sysBootLine + ix, vxBootFile, MAX_LEN - ix);	for (ix = 0; ix < MAX_LEN - 1; ix ++)	    {	    if (*(vxBootFile + ix) == ' ')		break;	    }	}    *(vxBootFile + ix) = '\0';    wdbInstallRtIf (pRtIf);    }/******************************************************************************** wdbCommIfInit - Initialize the agent's communction interface** RETURNS : OK or error if we can't initialize the communication interface.** NOMANUAL*/LOCAL STATUS wdbCommIfInit ()    {    static uint_t	wdbInBuf	  [WDB_MTU/4];    static uint_t	wdbOutBuf	  [WDB_MTU/4];    static WDB_XPORT	wdbXport;    static WDB_COMM_IF	wdbCommIf;    WDB_COMM_IF * pCommIf = &wdbCommIf;    wdbMbufInit ();#if	(WDB_COMM_TYPE == WDB_COMM_NETWORK)    /* UDP sockets - supports a task agent */    if (wdbUdpSockIfInit (pCommIf) == ERROR)	return (ERROR);#endif	/* (WDB_COMM_TYPE == WDB_COMM_NETWORK) */#if	(WDB_COMM_TYPE == WDB_COMM_TYCODRV_5_2)    {    /* SLIP lite built on a VxWorks serial driver - supports a task agent */    static WDB_TYCO_SIO_CHAN tyCoSioChan;	/* serial I/O device */    static WDB_SLIP_PKT_DEV  wdbSlipPktDev;	/* SLIP packet device */    if (wdbTyCoDevInit	(&tyCoSioChan, WDB_TTY_DEV_NAME, WDB_TTY_BAUD))	return (ERROR);#ifdef	INCLUDE_WDB_TTY_TEST    wdbSioTest ((SIO_CHAN *)&tyCoSioChan, SIO_MODE_INT, 0);#endif	/* INCLUDE_WDB_TTY_TEST */    wdbSlipPktDevInit	(&wdbSlipPktDev, (SIO_CHAN *)&tyCoSioChan, udpRcv);    if (udpCommIfInit (pCommIf, &wdbSlipPktDev.wdbDrvIf))	return (ERROR);    }#endif	/* (WDB_COMM_TYPE == WDB_COMM_TYCODRV_5_2) */#if	(WDB_COMM_TYPE == WDB_COMM_ULIP)    {    /* ULIP packet driver (VxSim only) - supports task or external agent */    static WDB_ULIP_PKT_DEV	wdbUlipPktDev;	/* ULIP packet device */    wdbUlipPktDevInit (&wdbUlipPktDev, WDB_ULIP_DEV, udpRcv);    if (udpCommIfInit (pCommIf, &wdbUlipPktDev.wdbDrvIf))	return (ERROR);    }#endif	/* (WDB_COMM_TYPE == WDB_COMM_ULIP) */#if	(WDB_COMM_TYPE == WDB_COMM_SERIAL)    {    /* SLIP-lite over a raw serial channel - supports task or external agent */    SIO_CHAN *			pSioChan;	/* serial I/O channel */    static WDB_SLIP_PKT_DEV	wdbSlipPktDev;	/* SLIP packet device */    if ((pSioChan = sysSerialChanGet (WDB_TTY_CHANNEL)) == (SIO_CHAN *)ERROR)	return (ERROR);    sioIoctl (pSioChan, SIO_BAUD_SET, (void *)WDB_TTY_BAUD);#ifdef	INCLUDE_WDB_TTY_TEST    /* test in polled mode if the kernel hasn't started */    if (taskIdCurrent == 0)	wdbSioTest (pSioChan, SIO_MODE_POLL, 0);    else	wdbSioTest (pSioChan, SIO_MODE_INT, 0);#endif	/* INCLUDE_WDB_TTY_TEST */    wdbSlipPktDevInit (&wdbSlipPktDev, pSioChan, udpRcv);    if (udpCommIfInit (pCommIf, &wdbSlipPktDev.wdbDrvIf))	return (ERROR);#if (CPU==SIMHPPA)    sysSerialWDBSetup ();#endif /* CPU==SIMHPPA */    }#endif	/* (WDB_COMM_TYPE == WDB_COMM_SERIAL) */#if     (WDB_COMM_TYPE == WDB_COMM_NETROM)    {    /* netrom packet driver - supports task or external agent */    int dpOffset;				/* offset of dualport RAM */    static WDB_NETROM_PKT_DEV	wdbNetromPktDev; /* NETROM packet device */    dpOffset = (WDB_NETROM_ROMSIZE - DUALPORT_SIZE) * WDB_NETROM_WIDTH;    wdbNetromPktDevInit (&wdbNetromPktDev, (caddr_t)ROM_BASE_ADRS + dpOffset,			 WDB_NETROM_WIDTH, WDB_NETROM_INDEX,			 WDB_NETROM_NUM_ACCESS, udpRcv,			 WDB_NETROM_POLL_DELAY);    if (udpCommIfInit (pCommIf, &wdbNetromPktDev.wdbDrvIf))	return (ERROR);    }#endif  /* (WDB_COMM_TYPE == WDB_COMM_NETROM) */#if     (WDB_COMM_TYPE == WDB_COMM_CUSTOM)    {    /* custom packet driver - supports task or external agent */    static WDB_CUSTOM_PKT_DEV	wdbCustomPktDev; /* custom packet device */    wdbCustomPktDevInit (&wdbCustomPktDev, udpRcv);    if (udpCommIfInit (pCommIf, &wdbCustomPktDev.wdbDrvIf) == ERROR)	return (ERROR);    }#endif  /* (WDB_COMM_TYPE == WDB_COMM_CUSTOM) */#if	(WDB_COMM_TYPE == WDB_COMM_END)    {#ifndef WDB_COMM_END_ENTRY#define WDB_COMM_END_ENTRY 0#endif /* WDB_COMM_END_ENTRY */    /* END agent - supports a network MUX/END agent */    static WDB_END_PKT_DEV wdbEndPktDev; /* END packet device */    END_TBL_ENTRY* pDevTbl = endDevTbl;    END_OBJ* pEnd = NULL;    char devName[END_NAME_MAX];        netLibInit();    muxMaxBinds = MUX_MAX_BINDS;    if (muxLibInit() == ERROR)	return (ERROR);    /* Add in mux functionality. */    if (!pDevTbl->processed)        {	void *pCookie=0;        pCookie = muxDevLoad(pDevTbl->unit,                             pDevTbl->endLoadFunc,                             pDevTbl->endLoadString,                             pDevTbl->endLoan, pDevTbl->pBSP);        if (pCookie == NULL)            {            if (_func_logMsg != NULL)                _func_logMsg ("muxLoad failed!\n", 0, 0, 0, 0, 0, 0);            return (ERROR);            }        else            {            pDevTbl->processed = TRUE;            if (muxDevStart(pCookie) != OK)                {                if (_func_logMsg != NULL)                    _func_logMsg ("muxDevStart failed!\n", 0, 0, 0, 0, 0, 0);                return (ERROR);                }            }        }    /* get the name for the END */    bzero ((char *)&devName, END_NAME_MAX);    if (pDevTbl->endLoadFunc((char *)&devName, NULL) != 0)	{	if (_func_logMsg != NULL)	    _func_logMsg ("could not get device name!\n", 0, 0, 0, 0, 0, 0);            return (ERROR);	}    pEnd = endFindByName (devName, pDevTbl->unit);            if (pEnd == NULL)	{	if (_func_logMsg != NULL)	    _func_logMsg ("Could not find device %s unit 0!\n",			  devName, 0, 0, 0, 0, 0);            return (ERROR);	}        wdbEndPktDevInit(&wdbEndPktDev, udpRcv,                     (char *)pEnd->devObject.name,                     pEnd->devObject.unit);    if (udpCommIfInit(pCommIf, &wdbEndPktDev.wdbDrvIf) == ERROR)	return (ERROR);    }#endif	/* (WDB_COMM_TYPE == WDB_COMM_END) */#if     (WDB_COMM_TYPE == WDB_COMM_PIPE)    {    static WDB_PIPE_PKT_DEV wdbPipePktDev; /* Pipe packet device */    if (wdbPipePktDevInit(&wdbPipePktDev, udpRcv) == ERROR)	return (ERROR);    if (udpCommIfInit(pCommIf, &wdbPipePktDev.wdbDrvIf) == ERROR)	return (ERROR);    }#endif  /* (WDB_COMM_TYPE == WDB_COMM_PIPE) */    /*     * Install the agents communication interface and RPC transport handle.     * Currently only one agent will be active at a time, so both     * agents can share the same communication interface and XPORT handle.     */    wdbRpcXportInit  (&wdbXport, pCommIf, (char *)wdbInBuf,		      (char *)wdbOutBuf, WDB_MTU);    wdbInstallCommIf (pCommIf, &wdbXport);#if (CPU==SIMHPPA) && defined(INCLUDE_SLIP) && \			(WDB_COMM_TYPE == WDB_COMM_NETWORK)    {    UNIX_CHAN *pChan = (UNIX_CHAN *) sysSerialChanGet (SLIP_TTY);    /*     * Begin polling for connection request from tgtsvr.  This is necessary     * because an earlier connection may have left the pipe in a state in     * which SIGIO will not be generated until pipe is read.     */    wdSlipConnect = wdCreate ();    usrWdbPollForConnect (FD_TO_IVEC (pChan->u_fd));    }#endif	/* (CPU==SIMHPPA) && defined(INCLUDE_SLIP) ... */    return (OK);    }/******************************************************************************** wdbMbufInit - initialize the agent's mbuf memory allocator.** wdbMbufLib manages I/O buffers for the agent since the agent* can't use malloc().** If the agent is ever hooked up to a network driver that uses standard* MGET/MFREE for mbuf managment, then the routines wdbMBufAlloc()* and wdbMBufFree() below should be changed accordingly.*/ LOCAL void wdbMbufInit (void)    {    static struct mbuf mbufs[NUM_MBUFS];    static CL_BLK      wdbClBlks [WDB_NUM_CL_BLKS];    bufPoolInit (&wdbMbufPool, (char *)mbufs, NUM_MBUFS, sizeof (struct mbuf));    bufPoolInit (&wdbClBlkPool, (char *)wdbClBlks, WDB_NUM_CL_BLKS,                 sizeof (CL_BLK));    }/******************************************************************************** wdbMbufAlloc - allocate an mbuf** RETURNS: a pointer to an mbuf, or NULL on error.*/ struct mbuf *	wdbMbufAlloc (void)    {    struct mbuf * pMbuf;    CL_BLK_ID	  pClBlk;    pMbuf = (struct mbuf *)bufAlloc (&wdbMbufPool);    if (pMbuf == NULL)        return (NULL);     pClBlk = (CL_BLK_ID) bufAlloc (&wdbClBlkPool);        if (pClBlk == NULL)        {        wdbMbufFree (pMbuf);	return (NULL);        }    pMbuf->m_next	= NULL;    pMbuf->m_nextpkt	= NULL;    pMbuf->m_flags	= 0;    pMbuf->pClBlk 	= pClBlk;    return (pMbuf);    }/******************************************************************************** wdbMbufFree - free an mbuf*/ void wdbMbufFree    (    struct mbuf *	pMbuf		/* mbuf chain to free */    )    {    /* if it is a cluster, see if we need to perform a callback */    if (pMbuf->m_flags & M_EXT)	{	if (--(pMbuf->m_extRefCnt) <= 0)            {            if (pMbuf->m_extFreeRtn != NULL)                {                (*pMbuf->m_extFreeRtn) (pMbuf->m_extArg1, pMbuf->m_extArg2,                                         pMbuf->m_extArg3);                }            /* free the cluster blk */            bufFree (&wdbClBlkPool, (char *) pMbuf->pClBlk);            }	}    bufFree (&wdbMbufPool, (char *)pMbuf);    }#if (CPU==SIMHPPA) && defined(INCLUDE_SLIP) && \				(WDB_COMM_TYPE == WDB_COMM_NETWORK)/********************************************************************************  usrWdbPollForConnect - poll SLIP input pipe** INTERNAL* This routine is not normally part of a BSP.** RETURNS: N/A** NOMANUAL*/LOCAL void usrWdbPollForConnect    (    int slipIntr                                /* SLIP interrupt number */    )    {    intCatch (slipIntr);                        /* fake I/O interrupt */    if (wdbTargetIsConnected ())	{	wdDelete (wdSlipConnect);               /* stop polling */	s_asyncio (0);	s_asyncio (1);	}    else	wdStart (wdSlipConnect, sysClkRateGet() * 3,			(FUNCPTR) usrWdbPollForConnect, slipIntr);    }#endif /* (CPU==SIMHPPA) && defined(INCLUDE_SLIP) */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女久久福利网站 | 91小视频免费看| 欧洲av在线精品| 久久综合色鬼综合色| 亚洲国产精品久久久久婷婷884 | 国产午夜精品一区二区三区嫩草| 亚洲午夜在线视频| 99视频在线观看一区三区| 欧美成人精品福利| 五月天国产精品| 92国产精品观看| 国产亚洲污的网站| 美国十次了思思久久精品导航| 欧美在线观看视频一区二区 | 欧美va亚洲va| 免费成人在线影院| 91精品国产欧美一区二区成人| 中文字幕一区二区三区蜜月| 国产精品夜夜爽| 欧美精品一区二区不卡| 久久电影网电视剧免费观看| 欧美日韩国产美| 高清在线成人网| 精品久久人人做人人爽| 蜜桃一区二区三区四区| 日韩一区二区电影在线| 日本中文字幕一区二区有限公司| 欧美三电影在线| 一区二区在线观看视频| 在线精品观看国产| 亚洲成av人影院在线观看网| 欧洲视频一区二区| 亚洲成人自拍偷拍| 91精品黄色片免费大全| 免费观看在线色综合| 欧美videofree性高清杂交| 美女脱光内衣内裤视频久久网站| 日韩欧美电影一区| 久久国产精品99久久人人澡| 欧美成人video| 韩国欧美国产1区| 国产午夜精品一区二区| av在线一区二区三区| 亚洲欧美日韩系列| 欧美性xxxxxxxx| 日韩av电影一区| 国产三级精品视频| aaa欧美大片| 亚洲一区二区三区自拍| 这里只有精品免费| 国产一区在线看| 亚洲欧美偷拍卡通变态| 欧美亚洲另类激情小说| 免费在线观看日韩欧美| 国产日产欧美一区二区视频| 一本大道综合伊人精品热热 | 99亚偷拍自图区亚洲| 亚洲制服丝袜一区| 日韩精品中文字幕一区 | 欧美激情一区二区在线| eeuss鲁片一区二区三区 | 亚洲视频综合在线| 91精品国产一区二区| 国产老肥熟一区二区三区| 亚洲精品视频一区二区| 日韩欧美你懂的| 一本色道久久综合亚洲91| 免费人成黄页网站在线一区二区| 国产亚洲欧美一级| 欧美曰成人黄网| 国产精品综合一区二区| 亚洲成av人影院| 国产精品色在线观看| 欧美一区二区三区性视频| 国产·精品毛片| 日本伊人午夜精品| 亚洲特级片在线| 精品99一区二区| 欧美伊人精品成人久久综合97| 激情综合五月天| 亚洲午夜久久久久中文字幕久| 久久久www免费人成精品| 欧美视频一二三区| 成人教育av在线| 精品一区二区三区免费播放| 国产成a人无v码亚洲福利| 日韩国产在线一| 一区二区三区在线播放| 国产清纯美女被跳蛋高潮一区二区久久w | 一本色道久久综合狠狠躁的推荐| 久草在线在线精品观看| 亚洲午夜激情网页| **网站欧美大片在线观看| 久久综合九色综合欧美亚洲| 欧美高清视频一二三区 | 麻豆精品视频在线观看免费| 亚洲一区二区在线免费观看视频| 国产女同性恋一区二区| 日韩免费观看高清完整版| 在线观看一区二区精品视频| 97精品久久久久中文字幕| 成人激情综合网站| 成人精品高清在线| 成人黄色a**站在线观看| 国产精品中文字幕欧美| 国产最新精品免费| 国内精品国产成人国产三级粉色| 美女视频一区二区| 美洲天堂一区二卡三卡四卡视频| 调教+趴+乳夹+国产+精品| 亚洲人成7777| 樱花草国产18久久久久| 亚洲精品国产无天堂网2021| 亚洲免费色视频| 一区二区三区在线免费视频| 亚洲一区成人在线| 午夜欧美视频在线观看| 日韩高清一区在线| 青娱乐精品在线视频| 狠狠色狠狠色综合系列| 国产精品亚洲第一| 成人aa视频在线观看| 91在线丨porny丨国产| 色999日韩国产欧美一区二区| 在线观看不卡一区| 欧美一区二区三区在| 久久综合久色欧美综合狠狠| 国产亚洲污的网站| 亚洲三级视频在线观看| 亚洲午夜精品网| 精品制服美女丁香| 成人午夜电影网站| 在线精品视频一区二区| 日韩午夜av一区| 国产欧美精品国产国产专区| 亚洲精品午夜久久久| 日韩av电影一区| 成人黄页毛片网站| 欧美优质美女网站| 亚洲精品一线二线三线| 综合婷婷亚洲小说| 蜜桃久久久久久| 成人h动漫精品一区二区| 欧美综合天天夜夜久久| 欧美r级电影在线观看| 亚洲天堂2016| 老司机精品视频导航| 色综合天天做天天爱| 欧美xxxxx牲另类人与| 亚洲精品国产第一综合99久久| 捆绑变态av一区二区三区| 成人手机在线视频| 91精品在线观看入口| 最新中文字幕一区二区三区| av一区二区三区在线| 欧美一区二区播放| 中文字幕在线不卡一区二区三区| 日韩电影在线免费看| 91丨九色丨尤物| 精品入口麻豆88视频| 亚洲一区二区高清| eeuss鲁片一区二区三区在线观看| 欧美一区二区在线播放| 亚洲人成在线观看一区二区| 精品综合久久久久久8888| 欧美性极品少妇| 国产精品理论片| 激情国产一区二区| 欧美日韩精品电影| 亚洲精品视频观看| 成人黄色片在线观看| 久久亚洲综合色一区二区三区| 亚洲成人免费看| 欧美中文字幕一二三区视频| 国产精品污网站| 狠狠色狠狠色综合系列| 欧美一区二区美女| 一区二区高清视频在线观看| 成人看片黄a免费看在线| 精品欧美乱码久久久久久1区2区| 日韩专区欧美专区| 欧美日韩午夜在线视频| 亚洲一二三四久久| 91色婷婷久久久久合中文| 国产精品久久久久四虎| 国产成人免费av在线| 久久精品人人做人人爽97| 激情综合色播激情啊| 欧美一激情一区二区三区| 日韩电影在线免费| 亚洲乱码精品一二三四区日韩在线| 国产一区二区毛片| 久久久另类综合| 国产一区二区三区日韩| 久久久久九九视频| 国产精品中文字幕欧美| 中文久久乱码一区二区| 成人免费视频一区| 最新国产成人在线观看| 一本色道亚洲精品aⅴ|