Annotation of 43BSDReno/sys/vax/clock.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.