100 lines
3.0 KiB
C
100 lines
3.0 KiB
C
/******************************************************************************
|
|
*
|
|
* 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_ */
|