uadmin(2)
NAME
uadmin − administrative control
SYNOPSIS
#include <sys/uadmin.h>
int uadmin(int cmd, int fcn, int mdep);
DESCRIPTION
uadmin() provides control for basic administrative functions. This function is tightly coupled to the system administrative procedures and is not intended for general use. The argument mdep is provided for machine-dependent use and is not defined here.
As specified by cmd, the following commands are available:
A_SHUTDOWN
The system is shut down. All user processes are killed, the buffer cache is flushed, and the root file system is unmounted. The action to be taken after the system has been shut down is specified by fcn. The functions are generic; the hardware capabilities vary on specific machines.
AD_HALT Halt the processor(s).
AD_POWEROFF
Halt the processor(s) and turn off the power.
AD_BOOT Reboot the system, using /kernel/unix.
AD_IBOOT Interactive reboot; user is prompted for bootable program name.
A_REBOOT The system stops immediately without any further processing. The action to be taken next is specified by fcn as above.
A_REMOUNT
The root file system is mounted again after having been fixed. This should be used only during the startup process.
A_FREEZE Suspend the whole system. The system state is preserved in the state file. The following three subcommands are available.
AD_COMPRESS
Save the system state to the state file with compression of data.
AD_CHECK
Check if your system supports suspend and resume. Without performing a system suspend/resume, this command checks if this feature is currently available on your system.
AD_FORCE
Force AD_COMPRESS even when threads of drivers are not suspendable.
RETURN VALUES
Upon successful completion, the value returned depends on cmd as follows:
A_SHUTDOWN Never returns.
A_REBOOT Never returns.
A_FREEZE 0 upon resume.
A_REMOUNT 0
Upon unsuccessful completion, −1 is returned and errno is set to indicate the error.
ERRORS
uadmin() fails if any of the following are true:
EPERM The effective user of the calling process is not super-user.
ENOMEM Suspend/resume ran out of physical memory.
ENOSPC Suspend/resume could not allocate enough space on the root file system to store system information.
ENOTSUP Suspend/resume not supported on this platform.
ENXIO Unable to successfully suspend system.
EBUSY Suspend already in progress.
SEE ALSO
SunOS 5.4 — Last change: 11 Apr 1994