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

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

?? nettimer.h

?? 一個tcp/ip協議棧,帶有PPP、IP、TCP、UDP等協議
?? H
字號:
/*****************************************************************************
* nettimer.h - Timer Services header file.
*
* Copyright (c) 1998 Global Election Systems Inc.
*
* The authors hereby grant permission to use, copy, modify, distribute,
* and license this software and its documentation for any purpose, provided
* that existing copyright notices are retained in all copies and that this
* notice and the following disclaimer are included verbatim in any 
* distributions. No written agreement, license, or royalty fee is required
* for any of the authorized uses.
*
* THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
* IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
* THEORY OF OPERATION
*
*   The timer subsystem is used for invoking functions after a specified delay.
* When a timer expires, the timer handling function is invoked with the
* arguement specified when the timer was set.
*
*	Timer records (referred to as "timers") are allocated by the calling
* function either statically or dynamically.  The record should be filled
* with null bytes before first being set.  Timers may be reset or cancelled
* before expiry.
*
******************************************************************************
* REVISION HISTORY
*
* 98-01-23 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc.
*	Original.
*****************************************************************************/

#ifndef NETTIMER_H
#define NETTIMER_H

#if defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
extern "C" {
#endif


/*************************
*** PUBLIC DEFINITIONS ***
*************************/
/* The maximum time delays.  The maximum useful delay is half of ULONG_MAX
 * because after this we wrap when compared with diffTime(). */
#define MAXJIFFYDELAY (ULONG_MAX/2)
#define MAXMILLIDELAY ULONG_MAX

/* Timer flags. */
#define TIMERFLAG_TEMP 1			/* Timer is temporary. */

typedef void (*TIMER_HANDLER_FUNCTION)(void*);

/************************
*** PUBLIC DATA TYPES ***
************************/
/* Timer record headers. */
typedef struct Timer_s
{
	struct Timer_s *timerNext;		/* Next timer in queue. */
	struct Timer_s *timerPrev;		/* Previous timer in queue. */
	u_short timerFlags;			/* Timer control flags. */
	ULONG expiryTime;			/* Expiry time in Jiffys. */
	TIMER_HANDLER_FUNCTION timerHandler;	/* Ptr to the timer handler function. */
	void *timerArg;				/* Argument passed to timer handler. */
	INT  timerCount;			/* Diagnostic usage count. */
} Timer;


/***********************
*** PUBLIC FUNCTIONS ***
***********************/
/*
 * timerInit - Initialize the timer timer subsystem.
 */
void timerInit(void);


/*
 * timerCreate - Initialize a timer record.  MUST be called before
 * setting that timer record.  MUST NOT be called on an active timer.
 */
#define timerCreate(t) memset((t), 0, sizeof(Timer))


/*
 * timerDelete - Clear a timer record.  MUST be called before the
 * memory for a timer record is altered by any non-timer function.
 * MUST NOT be called before the timer record has been created.
 */
#define timerDelete(t) timerClear(t)


/*
 * timeoutJiffy - Set a timer for a timeout in Jiffy time.  
 * A Jiffy is a system clock tick.  The timer will time out at the
 * specified system time.
 * RETURNS: Zero if OK, otherwise an error code.
 */
INT timeoutJiffy
(
	Timer *timerHdr,				/* Pointer to timer record. */
	ULONG timeout,					/* The timeout in Jiffy time. */
	void (* timerHandler)(void *),	/* The timer handler function. */
	void *timerArg					/* Arg passed to handler. */
);


/*
 * timerJiffys - Set a timer in Jiffys.  A Jiffy is a system clock
 * tick.  A delay of zero will invoke the timer handler on the next 
 * Jiffy interrupt.
 * RETURNS: Zero if OK, otherwise an error code.
 */
INT timerJiffys
(
	Timer *timerHdr,				/* Pointer to timer record. */
	ULONG timerDelay,				/* The delay value in Jiffys. */
	void (* timerHandler)(void *),	/* The timer handler function. */
	void *timerArg					/* Arg passed to handler. */
);

/*
 * timerSeconds - Set a timer in seconds.  A delay of zero will
 * invoke the timer handler on the next Jiffy interrupt.
 * RETURNS: Zero if OK, otherwise an error code.
 */
INT timerSeconds
(
	Timer *timerHdr,				/* Pointer to timer record. */
	ULONG timerDelay,				/* The delay value in seconds. */
	void (* timerHandler)(void *),	/* The timer handler function. */
	void *timerArg					/* Arg passed to handler. */
);


/*
 * timerTempSeconds - Get a temporary timer from the free list and set
 * it in seconds.  Note that you don't get a handle on the timer record.
 *  RETURNS: Zero if OK, otherwise an error code.
 */
INT timerTempSeconds
(
	ULONG timerDelay,				/* The delay value in seconds. */
	void (* timerHandler)(void *),	/* The timer handler function. */
	void *timerArg					/* Arg passed to handler. */
);


/*
 * timerClear() - Clear the given timer.
 */
void timerClear
(
	Timer *timerHdr					/* Pointer to timer record. */
);


/*
 *	timerCancel - Clear the first matching timer for the given function
 *	pointer and argument.
 */
void timerCancel(
	void (* timerHandler)(void *),	/* The timer handler function. */
	void *timerArg					/* Arg passed to handler. */
);

/*
 *	TIMEOUT and UNTIMEOUT support the BSD code timeouts.
 */
#define TIMEOUT(f, a, t)	timerTempSeconds((t), (f), (a))
#define UNTIMEOUT(f, a)		timerCancel((f), (a))

/*
 * timerCheck - If there are any expired timers, wake up the timer task.
 * This is designed to be called from within the Jiffy timer interrupt so
 * it has to have minimal overhead.
 */
void timerCheck(void);


#if defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus)
}
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文幕一区二区三区久久蜜桃| 久久嫩草精品久久久精品一| 成人午夜免费av| 成人污视频在线观看| 成人综合婷婷国产精品久久| 国产一区二区三区精品视频| 国产高清在线精品| 福利一区在线观看| 99国产精品国产精品久久| caoporn国产精品| 日本韩国精品一区二区在线观看| 777久久久精品| 91麻豆精品国产自产在线| 91精品国产品国语在线不卡| 日韩一区二区三区电影在线观看 | 亚洲欧美一区二区三区极速播放 | 亚洲黄色av一区| 三级在线观看一区二区| 久久精品国产免费看久久精品| 国产一区二区三区日韩| 国产成a人无v码亚洲福利| 99久久伊人精品| 正在播放亚洲一区| 久久久精品黄色| 亚洲综合激情另类小说区| 日韩精品免费视频人成| 国产ts人妖一区二区| 欧美主播一区二区三区| 精品国产免费一区二区三区四区| 国产精品国产三级国产专播品爱网| 亚洲精选视频免费看| 日韩av一区二区三区四区| 成人免费高清视频在线观看| 欧美日韩夫妻久久| 国产午夜精品理论片a级大结局| 亚洲精品美腿丝袜| 国产麻豆视频一区二区| 欧美综合天天夜夜久久| 久久精品综合网| 三级在线观看一区二区| 99国产精品国产精品毛片| 日韩一区二区在线免费观看| 亚洲视频一区二区在线| 国产综合久久久久久久久久久久 | 狠狠色狠狠色综合日日91app| 粉嫩av一区二区三区| 欧美精品高清视频| 最新成人av在线| 国产一区二区美女| 欧美日韩成人综合天天影院| 国产精品久久久99| 国产高清久久久久| 在线综合亚洲欧美在线视频| 亚洲欧美日韩国产成人精品影院| 精品写真视频在线观看| 欧美二区乱c少妇| 亚洲国产婷婷综合在线精品| 成人动漫av在线| 亚洲国产精品av| 国产二区国产一区在线观看| 日韩欧美中文字幕一区| 天堂av在线一区| 欧美色成人综合| 亚洲国产色一区| 91麻豆国产香蕉久久精品| 中文字幕一区二区视频| 成人在线综合网站| 国产精品久久久久7777按摩| 国产福利一区在线观看| 国产日韩av一区二区| 国产精品亚洲综合一区在线观看| 欧美va亚洲va在线观看蝴蝶网| 毛片av中文字幕一区二区| 在线不卡a资源高清| 天天爽夜夜爽夜夜爽精品视频| 欧美色综合网站| 天天综合日日夜夜精品| 欧美一区二区免费视频| 日本色综合中文字幕| 欧美va亚洲va在线观看蝴蝶网| 蜜臀a∨国产成人精品| 久久亚洲精华国产精华液| 国产原创一区二区| 国产精品三级久久久久三级| av激情亚洲男人天堂| 亚洲欧美视频在线观看视频| 91福利社在线观看| 日韩二区在线观看| 久久久久久久久久看片| 成人免费观看男女羞羞视频| 亚洲激情自拍视频| 91精品国产乱| 国产精品一卡二卡在线观看| 中文字幕中文在线不卡住| 在线观看视频91| 美女视频黄久久| 国产精品国产自产拍在线| 欧美手机在线视频| 国产精品中文字幕日韩精品| 国产精品日韩精品欧美在线| 欧美日韩在线亚洲一区蜜芽| 精品亚洲porn| 一区二区免费看| www日韩大片| 色偷偷久久一区二区三区| 毛片不卡一区二区| ...av二区三区久久精品| 91精品国产入口| 91一区二区三区在线观看| 麻豆国产欧美日韩综合精品二区| 国产视频一区不卡| 欧美精品在线一区二区三区| 国产又粗又猛又爽又黄91精品| 亚洲免费电影在线| 亚洲精品一区二区三区香蕉 | 制服丝袜中文字幕一区| 国产99精品在线观看| 首页欧美精品中文字幕| 亚洲三级电影网站| 精品国产sm最大网站| 欧美日韩激情在线| 成人va在线观看| 韩国成人精品a∨在线观看| 亚洲国产一区视频| 最新久久zyz资源站| 久久综合成人精品亚洲另类欧美 | 懂色一区二区三区免费观看| 亚洲 欧美综合在线网络| 国产精品美女久久久久av爽李琼| 日韩午夜激情电影| 欧美日韩精品欧美日韩精品一综合| 成人18精品视频| 国产精品77777| 精品无人区卡一卡二卡三乱码免费卡| 亚洲卡通欧美制服中文| 中文字幕在线一区| 国产色产综合色产在线视频| 精品国产乱码久久久久久闺蜜 | 久久精品一区蜜桃臀影院| 欧美高清一级片在线| 在线视频欧美区| 色吊一区二区三区| 97久久超碰国产精品电影| 大美女一区二区三区| 丁香激情综合国产| 国产成人av一区| 床上的激情91.| www.日韩大片| 色婷婷久久久综合中文字幕| 91在线免费视频观看| 9l国产精品久久久久麻豆| 国产xxx精品视频大全| 国产99久久久国产精品潘金网站| 国产成人夜色高潮福利影视| 国产精品66部| 成人app下载| 一本久久综合亚洲鲁鲁五月天| 99久久99久久久精品齐齐| 日本韩国欧美在线| 欧美日韩久久一区| 日韩欧美国产电影| 2014亚洲片线观看视频免费| 欧美精品一区二区不卡| 中文字幕欧美日韩一区| 1000部国产精品成人观看| 亚洲一区中文在线| 理论片日本一区| 国产精品一区在线观看乱码| 成人黄动漫网站免费app| 91美女片黄在线| 在线播放/欧美激情| 精品国产91九色蝌蚪| 日本一区二区不卡视频| 亚洲综合男人的天堂| 老汉av免费一区二区三区| 国产成人精品亚洲日本在线桃色| 91香蕉视频在线| 日韩一区二区三| 国产精品久久久久一区二区三区| 一区二区三区国产豹纹内裤在线| 日本成人在线看| av亚洲精华国产精华精华| 欧美日韩精品免费观看视频| 精品不卡在线视频| 亚洲激情第一区| 国产麻豆成人传媒免费观看| 色88888久久久久久影院野外| 91麻豆精品国产91| 欧美激情一二三区| 奇米影视一区二区三区| 成人丝袜18视频在线观看| 欧美久久高跟鞋激| 自拍偷拍国产精品| 精品写真视频在线观看| 色8久久人人97超碰香蕉987| 精品免费一区二区三区| 夜夜精品视频一区二区| 国产精品中文字幕日韩精品| 欧美视频日韩视频| 国产精品久久久久久久久久免费看 |