todr(9)
- NetBSD Manual Pages
TODR(9) NetBSD Kernel Developer's Manual TODR(9)
NAME
todr_attach, todr_gettime, todr_settime, clock_ymdhms_to_secs,
clock_secs_to_ymdhms -- time-of-day clock support
SYNOPSIS
#include <dev/clock_subr.h>
void
todr_attach(todr_chip_handle_t);
int
todr_gettime(todr_chip_handle_t, struct timeval *);
int
todr_settime(todr_chip_handle_t, struct timeval *);
int
clock_secs_to_ymdhms(time_t, struct clock_ymdhms *);
time_t
clock_ymdhms_to_secs(struct clock_ymdhms *);
DESCRIPTION
The todr_*() functions provide an interface to read, set and control
`time-of-day' devices. A driver for a `time-of-day' device registers its
todr_chip_handle_t with machine-dependent code using the todr_attach()
function. Alternatively, a machine-dependent front-end to a
`time-of-day' device driver may obtain the todr_chip_handle_t directly.
The todr_gettime() retrieves the current data and time from the TODR
device and returns it in the struct timeval storage provided by the
caller. todr_settime() sets the date and time in the TODR device repre-
sented by todr_chip_handle_t according to the struct timeval argument.
The utilities clock_secs_to_ymdhms() and clock_ymdhms_to_secs() are pro-
vided to convert a time value in seconds to and from a structure repre-
senting the date and time as a
<year,month,day,weekday,hour,minute,seconds> tuple. This structure is
defined as follows:
struct clock_ymdhms {
uint64_t dt_year; /* Year */
u_char dt_mon; /* Month (1-12) */
u_char dt_day; /* Day (1-31) */
u_char dt_wday; /* Day of week (0-6) */
u_char dt_hour; /* Hour (0-23) */
u_char dt_min; /* Minute (0-59) */
u_char dt_sec; /* Second (0-59) */
};
Note: leap years are recognised by these conversion routines.
RETURN VALUES
The todr_*() functions return 0 if the requested operation was success-
ful; otherwise an error code from <sys/errno.h> shall be returned. How-
ever, behaviour is undefined if an invalid todr_chip_handle_t is passed
to any of these functions.
The clock_ymdhms_to_secs() function returns -1 if the time in seconds
would be less that zero or too large to fit in a time_t. The
clock_secs_to_ymdhms() function returns 0 on success or EINVAL if the
time passed is negative.
SEE ALSO
intersil7170(4), mk48txx(4), inittodr(9), resettodr(9), time_second(9)
NetBSD 10.99 September 10, 2014 NetBSD 10.99
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.