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>