Annotation of embedaddon/mpd/src/timer.h, revision 1.1
1.1 ! misho 1:
! 2: /*
! 3: * timer.h
! 4: *
! 5: * Written by Archie Cobbs <archie@freebsd.org>
! 6: * Copyright (c) 1995-1999 Whistle Communications, Inc. All rights reserved.
! 7: * See ``COPYRIGHT.whistle''
! 8: */
! 9:
! 10: #ifndef _TIMER_H_
! 11: #define _TIMER_H_
! 12:
! 13: #include "defs.h"
! 14: #include "event.h"
! 15:
! 16: /*
! 17: * DEFINITIONS
! 18: */
! 19:
! 20: #define TICKSPERSEC 1000 /* Microsecond granularity */
! 21: #define SECONDS TICKSPERSEC /* Timers count in usec */
! 22:
! 23: struct pppTimer;
! 24: typedef struct pppTimer *PppTimer;
! 25:
! 26: struct pppTimer
! 27: {
! 28: EventRef event; /* Event registration */
! 29: u_int load; /* Initial load value */
! 30: void (*func)(void *arg); /* Called when timer expires */
! 31: void *arg; /* Arg passed to timeout function */
! 32: const char *desc;
! 33: const char *dbg;
! 34: };
! 35:
! 36: /*
! 37: * FUNCTIONS
! 38: */
! 39:
! 40: #define TimerInit(timer, desc, load, handler, arg) \
! 41: TimerInit2(timer, desc, load, handler, arg, #handler)
! 42: extern void TimerInit2(PppTimer timer, const char *desc,
! 43: int load, void (*handler)(void *), void *arg, const char *dbg);
! 44: #define TimerStart(t) \
! 45: TimerStart2(t, __FILE__, __LINE__)
! 46: extern void TimerStart2(PppTimer t, const char *file, int line);
! 47: #define TimerStartRecurring(t) \
! 48: TimerStartRecurring2(t, __FILE__, __LINE__)
! 49: extern void TimerStartRecurring2(PppTimer t, const char *file, int line);
! 50: #define TimerStop(t) \
! 51: TimerStop2(t, __FILE__, __LINE__)
! 52: extern void TimerStop2(PppTimer t, const char *file, int line);
! 53: extern int TimerRemain(PppTimer t);
! 54: extern int TimerStarted(PppTimer t);
! 55:
! 56: #endif
! 57:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>