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