#include <sys/reboot.h>
sys/reboot.h
enumpanic_with_data_flags
| PANIC_WITH_DATA_FLAGS_NONE | 0 | |
| PANIC_WITH_DATA_FLAGS_EXCLAVE_STACKSHOT | 1 | |
| PANIC_WITH_DATA_FLAGS_MAX | 2 |
typedefpanic_with_data_flags
typedef enum panic_with_data_flags panic_with_data_flags;
functionreboot
int reboot(int howto)
The normal reboot syscall.
man page · June 4, 1993
reboot(2) — reboot system or halt processorfunctionreboot_np
int reboot_np(int howto, const char *message)
Used with RB_PANIC to panic the kernel from userspace with a message.
Requires an entitlement on Release.
functionpanic_with_data
int panic_with_data( uuid_t uuid, void *addr, uint32_t len, uint32_t flags, const char *msg )
Used to panic the kernel from user space and add additional data to
the paniclog.
macroB_ADAPTORSHIFT
Constants for converting boot-style device number to type,
adaptor (uba, mba, etc), unit number and partition number.
Type (== major device number) is in the low byte
for backward compatibility. Except for that of the "magic
number", each mask applies to the shifted value.
Format:
(4) (4) (4) (4) (8) (8)
--------------------------------
|MA | AD| CT| UN| PART | TYPE |
--------------------------------
#define B_ADAPTORSHIFT 24
macroB_ADAPTORMASK
#define B_ADAPTORMASK 0x0f
macroB_ADAPTOR
#define B_ADAPTOR(val) (((val) >> B_ADAPTORSHIFT) & B_ADAPTORMASK)
macroB_CONTROLLERSHIFT
#define B_CONTROLLERSHIFT 20
macroB_CONTROLLERMASK
#define B_CONTROLLERMASK 0xf
macroB_CONTROLLER
#define B_CONTROLLER(val) (((val)>>B_CONTROLLERSHIFT) & B_CONTROLLERMASK)
macroB_UNITSHIFT
#define B_UNITSHIFT 16
macroB_UNITMASK
#define B_UNITMASK 0xff
macroB_UNIT
#define B_UNIT(val) (((val) >> B_UNITSHIFT) & B_UNITMASK)
macroB_PARTITIONSHIFT
#define B_PARTITIONSHIFT 8
macroB_PARTITIONMASK
#define B_PARTITIONMASK 0xff
macroB_PARTITION
#define B_PARTITION(val) (((val) >> B_PARTITIONSHIFT) & B_PARTITIONMASK)
macroB_TYPESHIFT
#define B_TYPESHIFT 0
macroB_TYPEMASK
#define B_TYPEMASK 0xff
macroB_TYPE
#define B_TYPE(val) (((val) >> B_TYPESHIFT) & B_TYPEMASK)
macroB_MAGICMASK
#define B_MAGICMASK 0xf0000000
macroB_DEVMAGIC
#define B_DEVMAGIC 0xa0000000
macroMAKEBOOTDEV
#define MAKEBOOTDEV(type, adaptor, controller, unit, partition) (((type) << B_TYPESHIFT) | ((adaptor) << B_ADAPTORSHIFT) | ((controller) << B_CONTROLLERSHIFT) | ((unit) << B_UNITSHIFT) | ((partition) << B_PARTITIONSHIFT) | B_DEVMAGIC)