|
|
1.1 root 1: /*
2: * Copyright (c) 1982, 1986 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)clock.h 7.2 (Berkeley) 5/7/88
7: */
8:
9: /*
10: * VAX clock registers
11: */
12:
13: #define ICCS_RUN 0x00000001
14: #define ICCS_TRANS 0x00000010
15: #define ICCS_SS 0x00000020
16: #define ICCS_IE 0x00000040
17: #define ICCS_INT 0x00000080
18: #define ICCS_ERR 0x80000000
19:
20: #define SECDAY ((unsigned)(24*60*60)) /* seconds per day */
21: #define SECYR ((unsigned)(365*SECDAY)) /* per common year */
22: /*
23: * TODRZERO is the what the TODR should contain when the ``year'' begins.
24: * The TODR should always contain a number between 0 and SECYR+SECDAY.
25: */
26: #define TODRZERO ((unsigned)(1<<28))
27:
28: #define YRREF 1970
29: #define LEAPYEAR(year) ((year)%4==0) /* good till time becomes negative */
30:
31: /*
32: * Has the time-of-day clock wrapped around?
33: */
34: #define clkwrap() (((unsigned)mfpr(TODR) - TODRZERO)/100 > SECYR+SECDAY)
35:
36: /*
37: * Software clock is software interrupt level 8,
38: * implemented as mtpr(SIRR, 0x8) in asm.sed.
39: */
40:
41: #ifndef LOCORE
42: /*
43: * 8200s and 630s have a clock chip like those found in digital alarm
44: * clocks and watches. Converting this to and from system times is
45: * painful, so we do it in only one place. The routine chiptotime()
46: * converts a chiptime to the right value for time.tv_sec, and
47: * timetochip converts time.tv_sec back.
48: */
49: struct chiptime {
50: int sec;
51: int min;
52: int hour;
53: int day;
54: int mon;
55: int year;
56: };
57:
58: /*
59: * Clock read routine return values.
60: */
61: #define CLKREAD_OK 0 /* success, time.tv_sec set */
62: #define CLKREAD_WARN 1 /* clock appears wrong but time set anyway */
63: #define CLKREAD_BAD 2 /* clock is bad, no time available */
64: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.