mirror of
https://github.com/elliotnunn/boot3.git
synced 2024-12-28 20:29:26 +00:00
5b0f0cc134
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
247 lines
8.0 KiB
OpenEdge ABL
247 lines
8.0 KiB
OpenEdge ABL
{
|
|
File: MFPrivate.p
|
|
|
|
Contains: All private Process Manager constants and record definitions
|
|
|
|
Written by: David Harrison
|
|
|
|
Copyright: © 1989-1990 by Apple Computer, Inc., all rights reserved.
|
|
|
|
Change History (most recent first):
|
|
|
|
<17> 2/21/91 DFH dba,#82504, #82681, #83168, #83182, #83207: Added
|
|
SysZoneFloatSizes.
|
|
<16> 1/28/91 DFH JSM,#81425:Added DisableSwitching and EnableSwitching.
|
|
<15> 1/21/91 DFH (KSM) Remove Process Menu IDs, since they are now in
|
|
MenuMgrPriv.p, as the Application Menu IDs.
|
|
<14> 12/20/90 DFH (dba) Added GetNextHighLevelEvent.
|
|
<13> 12/14/90 DFH Added SynchIdleTime.
|
|
<12> 9/10/90 DFH Changed iconHelpString to itemHelpString (wow!).
|
|
<11> 7/25/90 DFH Added InitApplication, CleanupApplication, and SndAppDead.
|
|
<10> 7/19/90 DFH Removed iconColor from AddAppleMenuItem.
|
|
<9> 6/8/90 DFH Added ProcessMenuResourceID and ProcessMenuID.
|
|
<8> 4/11/90 DFH Reorganized the file to group the call glue with the
|
|
structures. Added definitions for Apple menu selection
|
|
AppleEvent.
|
|
<7> 4/11/90 KSM Added auxMenuHelpString to AuxMenuItemRec.
|
|
<6> 3/20/90 DFH Added iconColor and itemHelpString to AddAppleMenuItem
|
|
<5> 3/12/90 DFH Added aeDebuggerNotify.
|
|
<4> 2/8/90 DFH Copied projector revision comments to this file.
|
|
<3> 2/5/90 DFH Added enteredDebugger.
|
|
<2> 1/3/90 DFH Added itemStyle to AddAppleMenuItem. Reversed order of GetProcessFromLayer parms.
|
|
|
|
** BEGIN EASE MODIFICATION HISTORY
|
|
** 1.1 ngk 12/01/1989 Added System Debugger interfaces
|
|
** 1.0 ngk 10/16/1989 Initial Submission
|
|
** END EASE MODIFICATION HISTORY
|
|
}
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT MFPrivate;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingMFPrivate}
|
|
{$SETC UsingMFPrivate := 1}
|
|
|
|
{$I+}
|
|
{$SETC MFPrivateIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingTypes}
|
|
{$I Types.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingPackages}
|
|
{$I Packages.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingMenus}
|
|
{$I Menus.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingLayers}
|
|
{$I Layers.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingProcesses}
|
|
{$I Processes.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := MFPrivateIncludes}
|
|
|
|
{*************************************************************************
|
|
* Application Menu.
|
|
*************************************************************************}
|
|
|
|
{ Item numbers }
|
|
CONST
|
|
HIDE_APP_ITEM = 1;
|
|
HIDE_OTHERS_ITEM = 2;
|
|
SHOW_ALL_ITEM = 3;
|
|
APPLICATION_MENU_COUNT = 4;
|
|
|
|
{*************************************************************************
|
|
* Auxiliary menu item data.
|
|
*************************************************************************}
|
|
|
|
{ Information record returned by GetAuxMenuItem }
|
|
TYPE
|
|
AuxMenuItemRec = RECORD
|
|
auxMenuIconHandle: Handle;
|
|
auxMenuIconSize: INTEGER;
|
|
auxMenuIconGray: INTEGER;
|
|
auxMenuScript: INTEGER;
|
|
auxMenuHelpString: StringHandle;
|
|
END;
|
|
|
|
FUNCTION GetAuxMenuItem(theMenu: MenuHandle; pItemEntry: Ptr; VAR theStorage: AuxMenuItemRec; recLength: Size): OSErr;
|
|
INLINE $3F3C, $003E, $A88F;
|
|
|
|
{*************************************************************************
|
|
* Volume notification interface.
|
|
*************************************************************************}
|
|
|
|
{ values for the VNBNotice field. }
|
|
CONST
|
|
VNMounted = 0;
|
|
VNAboutToGoOffline = 1;
|
|
VNOffline = 2;
|
|
VNAboutToUnmount = 3;
|
|
VNUnmount = 4;
|
|
|
|
{ Definition of the volume notification parameter block }
|
|
TYPE
|
|
VolumeNotice = INTEGER;
|
|
VolumeNoticeBlkPtr = ^VolumeNoticeBlk;
|
|
VolumeNoticeBlk = RECORD
|
|
VNBLength: LONGINT;
|
|
VNBNotice: VolumeNotice;
|
|
VNBVolume: INTEGER;
|
|
VNBRefCon: LONGINT;
|
|
VNBResult: OSErr;
|
|
END;
|
|
|
|
VNProcPtr = ProcPtr; { FUNCTION Notify(pb: VolumeNoticeBlkPtr): OSErr; }
|
|
|
|
|
|
FUNCTION RequestVolumeNotification(pRoutine: VNProcPtr; refCon: LONGINT): OSErr;
|
|
INLINE $3F3C, $0042, $A88F;
|
|
|
|
FUNCTION DeclineVolumeNotification(pRoutine: VNProcPtr; refCon: LONGINT): OSErr;
|
|
INLINE $3F3C, $0043, $A88F;
|
|
|
|
{*************************************************************************
|
|
* Shell support
|
|
*************************************************************************}
|
|
|
|
{ AppleEvent sent to app launched from FINDERNAME at boot time }
|
|
CONST
|
|
aeStartup = 'boot';
|
|
|
|
{ AppleEvent and routines to customize the Apple menu }
|
|
CONST
|
|
aeAppleMenuItemSelect = 'amis';
|
|
aeAppleMenuItemKeyword = 'amis';
|
|
DELETE_ALL_ITEMS = 0;
|
|
|
|
FUNCTION AddAppleMenuItem(itemName: StringPtr; itemScript: ScriptCode; itemStyle: Style; itemIcon: Handle; itemMark: INTEGER; itemHelpString: StringPtr; itemRefCon: LONGINT): OSErr;
|
|
INLINE $3F3C, $0031, $A88F;
|
|
|
|
FUNCTION DeleteAppleMenuItem(itemRefCon: LONGINT): OSErr;
|
|
INLINE $3F3C, $0032, $A88F;
|
|
|
|
{ Routine to allocate a layer to implement the desktop }
|
|
FUNCTION NewDesktopLayerOwner(VAR ppNewLayer: LayerPtr): OSErr;
|
|
INLINE $3F3C, $0014, $A88F;
|
|
|
|
{*************************************************************************
|
|
* System Debugger Support.
|
|
*************************************************************************}
|
|
|
|
{ system error generated when user types the debugger key combination. }
|
|
CONST
|
|
enterDebugger = 110;
|
|
|
|
{ Identifier of AppleEvent notifying debugger that debuggee now not frontmost }
|
|
CONST
|
|
aeDebuggerNotify = 'dbrk';
|
|
|
|
FUNCTION RegisterDebugger(PSN: ProcessSerialNumber; entryRoutine: Ptr; exitRoutine: Ptr; toAppRoutine: Ptr; debugKey: INTEGER): OSErr;
|
|
INLINE $3F3C, $0030, $A88F;
|
|
|
|
FUNCTION GetProcessTrapAddress(PSN: ProcessSerialNumber; VAR trapAddr: Ptr; trapKind: TrapType; trapNum: INTEGER): OSErr;
|
|
INLINE $3F3C, $002C, $A88F;
|
|
|
|
FUNCTION SetProcessTrapAddress(PSN: ProcessSerialNumber; trapAddr: Ptr; trapKind: TrapType; trapNum: INTEGER): OSErr;
|
|
INLINE $3F3C, $002D, $A88F;
|
|
|
|
FUNCTION ReadWriteProcessMemory(PSN: ProcessSerialNumber; procMemPtr: Ptr; byteCount: LONGINT; callerMemPtr: Ptr; doRead: BOOLEAN): OSErr;
|
|
INLINE $3F3C, $002E, $A88F;
|
|
|
|
FUNCTION ReadWriteProcessFPURegs(PSN: ProcessSerialNumber; callerMemPtr: Ptr; doRead: BOOLEAN): OSErr;
|
|
INLINE $3F3C, $002F, $A88F;
|
|
|
|
FUNCTION KillProcess(PSN: ProcessSerialNumber): OSErr;
|
|
INLINE $3F3C, $0044, $A88F;
|
|
|
|
{*************************************************************************
|
|
* Support for (as yet) unpublished Layer Manager.
|
|
*************************************************************************}
|
|
|
|
FUNCTION GetProcessFromLayer(VAR PSN: ProcessSerialNumber; pLayer: LayerPtr): OSErr;
|
|
INLINE $3F3C, $0039, $A88F;
|
|
|
|
{*************************************************************************
|
|
* Support for application resource tracking.
|
|
*************************************************************************}
|
|
|
|
PROCEDURE InitApplication;
|
|
INLINE $AAFA;
|
|
|
|
PROCEDURE SynchIdleTime;
|
|
INLINE $ABF7;
|
|
|
|
PROCEDURE CleanupApplication;
|
|
INLINE $AAFA;
|
|
|
|
PROCEDURE SndAppDead;
|
|
INLINE $A0B8;
|
|
|
|
FUNCTION GetSystemClientProcess(VAR PSN: ProcessSerialNumber): OSErr;
|
|
INLINE $3F3C, $003F, $A88F;
|
|
|
|
FUNCTION BeginSystemMode: OSErr;
|
|
INLINE $3F3C, $0040, $A88F;
|
|
|
|
FUNCTION EndSystemMode: OSErr;
|
|
INLINE $3F3C, $0041, $A88F;
|
|
|
|
{*************************************************************************
|
|
* Support for high level event checking from the system.
|
|
*************************************************************************}
|
|
|
|
FUNCTION GetNextHighLevelEvent(eventMask: INTEGER;VAR theEvent: EventRecord;yankIt: BOOLEAN): BOOLEAN;
|
|
INLINE $3F3C, $0012, $A88F;
|
|
|
|
{*************************************************************************
|
|
* Scheduler control.
|
|
*************************************************************************}
|
|
|
|
PROCEDURE DisableSwitching;
|
|
INLINE $3F3C, $0019, $A88F;
|
|
|
|
PROCEDURE EnableSwitching;
|
|
INLINE $3F3C, $001A, $A88F;
|
|
|
|
{*************************************************************************
|
|
* Bonus Temporary Memory vs System Heap information.
|
|
*************************************************************************}
|
|
|
|
FUNCTION SysZoneFloatSizes(VAR hiSysRoom: Size; VAR lowTempRoom: Size): OSErr;
|
|
INLINE $3F3C, $0047, $A88F;
|
|
|
|
{$ENDC} { UsingMFPrivate }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|