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