home *** CD-ROM | disk | FTP | other *** search
- /*
- File: ShutDown.h
-
- Copyright: © 1984-1993 by Apple Computer, Inc., all rights reserved.
-
- WARNING
- This file was auto generated by the interfacer tool. Modifications
- must be made to the master file.
-
- */
-
- #ifndef __SHUTDOWN__
- #define __SHUTDOWN__
-
- #ifndef __TYPES__
- #include <Types.h>
- /* #include <ConditionalMacros.h> */
- /* #include <MixedMode.h> */
- /* #include <Traps.h> */
- #endif
-
- enum {
- sdOnPowerOff = 1, /*call procedure before power off.*/
- sdOnRestart = 2, /*call procedure before restart.*/
- sdOnUnmount = 4, /*call procedure before unmounting.*/
- sdOnDrivers = 8, /*call procedure before closing drivers.*/
- sdRestartOrPower = 3 /*call before either power off or restart.*/
- };
-
-
- /*
- ShutDownProcs cannot be written in or called from a high-level
- language without the help of mixed mode or assembly glue because they
- use the following parameter-passing convention:
-
- typedef pascal void (*ShutDwnProcPtr)(short shutDownStage);
-
- In:
- => shutDownStage D0.W
- Out:
- none
- */
-
- enum {
- uppShutDwnProcInfo = kRegisterBased|REGISTER_ROUTINE_PARAMETER(1,kRegisterD0,kTwoByteCode)
- };
-
- #if USESROUTINEDESCRIPTORS
- typedef pascal void (*ShutDwnProcPtr)(short shutDownStage);
-
- typedef UniversalProcPtr ShutDwnUPP;
-
- #define CallShutDwnProc(userRoutine, shutDownStage) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppShutDwnProcInfo, (shutDownStage))
-
- #define NewShutDwnProc(userRoutine) \
- (ShutDwnUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppShutDwnProcInfo, GetCurrentISA())
-
- #else
- typedef ProcPtr ShutDwnUPP;
-
- #define NewShutDwnProc(userRoutine) \
- (ShutDwnUPP)(userRoutine)
-
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- extern pascal void ShutDwnPower(void)
- THREEWORDINLINE(0x3F3C, 0x0001, 0xA895);
- extern pascal void ShutDwnStart(void)
- THREEWORDINLINE(0x3F3C, 0x0002, 0xA895);
- extern pascal void ShutDwnInstall(ShutDwnUPP shutDownProc, short flags)
- THREEWORDINLINE(0x3F3C, 0x0003, 0xA895);
- extern pascal void ShutDwnRemove(ShutDwnUPP shutDownProc)
- THREEWORDINLINE(0x3F3C, 0x0004, 0xA895);
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-
-