| Stephen Hemminger | 5ad887f | 2007-09-15 19:35:14 -0400 | [diff] [blame] | 1 | /****************************************************************************** | 
|  | 2 | * | 
|  | 3 | * Name:	sktimer.h | 
|  | 4 | * Project:	Gigabit Ethernet Adapters, Event Scheduler Module | 
|  | 5 | * Version:	$Revision: 1.11 $ | 
|  | 6 | * Date:	$Date: 2003/09/16 12:58:18 $ | 
|  | 7 | * Purpose:	Defines for the timer functions | 
|  | 8 | * | 
|  | 9 | ******************************************************************************/ | 
|  | 10 |  | 
|  | 11 | /****************************************************************************** | 
|  | 12 | * | 
|  | 13 | *	(C)Copyright 1998-2002 SysKonnect GmbH. | 
|  | 14 | *	(C)Copyright 2002-2003 Marvell. | 
|  | 15 | * | 
|  | 16 | *	This program is free software; you can redistribute it and/or modify | 
|  | 17 | *	it under the terms of the GNU General Public License as published by | 
|  | 18 | *	the Free Software Foundation; either version 2 of the License, or | 
|  | 19 | *	(at your option) any later version. | 
|  | 20 | * | 
|  | 21 | *	The information in this file is provided "AS IS" without warranty. | 
|  | 22 | * | 
|  | 23 | ******************************************************************************/ | 
|  | 24 |  | 
|  | 25 | /* | 
|  | 26 | * SKTIMER.H	contains all defines and types for the timer functions | 
|  | 27 | */ | 
|  | 28 |  | 
|  | 29 | #ifndef	_SKTIMER_H_ | 
|  | 30 | #define _SKTIMER_H_ | 
|  | 31 |  | 
|  | 32 | #include "h/skqueue.h" | 
|  | 33 |  | 
|  | 34 | /* | 
|  | 35 | * SK timer | 
|  | 36 | * - needed wherever a timer is used. Put this in your data structure | 
|  | 37 | *   wherever you want. | 
|  | 38 | */ | 
|  | 39 | typedef	struct s_Timer SK_TIMER; | 
|  | 40 |  | 
|  | 41 | struct s_Timer { | 
|  | 42 | SK_TIMER	*TmNext;	/* linked list */ | 
|  | 43 | SK_U32		TmClass;	/* Timer Event class */ | 
|  | 44 | SK_U32		TmEvent;	/* Timer Event value */ | 
|  | 45 | SK_EVPARA	TmPara;		/* Timer Event parameter */ | 
|  | 46 | SK_U32		TmDelta;	/* delta time */ | 
|  | 47 | int			TmActive;	/* flag: active/inactive */ | 
|  | 48 | }; | 
|  | 49 |  | 
|  | 50 | /* | 
|  | 51 | * Timer control struct. | 
|  | 52 | * - use in Adapters context name pAC->Tim | 
|  | 53 | */ | 
|  | 54 | typedef	struct s_TimCtrl { | 
|  | 55 | SK_TIMER	*StQueue;	/* Head of Timer queue */ | 
|  | 56 | } SK_TIMCTRL; | 
|  | 57 |  | 
|  | 58 | extern void SkTimerInit(SK_AC *pAC, SK_IOC Ioc, int Level); | 
|  | 59 | extern void SkTimerStop(SK_AC *pAC, SK_IOC Ioc, SK_TIMER *pTimer); | 
|  | 60 | extern void SkTimerStart(SK_AC *pAC, SK_IOC Ioc, SK_TIMER *pTimer, | 
|  | 61 | SK_U32 Time, SK_U32 Class, SK_U32 Event, SK_EVPARA Para); | 
|  | 62 | extern void SkTimerDone(SK_AC *pAC, SK_IOC Ioc); | 
|  | 63 | #endif	/* _SKTIMER_H_ */ |