| /****************************************************************************** |
| * |
| * Name: sktimer.h |
| * Project: GEnesis, PCI Gigabit Ethernet Adapter |
| * Version: $Revision: 1.9 $ |
| * Date: $Date: 1999/11/22 14:00:29 $ |
| * Purpose: Defines for the timer functions |
| * |
| ******************************************************************************/ |
| |
| /****************************************************************************** |
| * |
| * (C)Copyright 1998,1999 SysKonnect, |
| * a business unit of Schneider & Koch & Co. Datensysteme GmbH. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * The information in this file is provided "AS IS" without warranty. |
| * |
| ******************************************************************************/ |
| |
| /****************************************************************************** |
| * |
| * History: |
| * |
| * $Log: sktimer.h,v $ |
| * Revision 1.9 1999/11/22 14:00:29 cgoos |
| * Changed license header to GPL. |
| * |
| * Revision 1.8 1998/09/08 08:48:02 gklug |
| * add: init level handling |
| * |
| * Revision 1.7 1998/08/20 12:31:29 gklug |
| * fix: SK_TIMCTRL needs to be defined |
| * |
| * Revision 1.6 1998/08/19 09:51:00 gklug |
| * fix: remove struct keyword from c-code (see CCC) add typedefs |
| * |
| * Revision 1.5 1998/08/17 13:43:21 gklug |
| * chg: Parameter will be union of 64bit para, 2 times SK_U32 or SK_PTR |
| * |
| * Revision 1.4 1998/08/14 07:09:31 gklug |
| * fix: chg pAc -> pAC |
| * |
| * Revision 1.3 1998/08/07 12:54:24 gklug |
| * fix: first compiled version |
| * |
| * Revision 1.2 1998/08/07 09:35:29 gklug |
| * add: Timer control struct for Adapters context |
| * add: function prototypes |
| * |
| * Revision 1.1 1998/08/05 11:27:01 gklug |
| * First version: adapted from SMT |
| * |
| * |
| ******************************************************************************/ |
| |
| /* |
| * SKTIMER.H contains all defines and types for the timer functions |
| */ |
| |
| #ifndef _SKTIMER_H_ |
| #define _SKTIMER_H_ |
| |
| #include "h/skqueue.h" |
| |
| /* |
| * SK timer |
| * - needed wherever a timer is used. Put this in your data structure |
| * wherever you want. |
| */ |
| typedef struct s_Timer SK_TIMER; |
| |
| struct s_Timer { |
| SK_TIMER *TmNext ; /* linked list */ |
| SK_U32 TmClass ; /* Timer Event class */ |
| SK_U32 TmEvent ; /* Timer Event value */ |
| SK_EVPARA TmPara ; /* Timer Event parameter */ |
| SK_U32 TmDelta ; /* delta time */ |
| int TmActive ; /* flag : active/inactive */ |
| } ; |
| |
| /* |
| * Timer control struct. |
| * - use in Adapters context name pAC->Tim |
| */ |
| typedef struct s_TimCtrl { |
| SK_TIMER *StQueue ; /* Head of Timer queue */ |
| } SK_TIMCTRL ; |
| |
| extern void SkTimerInit(SK_AC *pAC,SK_IOC Ioc, int Level); |
| extern void SkTimerStop(SK_AC *pAC,SK_IOC Ioc,SK_TIMER *pTimer); |
| extern void SkTimerStart(SK_AC *pAC,SK_IOC Ioc,SK_TIMER *pTimer, |
| SK_U32 Time,SK_U32 Class,SK_U32 Event,SK_EVPARA Para); |
| extern void SkTimerDone(SK_AC *pAC,SK_IOC Ioc); |
| #endif /* _SKTIMER_H_ */ |