uip_clock.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /**
  2. * \defgroup clock Clock interface
  3. *
  4. * The clock interface is the interface between the \ref timer "timer library"
  5. * and the platform specific clock functionality. The clock
  6. * interface must be implemented for each platform that uses the \ref
  7. * timer "timer library".
  8. *
  9. * The clock interface does only one this: it measures time. The clock
  10. * interface provides a macro, CLOCK_SECOND, which corresponds to one
  11. * second of system time.
  12. *
  13. * \sa \ref timer "Timer library"
  14. *
  15. * @{
  16. */
  17. /*
  18. * Copyright (c) 2004, Swedish Institute of Computer Science.
  19. * All rights reserved.
  20. *
  21. * Redistribution and use in source and binary forms, with or without
  22. * modification, are permitted provided that the following conditions
  23. * are met:
  24. * 1. Redistributions of source code must retain the above copyright
  25. * notice, this list of conditions and the following disclaimer.
  26. * 2. Redistributions in binary form must reproduce the above copyright
  27. * notice, this list of conditions and the following disclaimer in the
  28. * documentation and/or other materials provided with the distribution.
  29. * 3. Neither the name of the Institute nor the names of its contributors
  30. * may be used to endorse or promote products derived from this software
  31. * without specific prior written permission.
  32. *
  33. * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
  34. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  35. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  36. * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
  37. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  39. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  40. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  41. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  42. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  43. * SUCH DAMAGE.
  44. *
  45. * This file is part of the uIP TCP/IP stack
  46. *
  47. * Author: Adam Dunkels <adam@sics.se>
  48. *
  49. * $Id: clock.h,v 1.3 2006/06/11 21:46:39 adam Exp $
  50. */
  51. #ifndef __CLOCK_H__
  52. #define __CLOCK_H__
  53. #include "clock-arch.h"
  54. /**
  55. * Initialize the clock library.
  56. *
  57. * This function initializes the clock library and should be called
  58. * from the main() function of the system.
  59. *
  60. */
  61. void clock_init(void);
  62. /**
  63. * Get the current clock time.
  64. *
  65. * This function returns the current system clock time.
  66. *
  67. * \return The current clock time, measured in system ticks.
  68. */
  69. clock_time_t clock_time(void);
  70. /**
  71. * A second, measured in system clock time.
  72. *
  73. * \hideinitializer
  74. */
  75. #ifdef CLOCK_CONF_SECOND
  76. #define CLOCK_SECOND CLOCK_CONF_SECOND
  77. #else
  78. #define CLOCK_SECOND (clock_time_t)32
  79. #endif
  80. #endif /* __CLOCK_H__ */
  81. /** @} */