source: rtems/c/src/exec/rtems/headers/clock.h @ 50cf94da

4.104.114.84.95
Last change on this file since 50cf94da was 60b791ad, checked in by Joel Sherrill <joel.sherrill@…>, on 02/17/98 at 23:46:28

updated copyright to 1998

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*  clock.h
2 *
3 *  This include file contains all the constants and structures associated
4 *  with the Clock Manager.  This manager provides facilities to set, obtain,
5 *  and continually update the current date and time.
6 *
7 *  This manager provides directives to:
8 *
9 *     + set the current date and time
10 *     + obtain the current date and time
11 *     + announce a clock tick
12 *
13 *
14 *  COPYRIGHT (c) 1989-1998.
15 *  On-Line Applications Research Corporation (OAR).
16 *  Copyright assigned to U.S. Government, 1994.
17 *
18 *  The license and distribution terms for this file may be
19 *  found in the file LICENSE in this distribution or at
20 *  http://www.OARcorp.com/rtems/license.html.
21 *
22 *  $Id$
23 */
24
25#ifndef __RTEMS_CLOCK_h
26#define __RTEMS_CLOCK_h
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#include <rtems/score/tod.h>
33#include <rtems/rtems/types.h>
34
35/*
36 *  List of things which can be returned by the rtems_clock_get directive.
37 */
38
39typedef enum {
40  RTEMS_CLOCK_GET_TOD,
41  RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH,
42  RTEMS_CLOCK_GET_TICKS_SINCE_BOOT,
43  RTEMS_CLOCK_GET_TICKS_PER_SECOND,
44  RTEMS_CLOCK_GET_TIME_VALUE
45} rtems_clock_get_options;
46
47/*
48 *  Standard flavor style to return TOD in for a rtems_clock_get option.
49 */
50
51typedef struct {
52  unsigned32  seconds;
53  unsigned32  microseconds;
54} rtems_clock_time_value;
55
56/*
57 *  rtems_clock_get
58 *
59 *  DESCRIPTION:
60 *
61 *  This routine implements the rtems_clock_get directive.  It returns
62 *  one of the following:
63 *    + current time of day
64 *    + seconds since epoch
65 *    + ticks since boot
66 *    + ticks per second
67 */
68
69rtems_status_code rtems_clock_get(
70  rtems_clock_get_options  option,
71  void              *time_buffer
72);
73
74/*
75 *  rtems_clock_set
76 *
77 *  DESCRIPTION:
78 *
79 *  This routine implements the rtems_clock_set directive.  It sets
80 *  the current time of day to that in the time_buffer record.
81 */
82
83rtems_status_code rtems_clock_set(
84  rtems_time_of_day *time_buffer
85);
86
87/*
88 *  rtems_clock_tick
89 *
90 *  DESCRIPTION:
91 *
92 *  This routine implements the rtems_clock_tick directive.  It is invoked
93 *  to inform RTEMS of the occurrence of a clock tick.
94 */
95
96rtems_status_code rtems_clock_tick( void );
97
98#ifdef __cplusplus
99}
100#endif
101
102#endif
103/* end of include file */
Note: See TracBrowser for help on using the repository browser.