clock.h revision 1.10 1 1.10 ragge /* $NetBSD: clock.h,v 1.10 2017/05/22 17:12:11 ragge Exp $ */
2 1.1 ragge /*
3 1.1 ragge * Copyright (c) 1996 Ludd, University of Lule}, Sweden.
4 1.1 ragge * All rights reserved.
5 1.1 ragge *
6 1.1 ragge * Redistribution and use in source and binary forms, with or without
7 1.1 ragge * modification, are permitted provided that the following conditions
8 1.1 ragge * are met:
9 1.1 ragge * 1. Redistributions of source code must retain the above copyright
10 1.1 ragge * notice, this list of conditions and the following disclaimer.
11 1.1 ragge * 2. Redistributions in binary form must reproduce the above copyright
12 1.1 ragge * notice, this list of conditions and the following disclaimer in the
13 1.1 ragge * documentation and/or other materials provided with the distribution.
14 1.1 ragge *
15 1.1 ragge * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 1.1 ragge * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 1.1 ragge * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 1.1 ragge * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 1.1 ragge * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 1.1 ragge * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 1.1 ragge * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 1.1 ragge * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 1.1 ragge * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 1.1 ragge * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 1.1 ragge */
26 1.6 matt #ifndef _VAX_CLOCK_H_
27 1.6 matt #define _VAX_CLOCK_H_
28 1.6 matt
29 1.6 matt #include <dev/clock_subr.h>
30 1.1 ragge
31 1.1 ragge /*
32 1.1 ragge * Time constants. These are unlikely to change.
33 1.1 ragge */
34 1.1 ragge #define TODRBASE (1 << 28) /* Rumours says it comes from VMS */
35 1.1 ragge
36 1.2 ragge #define SEC_OFF 0
37 1.2 ragge #define MIN_OFF 2
38 1.2 ragge #define HR_OFF 4
39 1.2 ragge #define WDAY_OFF 6
40 1.2 ragge #define DAY_OFF 7
41 1.2 ragge #define MON_OFF 8
42 1.2 ragge #define YR_OFF 9
43 1.2 ragge #define CSRA_OFF 10
44 1.2 ragge #define CSRB_OFF 11
45 1.2 ragge #define CSRD_OFF 13
46 1.2 ragge
47 1.2 ragge #define CSRA_UIP 0200
48 1.2 ragge #define CSRB_SET 0200
49 1.2 ragge #define CSRB_24 0002
50 1.2 ragge #define CSRB_DM 0004
51 1.2 ragge #define CSRD_VRT 0200
52 1.2 ragge
53 1.3 ragge /* Var's used when dealing with clock chip */
54 1.4 ragge extern volatile short *clk_page;
55 1.3 ragge extern int clk_adrshift, clk_tweak;
56 1.3 ragge
57 1.1 ragge /* Prototypes */
58 1.7 tsutsui int generic_gettime(struct timeval *);
59 1.7 tsutsui void generic_settime(struct timeval *);
60 1.7 tsutsui int chip_gettime(struct timeval *);
61 1.7 tsutsui void chip_settime(struct timeval *);
62 1.5 ragge int yeartonum(int);
63 1.5 ragge int numtoyear(int);
64 1.6 matt
65 1.6 matt #endif /* _VAX_CLOCK_H_ */
66