xref: /csrg-svn/sys/vax/include/clock.h (revision 23254)
1*23254Smckusick /*
2*23254Smckusick  * Copyright (c) 1982 Regents of the University of California.
3*23254Smckusick  * All rights reserved.  The Berkeley software License Agreement
4*23254Smckusick  * specifies the terms and conditions for redistribution.
5*23254Smckusick  *
6*23254Smckusick  *	@(#)clock.h	6.2 (Berkeley) 06/08/85
7*23254Smckusick  */
851Sbill 
951Sbill /*
1051Sbill  * VAX clock registers
1151Sbill  */
1251Sbill 
132633Swnj #define	ICCS_RUN	0x00000001
142633Swnj #define	ICCS_TRANS	0x00000010
152633Swnj #define	ICCS_SS		0x00000020
162633Swnj #define	ICCS_IE		0x00000040
172633Swnj #define	ICCS_INT	0x00000080
1851Sbill #define	ICCS_ERR	0x80000000
1951Sbill 
20880Sbill #define	SECDAY		((unsigned)(24*60*60))		/* seconds per day */
21880Sbill #define	SECYR		((unsigned)(365*SECDAY))	/* per common year */
22880Sbill /*
23880Sbill  * TODRZERO is the what the TODR should contain when the ``year'' begins.
24880Sbill  * The TODR should always contain a number between 0 and SECYR+SECDAY.
25880Sbill  */
26880Sbill #define	TODRZERO	((unsigned)(1<<28))
2751Sbill 
28880Sbill #define	YRREF		1970
292307Swnj #define	LEAPYEAR(year)	((year)%4==0)	/* good till time becomes negative */
30880Sbill 
31880Sbill /*
328987Sroot  * Has the time-of-day clock wrapped around?
33880Sbill  */
34880Sbill #define	clkwrap()	(((unsigned)mfpr(TODR) - TODRZERO)/100 > SECYR+SECDAY)
352447Swnj 
362447Swnj /*
378050Sroot  * Software clock is software interrupt level 8,
388050Sroot  * implemented as mtpr(SIRR, 0x8) in asm.sed.
392447Swnj  */
40