]> git.ipfire.org Git - thirdparty/util-linux.git/blame - sys-utils/hwclock.h
build-sys: move hwclock to sys-utils/
[thirdparty/util-linux.git] / sys-utils / hwclock.h
CommitLineData
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
12struct 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
20extern struct clock_ops *probe_for_cmos_clock(void);
21extern struct clock_ops *probe_for_rtc_clock(void);
22extern struct clock_ops *probe_for_kd_clock(void);
23
24typedef int bool;
7eda085c
KZ
25
26/* hwclock.c */
27extern char *progname;
28extern int debug;
4ac41d61 29extern unsigned long epoch_option;
982a4a5d 30extern double time_diff(struct timeval subtrahend, struct timeval subtractor);
7eda085c
KZ
31/* cmos.c */
32extern void set_cmos_epoch(int ARCconsole, int SRM);
33extern void set_cmos_access(int Jensen, int funky_toy);
34
35/* rtc.c */
36extern int get_epoch_rtc(unsigned long *epoch, int silent);
37extern int set_epoch_rtc(unsigned long epoch);
88681c5f 38extern char *rtc_dev_name;
88058a71
KZ
39
40#ifdef HAVE_LIBAUDIT
41extern void hwaudit_exit(int status);
42# define hwclock_exit(_status) hwaudit_exit(_status)
43#else
44# define hwclock_exit(_status) exit(_status)
45#endif
9abb2685 46
ef71b8f1 47#endif /* HWCLOCK_CLOCK_H */