2005-01-26 21:28:40 +03:00
|
|
|
/*
|
|
|
|
* Copyright 2005, Axel Dörfler, axeld@pinc-software.de
|
|
|
|
* Copyright 2003, Jeff Ward, jeff@r2d2.stcloudstate.edu. All rights reserved.
|
|
|
|
*
|
|
|
|
* Distributed under the terms of the MIT License.
|
|
|
|
*/
|
2003-10-24 14:21:10 +04:00
|
|
|
#ifndef KERNEL_ARCH_REAL_TIME_CLOCK_H
|
|
|
|
#define KERNEL_ARCH_REAL_TIME_CLOCK_H
|
|
|
|
|
2003-10-24 15:58:21 +04:00
|
|
|
|
2003-10-24 14:21:10 +04:00
|
|
|
#include <kernel.h>
|
|
|
|
|
2005-01-26 21:28:40 +03:00
|
|
|
struct kernel_args;
|
|
|
|
struct real_time_data;
|
|
|
|
|
2003-10-24 15:58:21 +04:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2005-01-26 21:28:40 +03:00
|
|
|
status_t arch_rtc_init(struct kernel_args *args, struct real_time_data *data);
|
|
|
|
|
2003-10-24 14:21:10 +04:00
|
|
|
void arch_rtc_set_hw_time(uint32 seconds);
|
|
|
|
// Set HW clock to 'seconds' since 1/1/1970
|
|
|
|
uint32 arch_rtc_get_hw_time(void);
|
|
|
|
// Returns number of seconds since 1/1/1970 as stored in HW
|
|
|
|
|
2006-01-04 05:17:59 +03:00
|
|
|
void arch_rtc_set_system_time_offset(struct real_time_data *data,
|
|
|
|
bigtime_t offset);
|
|
|
|
// Set the system time offset in data.
|
|
|
|
bigtime_t arch_rtc_get_system_time_offset(struct real_time_data *data);
|
|
|
|
// Return the system time offset as stored in data.
|
|
|
|
|
2003-10-24 15:58:21 +04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2003-10-24 14:21:10 +04:00
|
|
|
#endif /* KERNEL_ARCH_REAL_TIME_CLOCK_H */
|