mirror of
https://github.com/elliotnunn/supermario.git
synced 2025-02-20 10:28:57 +00:00
178 lines
5.0 KiB
OpenEdge ABL
178 lines
5.0 KiB
OpenEdge ABL
{
|
|
Created: Sunday, January 6, 1991 at 10:58 PM
|
|
Processes.p
|
|
Pascal Interface to the Macintosh Libraries
|
|
|
|
Copyright Apple Computer, Inc. 1989-1990
|
|
All rights reserved
|
|
}
|
|
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT Processes;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingProcesses}
|
|
{$SETC UsingProcesses := 1}
|
|
|
|
{$I+}
|
|
{$SETC ProcessesIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingTypes}
|
|
{$I $$Shell(PInterfaces)Types.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingEvents}
|
|
{$I $$Shell(PInterfaces)Events.p}
|
|
{$ENDC}
|
|
{$IFC UNDEFINED UsingFiles}
|
|
{$I $$Shell(PInterfaces)Files.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := ProcessesIncludes}
|
|
|
|
TYPE
|
|
{ type for unique process identifier }
|
|
ProcessSerialNumberPtr = ^ProcessSerialNumber;
|
|
ProcessSerialNumber = RECORD
|
|
highLongOfPSN: LONGINT;
|
|
lowLongOfPSN: LONGINT;
|
|
END;
|
|
|
|
|
|
CONST
|
|
|
|
{************************************************************************
|
|
* Process identifier.
|
|
************************************************************************
|
|
Various reserved process serial numbers. }
|
|
|
|
kNoProcess = 0;
|
|
kSystemProcess = 1;
|
|
kCurrentProcess = 2;
|
|
|
|
TYPE
|
|
{*********************************************************************************************************************************************
|
|
* Definition of the parameter block passed to _Launch.
|
|
*************************************************************************
|
|
|
|
* Typedef and flags for launchControlFlags field }
|
|
LaunchFlags = INTEGER;
|
|
|
|
CONST
|
|
|
|
{************************************************************************
|
|
* Definition of the parameter block passed to _Launch.
|
|
************************************************************************}
|
|
|
|
launchContinue = $4000;
|
|
launchNoFileFlags = $0800;
|
|
launchUseMinimum = $0400;
|
|
launchDontSwitch = $0200;
|
|
launchAllow24Bit = $0100;
|
|
launchInhibitDaemon = $0080;
|
|
|
|
TYPE
|
|
{ Format for first AppleEvent to pass to new process. The size of the overall
|
|
* buffer variable: the message body immediately follows the messageLength.
|
|
}
|
|
AppParametersPtr = ^AppParameters;
|
|
AppParameters = RECORD
|
|
theMsgEvent: EventRecord;
|
|
eventRefCon: LONGINT;
|
|
messageLength: LONGINT;
|
|
messageBuffer: ARRAY [0..0] OF SignedByte;
|
|
END;
|
|
|
|
{ Parameter block to _Launch }
|
|
LaunchPBPtr = ^LaunchParamBlockRec;
|
|
LaunchParamBlockRec = RECORD
|
|
reserved1: LONGINT;
|
|
reserved2: INTEGER;
|
|
launchBlockID: INTEGER;
|
|
launchEPBLength: LONGINT;
|
|
launchFileFlags: INTEGER;
|
|
launchControlFlags: LaunchFlags;
|
|
launchAppSpec: FSSpecPtr;
|
|
launchProcessSN: ProcessSerialNumber;
|
|
launchPreferredSize: LONGINT;
|
|
launchMinimumSize: LONGINT;
|
|
launchAvailableSize: LONGINT;
|
|
launchAppParameters: AppParametersPtr;
|
|
END;
|
|
|
|
|
|
CONST
|
|
extendedBlock = $4C43; { 'LC' }
|
|
extendedBlockLen = (sizeof(LaunchParamBlockRec) - 12);
|
|
|
|
{************************************************************************
|
|
* Definition of the information block returned by GetProcessInformation
|
|
************************************************************************
|
|
Bits in the processMode field }
|
|
|
|
modeDeskAccessory = $00020000;
|
|
modeMultiLaunch = $00010000;
|
|
modeNeedSuspendResume = $00004000;
|
|
modeCanBackground = $00001000;
|
|
modeDoesActivateOnFGSwitch = $00000800;
|
|
modeOnlyBackground = $00000400;
|
|
modeGetFrontClicks = $00000200;
|
|
modeGetAppDiedMsg = $00000100;
|
|
mode32BitCompatible = $00000080;
|
|
modeHighLevelEventAware = $00000040;
|
|
modeLocalAndRemoteHLEvents = $00000020;
|
|
modeStationeryAware = $00000010;
|
|
modeUseTextEditServices = $00000008;
|
|
|
|
TYPE
|
|
{ Record returned by GetProcessInformation }
|
|
ProcessInfoRecPtr = ^ProcessInfoRec;
|
|
ProcessInfoRec = RECORD
|
|
processInfoLength: LONGINT;
|
|
processName: StringPtr;
|
|
processNumber: ProcessSerialNumber;
|
|
processType: LONGINT;
|
|
processSignature: OSType;
|
|
processMode: LONGINT;
|
|
processLocation: Ptr;
|
|
processSize: LONGINT;
|
|
processFreeMem: LONGINT;
|
|
processLauncher: ProcessSerialNumber;
|
|
processLaunchDate: LONGINT;
|
|
processActiveTime: LONGINT;
|
|
processAppSpec: FSSpecPtr;
|
|
END;
|
|
|
|
|
|
FUNCTION LaunchApplication(LaunchParams:LaunchPBPtr):OSErr;
|
|
INLINE $205F,$A9F2,$3E80;
|
|
FUNCTION LaunchDeskAccessory(pFileSpec: FSSpecPtr;pDAName: StringPtr): OSErr;
|
|
INLINE $3F3C,$0036,$A88F;
|
|
FUNCTION GetCurrentProcess(VAR PSN: ProcessSerialNumber): OSErr;
|
|
INLINE $3F3C,$0037,$A88F;
|
|
FUNCTION GetFrontProcess(VAR PSN: ProcessSerialNumber): OSErr;
|
|
INLINE $70FF,$2F00,$3F3C,$0039,$A88F;
|
|
FUNCTION GetNextProcess(VAR PSN: ProcessSerialNumber): OSErr;
|
|
INLINE $3F3C,$0038,$A88F;
|
|
FUNCTION GetProcessInformation(PSN: ProcessSerialNumber;VAR info: ProcessInfoRec): OSErr;
|
|
INLINE $3F3C,$003A,$A88F;
|
|
FUNCTION SetFrontProcess(PSN: ProcessSerialNumber): OSErr;
|
|
INLINE $3F3C,$003B,$A88F;
|
|
FUNCTION WakeUpProcess(PSN: ProcessSerialNumber): OSErr;
|
|
INLINE $3F3C,$003C,$A88F;
|
|
FUNCTION SameProcess(PSN1: ProcessSerialNumber;PSN2: ProcessSerialNumber;
|
|
VAR result: BOOLEAN): OSErr;
|
|
INLINE $3F3C,$003D,$A88F;
|
|
|
|
|
|
{$ENDC} { UsingProcesses }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|