Mercurial > templog
comparison network/timer.h @ 107:56d09a0969b5 avr-http
Import uIP and the PPP implementation from
https://code.google.com/p/avrusbmodem/
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Fri, 07 Sep 2012 23:53:53 +0800 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
106:5c8404549cc0 | 107:56d09a0969b5 |
---|---|
1 /** | |
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 <[email protected]> | |
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 <[email protected]> | |
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 /** @} */ |