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

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

?? ticklib.c

?? vxwork源代碼
?? C
字號:
/* tickLib.c - clock tick support library *//* Copyright 1984-1994 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01q,22may02,jgn  add tick64Get() interface - SPR #7025501p,24jun96,sbs  made windview instrumentation conditionally compiled01o,24jan94,smb  added instrumentation macros01n,10dec93,smb  added instrumentation01m,20jan93,jdi  documentation cleanup for 5.1.01l,04jul92,jcf  private header files.01k,26may92,rrr  the tree shuffle01j,04oct91,rrr  passed through the ansification filter                  -changed functions to ansi style		  -changed VOID to void		  -changed copyright notice01i,30mar91,jdi  documentation cleanup; doc review by jcf.01h,29aug90,jcf  documentation.01g,10jul90,jcf  changed to support 64 bit internal tick count.01f,26jun90,jcf  removed queue overflow stuff.01e,28aug89,jcf  modified to support version 2.0 of wind.01d,23sep88,gae  documentation touchup.01c,23aug88,gae  documentation.01b,12aug88,jcf  clean up.01a,19jan87,jcf  written.*//*DESCRIPTIONThis library is the interface to the VxWorks kernel routines that announce aclock tick to the kernel, get the current time in ticks, and set thecurrent time in ticks.Kernel facilities that rely on clock ticks include taskDelay(), wdStart(),kernelTimeslice(), and semaphore timeouts.  In each case, the specifiedtimeout is relative to the current time, also referred to as "time to fire."Relative timeouts are not affected by calls to tickSet(), which only changesabsolute time.  The routines tickSet() and tickGet() keep track of absolutetime in isolation from the rest of the kernel.Time-of-day clocks or other auxiliary time bases are preferable for lengthytimeouts of days or more.  The accuracy of such time bases is greater, andsome external time bases even calibrate themselves periodically.INTERNAL:	WINDVIEW INSTRUMENTATIONLevel 1:	N/ALevel 2:	N/ALevel 3:	tickAnnounce() causes EVENT_TICKANNOUNCEINCLUDE FILES: tickLib.hSEE ALSO: kernelLib, taskLib, semLib, wdLib,.pG "Basic OS"*/#include "vxWorks.h"#include "tickLib.h"#include "taskLib.h"#include "private/windLibP.h"#include "private/workQLibP.h"#include "private/eventP.h"/* globals */ULONG	vxTicks;		/* current time in ticks */UINT64	vxAbsTicks;		/* absolute time since power on in ticks *//********************************************************************************* tickAnnounce - announce a clock tick to the kernel** This routine informs the kernel of the passing of time.  It should be* called from an interrupt service routine that is connected to the system* clock.  The most common frequencies are 60Hz or 100Hz.  Frequencies in* excess of 600Hz are an inefficient use of processor power because the* system will spend most of its time advancing the clock.  By default,* this routine is called by usrClock() in usrConfig.c.** RETURNS: N/A** SEE ALSO: kernelLib, taskLib, semLib, wdLib,* .pG "Basic OS"*/void tickAnnounce (void)    {#ifdef WV_INSTRUMENTATION    /* windview - level 3 event */    EVT_CTX_0 (EVENT_TICKANNOUNCE);#endif    if (kernelState)			/* defer work if in kernel */	workQAdd0 ((FUNCPTR)windTickAnnounce);    else	{	kernelState = TRUE;		/* KERNEL_ENT */	windTickAnnounce ();		/* advance tick queue */	windExit ();			/* KERNEL_EXIT */	}    }/********************************************************************************* tickSet - set the value of the kernel's tick counter** This routine sets the internal tick counter to a specified value in* ticks.  The new count will be reflected by tickGet(), but will not change* any delay fields or timeouts selected for any tasks.  For example, if a* task is delayed for ten ticks, and this routine is called to advance time,* the delayed task will still be delayed until ten tickAnnounce() calls have* been made.** RETURNS: N/A** SEE ALSO: tickGet(), tickAnnounce()** INTERNAL* The routine locks interrupts while obtaining the copy of the 64 value to* prevent an interrupt from splitting what is unlikely to be an atomic operation* on a 32 bit CPU.*/void tickSet    (    ULONG ticks         /* new time in ticks */    )    {    int key = intLock();		/* INTERRUPTS LOCKED */    vxAbsTicks = ticks;			/* effectively zero the upper bits */    intUnlock(key);			/* INTERRUPTS UNLOCKED */    }/********************************************************************************* tickGet - get the value of the kernel's tick counter** This routine returns the current value of the tick counter.* This value is set to zero at startup, incremented by tickAnnounce(),* and can be changed using tickSet().** RETURNS: The most recent tickSet() value, plus all tickAnnounce() calls since.** SEE ALSO: tickSet(), tickAnnounce()** INTERNAL* There should be no need to lock interrupts on this one; the compiler should* only generate a read from one half of the UINT64 which means that the read* can never be interrupted.*/ULONG tickGet (void)    {    return (ULONG) (vxAbsTicks & 0xFFFFFFFFull);    }/********************************************************************************* tick64Set - set the value of the kernel's tick counter in 64 bits** This routine sets the internal tick counter to a specified value in* ticks.  The new count will be reflected by tick64Get() and tickGet() (only* the lower 32 bits), but will not change any delay fields or timeouts selected* for any tasks.  For example, if a task is delayed for ten ticks, and this* routine is called to advance time, the delayed task will still be delayed* until ten tickAnnounce() calls have been made.** RETURNS: N/A** SEE ALSO: tick64Get(), tickGet(), tickSet(), tickAnnounce()** INTERNAL* The routine locks interrupts while obtaining the copy of the 64 value to* prevent an interrupt from splitting what is unlikely to be an atomic operation* on a 32 bit CPU.** NOMANUAL*/void tick64Set    (    UINT64 ticks         /* new time in ticks */    )    {    int key = intLock();			/* INTERRUPTS LOCKED */    vxAbsTicks = ticks;    intUnlock (key);				/* INTERRUPTS UNLOCKED */    }/********************************************************************************* tick64Get - get the value of the kernel's tick counter as a 64 bit value** This routine returns the current value of the 64 bit absolute tick counter.* This value is set to zero at startup, incremented by tickAnnounce(),* and can be changed using tickSet() or tick64Set().** RETURNS: The most recent tickSet()/tick64Set() value, plus all* tickAnnounce() calls since.** SEE ALSO: tickGet(), tick64Set(), tickSet(), tickAnnounce()** INTERNAL* The routine locks interrupts while obtaining the copy of the 64 value to* prevent an interrupt from splitting what is unlikely to be an atomic operation* on a 32 bit CPU.** NOMANUAL*/UINT64 tick64Get (void)    {    UINT64	ret;    int		key	= intLock();		/* INTERRUPTS LOCKED */    ret = vxAbsTicks;    intUnlock (key);				/* INTERRUPTS UNLOCKED */    return ret;    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色美美综合视频| 蜜臀久久久99精品久久久久久| 51精品秘密在线观看| 91久久久免费一区二区| 91麻豆成人久久精品二区三区| 成人黄色网址在线观看| 国产精品99久久久久久有的能看| 激情综合五月天| 国内精品自线一区二区三区视频| 国产一区美女在线| 懂色av一区二区三区蜜臀| 国产精品88av| 成人中文字幕合集| 在线观看一区不卡| 欧美视频在线不卡| 日韩视频免费观看高清在线视频| 欧美一区二区三区思思人| 2023国产精品自拍| 国产精品欧美综合在线| 一区二区三区国产精品| 亚洲小说春色综合另类电影| 午夜精品久久久久久久久久久| 免费观看一级特黄欧美大片| 黄页视频在线91| 成人久久久精品乱码一区二区三区| 国产一区二区三区日韩| 91免费观看在线| 欧美一区二区在线不卡| 欧美激情一区二区三区在线| 一区二区三区四区不卡视频| 麻豆91精品视频| 91在线视频官网| 欧美一区二区三区免费在线看 | 一区二区三区在线观看视频| 亚洲一区二区三区中文字幕在线 | www国产精品av| 亚洲美女屁股眼交| 精品系列免费在线观看| 成人精品国产免费网站| 在线观看视频一区二区| 国产视频一区二区在线| 午夜视频在线观看一区二区三区| 国产揄拍国内精品对白| 欧美日韩在线播放三区| 中文字幕一区二区三| 久久精品国产久精国产爱| 91在线视频18| 国产女主播在线一区二区| 日韩激情视频在线观看| 色乱码一区二区三区88 | a亚洲天堂av| 精品国产制服丝袜高跟| 中文字幕一区二区三区四区不卡 | 国产91精品一区二区麻豆亚洲| 色呦呦国产精品| 久久久久久影视| 蜜臀av国产精品久久久久 | 午夜欧美视频在线观看| 成人18视频日本| 国产亲近乱来精品视频| 久久国产福利国产秒拍| 欧美伦理电影网| 亚洲6080在线| 91成人在线精品| 一区二区激情小说| 色欧美日韩亚洲| 最新欧美精品一区二区三区| 成人av在线资源| 中文字幕一区免费在线观看| 成人性生交大片免费看中文网站| 久久久蜜桃精品| 国产91清纯白嫩初高中在线观看| 久久精品视频一区二区| 国产成人aaa| 一区免费观看视频| 91免费在线播放| 亚洲一区欧美一区| 欧美日韩在线免费视频| 亚洲三级电影网站| av一区二区三区四区| 国产精品成人在线观看| 91丨porny丨国产入口| 玉米视频成人免费看| 色婷婷精品大在线视频| 一区二区三区在线播| 欧美日韩国产另类不卡| 久久国产人妖系列| 欧美国产国产综合| 99久久综合99久久综合网站| 一区二区三区免费在线观看| 91精品中文字幕一区二区三区| 人人爽香蕉精品| 久久久久免费观看| 色婷婷久久久久swag精品| 婷婷成人激情在线网| 日韩欧美在线1卡| 丁香天五香天堂综合| 亚洲精品va在线观看| 欧美理论在线播放| 国产在线日韩欧美| 亚洲女子a中天字幕| 日韩一级片在线观看| 国产精品一区二区三区四区| 亚洲国产精华液网站w| 色先锋资源久久综合| 男人的天堂久久精品| 国产午夜精品久久久久久免费视| 91美女片黄在线观看| 婷婷六月综合网| 亚洲国产精品精华液2区45| 91丨九色丨尤物| 国精产品一区一区三区mba视频| 国产精品久久久久久久裸模| 欧美日韩大陆一区二区| 波多野结衣视频一区| 日本欧美肥老太交大片| 1区2区3区精品视频| 日韩亚洲欧美在线观看| 91免费看`日韩一区二区| 国内精品嫩模私拍在线| 亚洲大片精品永久免费| 中文一区二区在线观看| 日韩欧美一区二区三区在线| 在线观看日韩精品| 国产不卡视频在线播放| 久久er99热精品一区二区| 亚洲毛片av在线| 欧美国产精品专区| 欧美日韩和欧美的一区二区| 国产成人夜色高潮福利影视| 免费在线欧美视频| 亚洲精品成人精品456| 国产视频911| 日韩精品在线一区| 91.com在线观看| 欧美在线一区二区| 色偷偷一区二区三区| 波多野洁衣一区| 国产传媒日韩欧美成人| 久草在线在线精品观看| 日韩成人一级片| 免费在线观看不卡| 三级亚洲高清视频| 亚洲第一在线综合网站| 一区二区三区波多野结衣在线观看 | 色婷婷av一区二区三区软件| 99视频一区二区| av电影在线观看一区| 成人av电影免费在线播放| 国产精品一级二级三级| 精油按摩中文字幕久久| 久久成人免费电影| 久久99精品久久久久婷婷| 激情欧美一区二区三区在线观看| 蜜桃视频一区二区三区 | 99re这里只有精品首页| 成+人+亚洲+综合天堂| 成人黄色免费短视频| 97精品国产露脸对白| 色综合久久久久综合体| 在线观看视频91| 日韩一区二区精品葵司在线| 欧美电影免费观看高清完整版在线| 91精品国产综合久久香蕉的特点| 91精品啪在线观看国产60岁| 精品少妇一区二区三区视频免付费 | 一本久道久久综合中文字幕| 99久免费精品视频在线观看 | 另类综合日韩欧美亚洲| 精品一区在线看| 国产成a人亚洲精品| 91国偷自产一区二区开放时间 | 亚洲激情图片qvod| 亚洲国产日产av| 麻豆精品视频在线观看视频| 国产精品一区二区91| 色综合天天综合狠狠| 欧美日韩激情在线| 久久香蕉国产线看观看99| 亚洲欧洲国产专区| 亚洲国产裸拍裸体视频在线观看乱了| 美女视频免费一区| av成人动漫在线观看| 欧美精品亚洲二区| 欧美高清在线一区二区| 亚洲一二三四区不卡| 国产麻豆精品95视频| 日本高清不卡在线观看| 日韩免费电影一区| 一区二区欧美国产| 国产精品影视天天线| 欧美亚洲一区二区在线| 国产亚洲人成网站| 婷婷丁香久久五月婷婷| 国产一区二区三区在线观看免费| 色婷婷av一区二区三区软件| 国产午夜一区二区三区| 奇米综合一区二区三区精品视频| 成人免费视频一区| 精品电影一区二区|