]>
Commit | Line | Data |
---|---|---|
9abb2685 KZ |
1 | #ifndef HWCLOCK_CLOCK_H |
2 | #define HWCLOCK_CLOCK_H | |
3 | ||
ef71b8f1 | 4 | #include <errno.h> |
7eda085c | 5 | #include <stdio.h> |
66ee8158 | 6 | #include <stdlib.h> |
7eda085c | 7 | #include <string.h> |
7eda085c KZ |
8 | #include <time.h> |
9 | ||
b940bae3 KZ |
10 | #include "c.h" |
11 | ||
7eda085c KZ |
12 | struct clock_ops { |
13 | char *interface_name; | |
ef71b8f1 SK |
14 | int (*get_permissions) (void); |
15 | int (*read_hardware_clock) (struct tm * tm); | |
16 | int (*set_hardware_clock) (const struct tm * tm); | |
17 | int (*synchronize_to_clock_tick) (void); | |
7eda085c KZ |
18 | }; |
19 | ||
20 | extern struct clock_ops *probe_for_cmos_clock(void); | |
21 | extern struct clock_ops *probe_for_rtc_clock(void); | |
22 | extern struct clock_ops *probe_for_kd_clock(void); | |
23 | ||
24 | typedef int bool; | |
7eda085c KZ |
25 | |
26 | /* hwclock.c */ | |
7eda085c | 27 | extern int debug; |
4ac41d61 | 28 | extern unsigned long epoch_option; |
982a4a5d | 29 | extern double time_diff(struct timeval subtrahend, struct timeval subtractor); |
7eda085c KZ |
30 | /* cmos.c */ |
31 | extern void set_cmos_epoch(int ARCconsole, int SRM); | |
32 | extern void set_cmos_access(int Jensen, int funky_toy); | |
33 | ||
34 | /* rtc.c */ | |
35 | extern int get_epoch_rtc(unsigned long *epoch, int silent); | |
36 | extern int set_epoch_rtc(unsigned long epoch); | |
88681c5f | 37 | extern char *rtc_dev_name; |
88058a71 KZ |
38 | |
39 | #ifdef HAVE_LIBAUDIT | |
40 | extern void hwaudit_exit(int status); | |
41 | # define hwclock_exit(_status) hwaudit_exit(_status) | |
42 | #else | |
43 | # define hwclock_exit(_status) exit(_status) | |
44 | #endif | |
9abb2685 | 45 | |
ef71b8f1 | 46 | #endif /* HWCLOCK_CLOCK_H */ |