xref: /csrg-svn/sys/vax/include/clock.h (revision 23254)
1 /*
2  * Copyright (c) 1982 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	6.2 (Berkeley) 06/08/85
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