Return EOF if FPutC() or friends have NULL filehandle.
[AROS.git] / arch / all-unix / exec / shutdowna.c
blob95720fe292c631132ae4df0eaa99887cf1177750
1 /*
2 Copyright © 1995-2011, 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_intern.h"
14 /*****************************************************************************
16 NAME */
18 AROS_LH1(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 is 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 int exitcode;
56 switch(action)
58 case SD_ACTION_POWEROFF:
59 exitcode = 0;
60 break;
62 case SD_ACTION_COLDREBOOT:
63 exitcode = 0x81; /* Magic value for our bootstrap */
64 break;
66 default:
67 return 0; /* Unknown action code */
70 PD(SysBase).SysIFace->exit(exitcode);
71 AROS_HOST_BARRIER
73 /* Just shut up the compiler, we won't return */
74 return 0;
76 AROS_LIBFUNC_EXIT