clockvar.h revision 1.2
1/*	$NetBSD: clockvar.h,v 1.2 1996/04/17 22:01:21 cgd Exp $	*/
2
3/*
4 * Copyright (c) 1994, 1995 Carnegie-Mellon University.
5 * All rights reserved.
6 *
7 * Author: Chris G. Demetriou
8 *
9 * Permission to use, copy, modify and distribute this software and
10 * its documentation is hereby granted, provided that both the copyright
11 * notice and this permission notice appear in all copies of the
12 * software, derivative works or modified versions, and any portions
13 * thereof, and that both notices appear in supporting documentation.
14 *
15 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
16 * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
17 * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
18 *
19 * Carnegie Mellon requests users of this software to return to
20 *
21 *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
22 *  School of Computer Science
23 *  Carnegie Mellon University
24 *  Pittsburgh PA 15213-3890
25 *
26 * any improvements or extensions that they make and grant Carnegie the
27 * rights to redistribute these changes.
28 */
29
30/*
31 * Definitions for "cpu-independent" clock handling for the alpha.
32 */
33
34/*
35 * clocktime structure:
36 *
37 * structure passed to TOY clocks when setting them.  broken out this
38 * way, so that the time_t -> field conversion can be shared.
39 */
40struct clocktime {
41	int	year;			/* year - 1900 */
42	int	mon;			/* month (1 - 12) */
43	int	day;			/* day (1 - 31) */
44	int	hour;			/* hour (0 - 23) */
45	int	min;			/* minute (0 - 59) */
46	int	sec;			/* second (0 - 59) */
47	int	dow;			/* day of week (0 - 6; 0 = Sunday) */
48};
49
50/*
51 * clockfns structure:
52 *
53 * function switch used by chip-independent clock code, to access
54 * chip-dependent routines.
55 */
56struct clockfns {
57	void	(*cf_init) __P((struct device *));
58	void	(*cf_get) __P((struct device *, time_t, struct clocktime *));
59	void	(*cf_set) __P((struct device *, struct clocktime *));
60};
61
62void clockattach __P((struct device *, const struct clockfns *));
63