uIP 1.0
C:/asm/STM32-ethernet/ENC28J60prj/uip-master/uip/timer.h
См. документацию.
00001 /**
00002  * \defgroup timer Библиотека таймера
00003  *
00004  * Библиотека таймера предоставляет функции для установки, сброса 
00005  * и перезапуска таймеров, и для проверки - истек ли установленный
00006  * интервал таймера. Приложение должно само проверять, истек ли таймер,
00007  * это не делается автоматически.
00008  *
00009  * Таймер декларирован как структура \c struct \c timer и весь доступ
00010  * к таймеру делается по указателю к декларированному таймеру.
00011  *
00012  * \note Библиотека таймера использует \ref clock "Clock library" 
00013  * (библиотеку тактов) для измерения времени. Интервалы должны быть
00014  * указаны в формате, используемом в библиотеке тактов.
00015  *
00016  * @{
00017  */
00018 
00019 
00020 /**
00021  * \file
00022  * Заголовочный файл библиотеки таймера.
00023  * \author
00024  * Adam Dunkels <adam@sics.se>
00025  */
00026 
00027 /*
00028  * Copyright (c) 2004, Swedish Institute of Computer Science.
00029  * Все права зарезервированы. *
00030  * Повторное распространение, использование в исходном и двоичном виде,
00031  * с модификацией или без - разрешается, если выполняются следующие
00032  * условия:
00033  * 1. Распространение исходного кода должно сохранить вышеуказанную пометку
00034  *    копирайта, этот список условий и следующую правовую оговорку.
00035  * 2. Распространение исходного кода должно сохранить вышеуказанную пометку
00036  *    копирайта, этот список условий и следующую правовую оговорку в
00037  *    документации и/или других материалах, которые будут предоставлены
00038  *    вместе с распространяемыми материалами.
00039  * 3. Имя автора не может использоваться, чтобы подтвердить или продвинуть
00040  *    продукты, написанные с использованием этого программного обеспечения
00041  *    без специального на то разрешения.
00042  *
00043  * ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ АВТОРОМ ``КАК ЕСТЬ'', БЕЗ
00044  * КАКОЙ-ЛИБО ЛЮБОЙ РАСШИРЕННОЙ ИЛИ ПОДРАЗУМЕВАЕМОЙ ГАРАНТИИ, ВКЛЮЧАЯ,
00045  * НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ГАРАНТИИ ВЫСОКОГО СПРОСА И ПРИГОДНОСТИ
00046  * ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. АВТОР НИ ПРИ КАКИХ УСЛОВИЯХ НЕ ОТВЕТСТВЕНЕН
00047  * ЗА ЛЮБЫЕ УБЫТКИ - ПРЯМЫЕ, КОСВЕННЫЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ, ОБРАЗЦОВЫЕ
00048  * ИЛИ ПОСЛЕДОВАТЕЛЬНЫЕ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМ, ТРЕБОВАНИЯ
00049  * ЗАМЕНЫ ТОВАРА ИЛИ СЕРВИСА; ПОТЕРИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ВЫГОДЫ;
00050  * ИЛИ ПРЕКРАЩЕНИЕ БИЗНЕСА), ОДНАКО ВЫЗВАННЫЕ ПО ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ,
00051  * ЛИБО В КОНТРАКТЕ, ПРЯМОЙ ОТВЕТСТВЕННОСТИ, ЛИБО В НАРУШЕНИИ ЗАКОННЫХ ПРАВ
00052  * (ВКЛЮЧАЯ ТАК ИЛИ ИНАЧЕ НЕБРЕЖНОСТЬ), ВОЗНИКАЮЩИЕ ВСЕГДА ИЗ ИСПОЛЬЗОВАНИЯ
00053  * ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫЛО ПРЕДУПРЕЖДЕНИЕ О ВОЗМОЖНОСТИ
00054  * ТАКОГО ПОВРЕЖДЕНИЯ.
00055  *
00056  * Этот файл является частью стека uIP TCP/IP.
00057  *
00058  * Author: Adam Dunkels <adam@sics.se>
00059  *
00060  * $Id: timer.h,v 1.3 2006/06/11 21:46:39 adam Exp $
00061  */
00062 #ifndef __TIMER_H__
00063 #define __TIMER_H__
00064 
00065 #include "clock.h"
00066 
00067 /**
00068  * Таймер.
00069  *
00070  * Эта структура используется для декларирования таймера. Таймер должен быть
00071  * установлен функцией timer_set() перед тем, как его можно использовать.
00072  *
00073  * \hideinitializer
00074  */
00075 struct timer {
00076   clock_time_t start;
00077   clock_time_t interval;
00078 };
00079 
00080 void timer_set(struct timer *t, clock_time_t interval);
00081 void timer_reset(struct timer *t);
00082 void timer_restart(struct timer *t);
00083 int timer_expired(struct timer *t);
00084 
00085 #endif /* __TIMER_H__ */
00086 
00087 /** @} */