xref: /netbsd/sys/sys/kernel.h (revision bf9ec67e)
1 /*	$NetBSD: kernel.h,v 1.16 2000/03/23 06:31:51 thorpej Exp $	*/
2 
3 /*-
4  * Copyright (c) 1990, 1993
5  *	The Regents of the University of California.  All rights reserved.
6  * (c) UNIX System Laboratories, Inc.
7  * All or some portions of this file are derived from material licensed
8  * to the University of California by American Telephone and Telegraph
9  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
10  * the permission of UNIX System Laboratories, Inc.
11  *
12  * Redistribution and use in source and binary forms, with or without
13  * modification, are permitted provided that the following conditions
14  * are met:
15  * 1. Redistributions of source code must retain the above copyright
16  *    notice, this list of conditions and the following disclaimer.
17  * 2. Redistributions in binary form must reproduce the above copyright
18  *    notice, this list of conditions and the following disclaimer in the
19  *    documentation and/or other materials provided with the distribution.
20  * 3. All advertising materials mentioning features or use of this software
21  *    must display the following acknowledgement:
22  *	This product includes software developed by the University of
23  *	California, Berkeley and its contributors.
24  * 4. Neither the name of the University nor the names of its contributors
25  *    may be used to endorse or promote products derived from this software
26  *    without specific prior written permission.
27  *
28  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
29  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
32  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38  * SUCH DAMAGE.
39  *
40  *	@(#)kernel.h	8.3 (Berkeley) 1/21/94
41  */
42 
43 #ifndef _SYS_KERNEL_H_
44 #define _SYS_KERNEL_H_
45 
46 /* Global variables for the kernel. */
47 
48 extern long hostid;
49 extern char hostname[MAXHOSTNAMELEN];
50 extern int hostnamelen;
51 extern char domainname[MAXHOSTNAMELEN];
52 extern int domainnamelen;
53 
54 extern volatile struct timeval mono_time;
55 extern struct timeval boottime;
56 extern struct timeval runtime;
57 extern volatile struct timeval time;
58 
59 extern int rtc_offset;		/* offset of rtc from UTC in minutes */
60 
61 extern int cold;		/* still working on startup */
62 extern int tick;		/* usec per tick (1000000 / hz) */
63 extern int tickfix;		/* periodic tick adj. tick not integral */
64 extern int tickfixinterval;	/* interval at which to apply adjustment */
65 extern int tickadj;		/* "standard" clock skew, us./tick */
66 extern int hz;			/* system clock's frequency */
67 extern int stathz;		/* statistics clock's frequency */
68 extern int profhz;		/* profiling clock's frequency */
69 extern int lbolt;		/* once a second sleep address */
70 
71 /*
72  * These globals indicate the number of times hardlock() has ticked,
73  * and the successive attempt of softclock() to catch up with it.  These
74  * are large unsigned numbers so that arithmetic can be performed on them
75  * with no reasonable worry about an overflow occurring (we get over 500
76  * million years with this).
77  *
78  * IMPORTANT NOTE: you *must* be at splclock() in order to read both
79  * hardclock_ticks and softclock_ticks.  This is because the 64-bit
80  * quantities may not be readable in an atomic fashion on all CPU types.
81  */
82 extern u_int64_t hardclock_ticks, softclock_ticks;
83 
84 #endif /* _SYS_KERNEL_H_ */
85