uIP 1.0
|
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 /** @} */