Version 0.5.0 of tinydtls
Dependents: tinydtls_test_cellular tinydtls_test_ethernet tiny-dtls
Diff: dtls_time.h
- Revision:
- 0:ff9ebe0cf0e9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dtls_time.h Fri Oct 18 13:18:30 2013 +0000 @@ -0,0 +1,78 @@ +/* dtls -- a very basic DTLS implementation + * + * Copyright (C) 2011--2013 Olaf Bergmann <bergmann@tzi.org> + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/** + * @file dtls_time.h + * @brief Clock Handling + */ + +#ifndef _DTLS_TIME_H_ +#define _DTLS_TIME_H_ + +#include "config.h" + +#ifdef HAVE_SYS_TIME_H +#ifndef MBED +#include <sys/time.h> +#else +#include <time.h> +#endif +#endif /* HAVE_SYS_TIME_H */ + +/** + * @defgroup clock Clock Handling + * Default implementation of internal clock. You should redefine this if + * you do not have time() and gettimeofday(). + * @{ + */ + +#ifdef WITH_CONTIKI +#include "clock.h" + +typedef clock_time_t dtls_tick_t; +#else /* WITH_CONTIKI */ + +#ifdef HAVE_TIME_H +#include <time.h> +#endif + +#ifndef CLOCK_SECOND +# define CLOCK_SECOND 1000 +#endif + +typedef unsigned int dtls_tick_t; + +#endif /* WITH_CONTIKI */ + +#ifndef DTLS_TICKS_PER_SECOND +#define DTLS_TICKS_PER_SECOND CLOCK_SECOND +#endif /* DTLS_TICKS_PER_SECOND */ + +void dtls_clock_init(void); +void dtls_ticks(dtls_tick_t *t); + +/** @} */ + +#endif /* _DTLS_TIME_H_ */