OpenCores
URL https://opencores.org/ocsvn/igor/igor/trunk

Subversion Repositories igor

[/] [igor/] [trunk/] [avr/] [src/] [uip/] [timer.h] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 atypic
/**
2
 * \defgroup timer Timer library
3
 *
4
 * The timer library provides functions for setting, resetting and
5
 * restarting timers, and for checking if a timer has expired. An
6
 * application must "manually" check if its timers have expired; this
7
 * is not done automatically.
8
 *
9
 * A timer is declared as a \c struct \c timer and all access to the
10
 * timer is made by a pointer to the declared timer.
11
 *
12
 * \note The timer library uses the \ref clock "Clock library" to
13
 * measure time. Intervals should be specified in the format used by
14
 * the clock library.
15
 *
16
 * @{
17
 */
18
 
19
 
20
/**
21
 * \file
22
 * Timer library header file.
23
 * \author
24
 * Adam Dunkels <adam@sics.se>
25
 */
26
 
27
/*
28
 * Copyright (c) 2004, Swedish Institute of Computer Science.
29
 * All rights reserved.
30
 *
31
 * Redistribution and use in source and binary forms, with or without
32
 * modification, are permitted provided that the following conditions
33
 * are met:
34
 * 1. Redistributions of source code must retain the above copyright
35
 *    notice, this list of conditions and the following disclaimer.
36
 * 2. Redistributions in binary form must reproduce the above copyright
37
 *    notice, this list of conditions and the following disclaimer in the
38
 *    documentation and/or other materials provided with the distribution.
39
 * 3. Neither the name of the Institute nor the names of its contributors
40
 *    may be used to endorse or promote products derived from this software
41
 *    without specific prior written permission.
42
 *
43
 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
44
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
45
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
46
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
47
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
48
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
49
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
50
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
51
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
52
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
53
 * SUCH DAMAGE.
54
 *
55
 * This file is part of the uIP TCP/IP stack
56
 *
57
 * Author: Adam Dunkels <adam@sics.se>
58
 *
59
 * $Id: timer.h,v 1.3 2006/06/11 21:46:39 adam Exp $
60
 */
61
#ifndef __TIMER_H__
62
#define __TIMER_H__
63
 
64
#include "clock.h"
65
 
66
/**
67
 * A timer.
68
 *
69
 * This structure is used for declaring a timer. The timer must be set
70
 * with timer_set() before it can be used.
71
 *
72
 * \hideinitializer
73
 */
74
struct timer {
75
  clock_time_t start;
76
  clock_time_t interval;
77
};
78
 
79
void timer_set(struct timer *t, clock_time_t interval);
80
void timer_reset(struct timer *t);
81
void timer_restart(struct timer *t);
82
int timer_expired(struct timer *t);
83
 
84
#endif /* __TIMER_H__ */
85
 
86
/** @} */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.