1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright 2014 Garrett D'Amore <garrett@damore.org> 24 * 25 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 26 * Use is subject to license terms. 27 */ 28 29 #ifndef _SYS_REBOOT_H 30 #define _SYS_REBOOT_H 31 32 #ifndef _ASM 33 #include <sys/types.h> 34 #endif 35 36 #ifdef __cplusplus 37 extern "C" { 38 #endif 39 40 /* 41 * Boot flags and flags to "reboot" system call. 42 * 43 * Not all of these necessarily apply to all machines. 44 */ 45 #define RB_AUTOBOOT 0 /* flags for system auto-booting itself */ 46 47 #define RB_ASKNAME 0x00000001 /* prompt for boot file name */ 48 #define RB_SINGLE 0x00000002 /* reboot to single user only */ 49 #define RB_NOSYNC 0x00000004 /* dont sync before reboot */ 50 #define RB_HALT 0x00000008 /* don't reboot, just halt */ 51 #define RB_INITNAME 0x00000010 /* name given for /etc/init */ 52 #define RB_NOBOOTRC 0x00000020 /* don't run /etc/rc.boot */ 53 #define RB_DEBUG 0x00000040 /* being run under debugger */ 54 #define RB_DUMP 0x00000080 /* dump system core */ 55 #define RB_WRITABLE 0x00000100 /* mount root read/write */ 56 #define RB_STRING 0x00000200 /* pass boot args to prom monitor */ 57 #define RB_CONFIG 0x00000800 /* pass to init on a boot -c */ 58 #define RB_RECONFIG 0x00001000 /* pass to init on a boot -r */ 59 #define RB_VERBOSE 0x00002000 /* set for chatty boot */ 60 #define RB_FORTHDEBUG 0x00004000 /* load forthdebug module */ 61 #define RB_FORTHDEBUGDBP 0x00008000 /* load forthdebug, enable def bpt */ 62 #define RB_KMDB 0x00020000 /* load kmdb during boot */ 63 #define RB_NOBOOTCLUSTER 0x00040000 /* don't boot as a cluster */ 64 #define RB_DEBUGENTER 0x00080000 /* enter the debugger at boot */ 65 66 #ifndef _ASM 67 68 extern int reboot(int, char *); 69 70 #if defined(_KERNEL) 71 72 extern int boothowto; 73 74 #if defined(_BOOT) 75 extern void bootflags(char *, size_t); 76 #else 77 struct bootops; 78 extern void bootflags(struct bootops *); 79 #endif /* _BOOT */ 80 81 #endif /* _KERNEL */ 82 83 #endif /* _ASM */ 84 85 #ifdef __cplusplus 86 } 87 #endif 88 89 #endif /* _SYS_REBOOT_H */