summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/reboot.h
blob: 87b992d19149dd48df21a54711fb1f5c660f8cfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */
/*
 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

#ifndef	_SYS_REBOOT_H
#define	_SYS_REBOOT_H

#pragma ident	"%Z%%M%	%I%	%E% SMI"

#ifndef _ASM
#include <sys/types.h>
#endif

#ifdef	__cplusplus
extern "C" {
#endif

/*
 * Boot flags and flags to "reboot" system call.
 *
 * Not all of these necessarily apply to all machines.
 */
#define	RB_AUTOBOOT	0	/* flags for system auto-booting itself */

#define	RB_ASKNAME		0x00000001 /* prompt for boot file name */
#define	RB_SINGLE		0x00000002 /* reboot to single user only */
#define	RB_NOSYNC		0x00000004 /* dont sync before reboot */
#define	RB_HALT			0x00000008 /* don't reboot, just halt */
#define	RB_INITNAME		0x00000010 /* name given for /etc/init */
#define	RB_NOBOOTRC		0x00000020 /* don't run /etc/rc.boot */
#define	RB_DEBUG		0x00000040 /* being run under debugger */
#define	RB_DUMP			0x00000080 /* dump system core */
#define	RB_WRITABLE		0x00000100 /* mount root read/write */
#define	RB_STRING		0x00000200 /* pass boot args to prom monitor */
#define	RB_CONFIG		0x00000800 /* pass to init on a boot -c */
#define	RB_RECONFIG		0x00001000 /* pass to init on a boot -r */
#define	RB_VERBOSE		0x00002000 /* set for chatty boot */
#define	RB_FORTHDEBUG		0x00004000 /* load forthdebug module */
#define	RB_FORTHDEBUGDBP 	0x00008000 /* load forthdebug, enable def bpt */
#define	RB_KMDB			0x00020000 /* load kmdb during boot */
#define	RB_NOBOOTCLUSTER 	0x00040000 /* don't boot as a cluster */
#define	RB_DEBUGENTER		0x00080000 /* enter the debugger at boot */

#ifndef _ASM

#if defined(__STDC__)
extern int reboot(int, char *);
#else
extern int reboot();
#endif

#if defined(_KERNEL)

extern int boothowto;

#if defined(_BOOT)
extern void bootflags(char *, size_t);
#else
struct bootops;
extern void bootflags(struct bootops *);
#endif	/* _BOOT */

#endif	/* _KERNEL */

#endif	/* _ASM */

#ifdef	__cplusplus
}
#endif

#endif	/* _SYS_REBOOT_H */