Lines Matching full:ct
183 struct clocktime ct; in secs_to_rtc() local
206 clock_ts_to_ct(&ts, &ct); in secs_to_rtc()
208 KASSERT(ct.sec >= 0 && ct.sec <= 59, ("invalid clocktime sec %d", in secs_to_rtc()
209 ct.sec)); in secs_to_rtc()
210 KASSERT(ct.min >= 0 && ct.min <= 59, ("invalid clocktime min %d", in secs_to_rtc()
211 ct.min)); in secs_to_rtc()
212 KASSERT(ct.hour >= 0 && ct.hour <= 23, ("invalid clocktime hour %d", in secs_to_rtc()
213 ct.hour)); in secs_to_rtc()
214 KASSERT(ct.dow >= 0 && ct.dow <= 6, ("invalid clocktime wday %d", in secs_to_rtc()
215 ct.dow)); in secs_to_rtc()
216 KASSERT(ct.day >= 1 && ct.day <= 31, ("invalid clocktime mday %d", in secs_to_rtc()
217 ct.day)); in secs_to_rtc()
218 KASSERT(ct.mon >= 1 && ct.mon <= 12, ("invalid clocktime month %d", in secs_to_rtc()
219 ct.mon)); in secs_to_rtc()
220 KASSERT(ct.year >= POSIX_BASE_YEAR, ("invalid clocktime year %d", in secs_to_rtc()
221 ct.year)); in secs_to_rtc()
224 rtc->sec = rtcset(rtc, ct.sec); in secs_to_rtc()
225 rtc->min = rtcset(rtc, ct.min); in secs_to_rtc()
228 hour = ct.hour; in secs_to_rtc()
233 switch (ct.hour) { in secs_to_rtc()
240 * The remaining 'ct.hour' values are interpreted as: in secs_to_rtc()
244 hour = ct.hour % 12; in secs_to_rtc()
251 if ((rtc->reg_b & RTCSB_24HR) == 0 && ct.hour >= 12) in secs_to_rtc()
254 rtc->day_of_week = rtcset(rtc, ct.dow + 1); in secs_to_rtc()
255 rtc->day_of_month = rtcset(rtc, ct.day); in secs_to_rtc()
256 rtc->month = rtcset(rtc, ct.mon); in secs_to_rtc()
257 rtc->year = rtcset(rtc, ct.year % 100); in secs_to_rtc()
258 rtc->century = rtcset(rtc, ct.year / 100); in secs_to_rtc()
284 struct clocktime ct; in rtc_to_secs() local
296 bzero(&ct, sizeof(struct clocktime)); in rtc_to_secs()
298 error = rtcget(rtc, rtc->sec, &ct.sec); in rtc_to_secs()
299 if (error || ct.sec < 0 || ct.sec > 59) { in rtc_to_secs()
300 VM_CTR2(vm, "Invalid RTC sec %#x/%d", rtc->sec, ct.sec); in rtc_to_secs()
304 error = rtcget(rtc, rtc->min, &ct.min); in rtc_to_secs()
305 if (error || ct.min < 0 || ct.min > 59) { in rtc_to_secs()
306 VM_CTR2(vm, "Invalid RTC min %#x/%d", rtc->min, ct.min); in rtc_to_secs()
318 error = rtcget(rtc, hour, &ct.hour); in rtc_to_secs()
320 if (ct.hour >= 1 && ct.hour <= 12) { in rtc_to_secs()
325 * 12-hour format ct.hour in rtc_to_secs()
331 if (ct.hour == 12) in rtc_to_secs()
332 ct.hour = 0; in rtc_to_secs()
334 ct.hour += 12; in rtc_to_secs()
337 rtc->hour, ct.hour); in rtc_to_secs()
342 if (error || ct.hour < 0 || ct.hour > 23) { in rtc_to_secs()
343 VM_CTR2(vm, "Invalid RTC hour %#x/%d", rtc->hour, ct.hour); in rtc_to_secs()
351 * clock_ct_to_ts() does not depend on 'ct.dow' anyways so ignore it. in rtc_to_secs()
353 ct.dow = -1; in rtc_to_secs()
355 error = rtcget(rtc, rtc->day_of_month, &ct.day); in rtc_to_secs()
356 if (error || ct.day < 1 || ct.day > 31) { in rtc_to_secs()
358 ct.day); in rtc_to_secs()
362 error = rtcget(rtc, rtc->month, &ct.mon); in rtc_to_secs()
363 if (error || ct.mon < 1 || ct.mon > 12) { in rtc_to_secs()
364 VM_CTR2(vm, "Invalid RTC month %#x/%d", rtc->month, ct.mon); in rtc_to_secs()
375 ct.year = century * 100 + year; in rtc_to_secs()
376 if (error || ct.year < POSIX_BASE_YEAR) { in rtc_to_secs()
378 ct.year); in rtc_to_secs()
382 error = clock_ct_to_ts(&ct, &ts); in rtc_to_secs()
385 ct.year, ct.mon, ct.day); in rtc_to_secs()
387 ct.hour, ct.min, ct.sec); in rtc_to_secs()