12.07.2015 Views

INTRO (9) NetBSD Kernel Developer's Manual INTRO (9) NAME ...

INTRO (9) NetBSD Kernel Developer's Manual INTRO (9) NAME ...

INTRO (9) NetBSD Kernel Developer's Manual INTRO (9) NAME ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TODR (9) <strong>NetBSD</strong> <strong>Kernel</strong> Developer’s <strong>Manual</strong> TODR (9)<strong>NAME</strong>todr_attach, todr_gettime, todr_settime, clock_ymdhms_to_secs,clock_secs_to_ymdhms —time-of-day clock supportSYNOPSIS#include voidtodr_attach(todr_chip_handle_t);inttodr_gettime(todr_chip_handle_t , struct timeval ∗);inttodr_settime(todr_chip_handle_t , struct timeval ∗);voidclock_secs_to_ymdhms(int , struct clock_ymdhms ∗);time_tclock_ymdhms_to_secs(struct clock_ymdhms ∗);DESCRIPTIONThe todr_∗() functions provide an interface to read, set and control time-of-day devices. A driver fora time-of-day device registers its todr_chip_handle_t with machine-dependent code using thetodr_attach() function. Alternatively, amachine-dependent front-end to a time-of-day device drivermay obtain the todr_chip_handle_t directly.The todr_gettime() retrieves the current data and time from the TODR device and returns it in thestruct timeval storage provided by the caller. todr_settime() sets the date and time in the TODRdevice represented by todr_chip_handle_t according to the struct timeval argument.The utilities clock_secs_to_ymdhms() and clock_ymdhms_to_secs() are provided to convert atime value in seconds to and from a structure representing the date and time as a〈year,month,day,weekday,hour,minute,seconds〉 tuple. This structure is defined as follows:struct clock_ymdhms {u_short 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 VALUESThe todr_∗() functions return 0 if the requested operation was successful; otherwise an error code from〈sys/errno.h〉 shall be returned. However, behaviour is undefined if an invalidtodr_chip_handle_t is passed to any ofthese functions.The clock_ymdhms_to_secs() function returns −1 if the time in seconds would be less that zero or toolarge to fit in a time_t. The clock_secs_to_ymdhms() function never fails.<strong>NetBSD</strong> 3.0 September 6, 2006 1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!