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

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

?? ticklib.c

?? vxworks 5.5 kernel code
?? 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一区二区三区免费野_久草精品视频
国产成人综合自拍| 日本一区中文字幕| 色综合久久久久久久| 综合亚洲深深色噜噜狠狠网站| 国产精品一区在线观看你懂的| 2020国产精品自拍| 大白屁股一区二区视频| 国产精品成人免费在线| 欧美在线一二三| 午夜精品久久久久久久99樱桃| 日韩午夜在线观看| 国产一区二区三区在线观看免费| 欧美高清在线视频| 色婷婷亚洲综合| 日韩高清电影一区| 国产香蕉久久精品综合网| 91在线视频免费91| 午夜视频一区二区三区| 欧美成人r级一区二区三区| 国产一区二区0| 亚洲精品日韩一| 日韩一区二区三区观看| 国产·精品毛片| 亚洲线精品一区二区三区| 精品国产91洋老外米糕| 成人av网站在线观看| 亚洲二区视频在线| 久久综合网色—综合色88| 99久久综合精品| 日本三级韩国三级欧美三级| 久久久久久久久久久久久久久99| 不卡免费追剧大全电视剧网站| 亚洲香蕉伊在人在线观| 国产亚洲欧美中文| 欧美系列一区二区| 国产成人精品一区二| 亚洲一二三专区| 中文字幕av一区二区三区免费看 | 色网站国产精品| 成人精品高清在线| 亚洲成人av在线电影| 国产欧美日韩卡一| 欧美日韩精品一区二区| 成人免费毛片a| 美日韩一区二区| 亚洲伊人伊色伊影伊综合网| 久久久久一区二区三区四区| 欧美精品色综合| 91免费版在线看| 国产成人在线观看| 蜜臀av一区二区在线免费观看| 亚洲日本青草视频在线怡红院| 精品福利二区三区| 欧美精品三级日韩久久| 日本韩国一区二区三区| 粉嫩一区二区三区在线看| 日韩激情中文字幕| 亚洲成人资源网| 亚洲日本一区二区| 中文字幕一区二区三区四区不卡| 亚洲激情自拍视频| 丁香六月久久综合狠狠色| 亚洲一区在线看| 中文字幕一区二区日韩精品绯色 | 精品国产乱码久久久久久蜜臀 | 欧美日韩国产a| 国产美女精品在线| 美女脱光内衣内裤视频久久网站| 亚洲一区视频在线| 亚洲欧美激情视频在线观看一区二区三区| 欧美成人在线直播| 4438成人网| 欧美在线不卡一区| 色婷婷av一区| 91网址在线看| 91色在线porny| 99久久精品费精品国产一区二区| 国产成人av一区二区三区在线观看| 美女视频免费一区| 美女视频一区在线观看| 免费视频一区二区| 免费人成精品欧美精品| 日韩国产欧美在线播放| 蜜桃av一区二区| 久久精品国产99久久6| 久久精品国产久精国产爱| 麻豆国产一区二区| 国产一区二区久久| 国产91丝袜在线播放| 国产69精品久久久久777| 成人免费看黄yyy456| 97se亚洲国产综合自在线观| 色又黄又爽网站www久久| 一本色道久久综合狠狠躁的推荐| 色哟哟欧美精品| 欧美日韩三级在线| 欧美精品 国产精品| 欧美一区二区在线视频| 欧美成人国产一区二区| 欧美国产精品中文字幕| 亚洲日韩欧美一区二区在线| 亚洲午夜三级在线| 免费人成黄页网站在线一区二区| 日韩一区二区在线免费观看| 亚洲精品乱码久久久久久| 蜜臀国产一区二区三区在线播放| 日本不卡一二三| 国产一区高清在线| 99久久综合狠狠综合久久| 欧美无乱码久久久免费午夜一区 | 麻豆精品在线视频| 久久成人久久鬼色| 不卡欧美aaaaa| 欧美日韩不卡在线| 欧美电影免费提供在线观看| 中文字幕国产一区二区| 亚洲制服丝袜一区| 国产在线精品一区二区不卡了 | 91香蕉视频mp4| 日韩一区二区在线看| 中文字幕在线观看不卡| 日韩av网站免费在线| 成人一级黄色片| 欧美调教femdomvk| 国产午夜精品一区二区三区四区| 亚洲乱码国产乱码精品精的特点| 免费久久精品视频| 一本大道久久a久久精品综合| 日韩一区二区在线播放| 亚洲婷婷综合色高清在线| 久久精品国产久精国产| 欧美自拍偷拍一区| 久久免费视频色| 日韩有码一区二区三区| www.一区二区| 精品国产第一区二区三区观看体验| 亚洲色欲色欲www| 91网址在线看| 综合自拍亚洲综合图不卡区| 久久国产精品一区二区| 欧美日本视频在线| 一区二区三区不卡视频| 色激情天天射综合网| 国产拍欧美日韩视频二区| 欧美日韩一区精品| 91精品欧美一区二区三区综合在| 欧美精品一区二区三区久久久| 91精选在线观看| 欧亚洲嫩模精品一区三区| 亚洲国产一区视频| 久久综合九色综合97婷婷女人 | 91精品欧美久久久久久动漫| 久久久九九九九| 丁香婷婷综合网| 国产精品久久久一区麻豆最新章节| 亚洲精品国产视频| 成人免费视频国产在线观看| 亚洲成人久久影院| 欧美综合色免费| 久久99精品国产.久久久久久| 国产精品护士白丝一区av| 成人午夜av影视| 日韩精品三区四区| 国产色婷婷亚洲99精品小说| 国产露脸91国语对白| 亚洲国产精品ⅴa在线观看| 欧美一区在线视频| 色综合久久66| 91在线免费播放| 91麻豆自制传媒国产之光| 狠狠色伊人亚洲综合成人| 亚洲精品亚洲人成人网| 久久综合九色综合97_久久久| 欧美午夜宅男影院| 国产精品一区二区黑丝| 亚洲综合男人的天堂| 精品久久五月天| 欧美精品亚洲二区| 日本精品一区二区三区四区的功能| 日本午夜一区二区| 肉色丝袜一区二区| 久久精品国产77777蜜臀| 国产精品亲子伦对白| 欧美久久久一区| 在线免费精品视频| 成人av影院在线| 福利一区二区在线| 狠狠色丁香久久婷婷综合丁香| 午夜视频久久久久久| 国产精品久久久久久久久动漫| 欧美精品一区二区久久婷婷| 欧美一区二区三区四区五区| 一本色道a无线码一区v| 国内精品久久久久影院色| 国产精品天美传媒| 久久精品欧美一区二区三区不卡| 亚洲少妇最新在线视频| 蜜桃视频一区二区三区在线观看| 成人精品视频网站| 欧美在线一区二区三区|