grub2: bring back build of aros-side grub2 tools
[AROS.git] / rom / exec / shutdowna.c
blob0cbcd44014d9adb17150c3bbcc6b1adc4fcf2558
1 /*
2 Copyright © 1995-2012, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: ShutdownA() - Shut down the operating system.
6 Lang: english
7 */
9 #include <aros/debug.h>
10 #include <proto/exec.h>
12 #include "exec_util.h"
14 /*****************************************************************************
16 NAME */
18 AROS_NTLH1(ULONG, ShutdownA,
20 /* SYNOPSIS */
21 AROS_LHA(ULONG, action, D0),
23 /* LOCATION */
24 struct ExecBase *, SysBase, 173, Exec)
26 /* FUNCTION
27 This function will shut down the operating system.
29 INPUTS
30 action - what to do:
31 * SD_ACTION_POWEROFF - power off the machine.
32 * SD_ACTION_COLDREBOOT - cold reboot the machine (not only AROS).
34 RESULT
35 This function does not return in case of success. Otherwise it returns
36 zero.
38 NOTES
39 It can be quite harmful to call this function. It may be possible that
40 you will lose data from other tasks not having saved, or disk buffers
41 not being flushed. Plus you could annoy the (other) users.
43 EXAMPLE
45 BUGS
47 SEE ALSO
48 ColdReboot()
50 ******************************************************************************/
52 AROS_LIBFUNC_INIT
54 Exec_DoResetCallbacks((struct IntExecBase *)SysBase, action);
56 /* We shouldn't get here. If a reset handler has failed to shut down
57 * the system, the system may still be unstable as a result of
58 * peripheral device resets */
59 return 0;
61 AROS_LIBFUNC_EXIT