1/*
2 * Copyright 2005, Axel Dörfler, axeld@pinc-software.de
3 * Copyright 2003, Jeff Ward, jeff@r2d2.stcloudstate.edu. All rights reserved.
4 *
5 * Distributed under the terms of the MIT License.
6 */
7#ifndef KERNEL_ARCH_REAL_TIME_CLOCK_H
8#define KERNEL_ARCH_REAL_TIME_CLOCK_H
9
10
11#include <kernel.h>
12
13struct kernel_args;
14struct real_time_data;
15
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21status_t arch_rtc_init(struct kernel_args *args, struct real_time_data *data);
22
23void arch_rtc_set_hw_time(uint32 seconds);
24	// Set HW clock to 'seconds' since 1/1/1970
25uint32 arch_rtc_get_hw_time(void);
26	// Returns number of seconds since 1/1/1970 as stored in HW
27
28void arch_rtc_set_system_time_offset(struct real_time_data *data,
29	bigtime_t offset);
30	// Set the system time offset in data.
31bigtime_t arch_rtc_get_system_time_offset(struct real_time_data *data);
32	// Return the system time offset as stored in data.
33
34#ifdef __cplusplus
35}
36#endif
37
38#endif	/* KERNEL_ARCH_REAL_TIME_CLOCK_H */
39