mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-03 09:31:04 +00:00
4325cdcc78
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.
250 lines
8.2 KiB
OpenEdge ABL
250 lines
8.2 KiB
OpenEdge ABL
{
|
|
File: Components.p
|
|
|
|
Contains: xxx put contents here xxx
|
|
|
|
Written by: xxx put writers here xxx
|
|
|
|
Copyright: © 1991-1992 by Apple Computer, Inc., all rights reserved.
|
|
|
|
Change History (most recent first):
|
|
|
|
<4> 11/17/92 PKE Fix broken System build: Add missing parenthesis in
|
|
ComponentSetTarget.
|
|
<3> 11/13/92 JDR Updated to the QuickTime 1.5 release of the interfaces. General
|
|
rearrangement of the stuff too.
|
|
<2> 11/23/91 YK Removed gestaltComponentMgr. It's already in GestaltEqu.p.
|
|
<1> 11/21/91 JH first checked in
|
|
|
|
}
|
|
|
|
|
|
{
|
|
Created: Wednesday, August 14, 1991 at 12:11 PM
|
|
Components.p
|
|
Pascal Interface to the Macintosh Libraries
|
|
|
|
Copyright Apple Computer, Inc. 1990 - 1991
|
|
All rights reserved
|
|
|
|
}
|
|
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT Components;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingComponents}
|
|
{$SETC UsingComponents := 1}
|
|
|
|
{$I+}
|
|
{$SETC ComponentsIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingTypes}
|
|
{$I $$Shell(PInterfaces)Types.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := ComponentsIncludes}
|
|
|
|
CONST
|
|
kAnyComponentType = 0;
|
|
kAnyComponentSubType = 0;
|
|
kAnyComponentManufacturer = 0;
|
|
kAnyComponentFlagsMask = 0;
|
|
|
|
cmpWantsRegisterMessage = $80000000;
|
|
|
|
kComponentOpenSelect = -1; {ComponentInstance for this open}
|
|
kComponentCloseSelect = -2; {ComponentInstance for this close}
|
|
kComponentCanDoSelect = -3; {selector # being queried}
|
|
kComponentVersionSelect = -4; {no params}
|
|
kComponentRegisterSelect = -5; {no params}
|
|
kComponentTargetSelect = -6; {ComponentInstance for top of call chain}
|
|
|
|
|
|
defaultComponentIdentical = 0; {Set Default Component flags}
|
|
defaultComponentAnyFlags = 1;
|
|
defaultComponentAnyManufacturer = 2;
|
|
defaultComponentAnySubType = 4;
|
|
defaultComponentAnyFlagsAnyManufacturer = defaultComponentAnyFlags+defaultComponentAnyManufacturer;
|
|
defaultComponentAnyFlagsAnyManufacturerAnySubType = defaultComponentAnyFlags+defaultComponentAnyManufacturer+defaultComponentAnySubType;
|
|
|
|
TYPE
|
|
ComponentDescription = RECORD
|
|
componentType: OSType; {A unique 4-byte code indentifying the command set}
|
|
componentSubType: OSType; {Particular flavor of this instance}
|
|
componentManufacturer: OSType; {Vendor indentification}
|
|
componentFlags: LONGINT; {8 each for Component,Type,SubType,Manuf/revision}
|
|
componentFlagsMask: LONGINT; {Mask for specifying which flags to consider in search, zero during registration}
|
|
END;
|
|
|
|
ResourceSpec = RECORD
|
|
resType: OSType; {4-byte code }
|
|
resId: INTEGER; { }
|
|
END;
|
|
|
|
ComponentResourcePtr = ^ComponentResource;
|
|
ComponentResourceHandle = ^ComponentResourcePtr;
|
|
ComponentResource = RECORD
|
|
cd: ComponentDescription; {Registration parameters}
|
|
component: ResourceSpec; {resource where Component code is found}
|
|
componentName: ResourceSpec; {name string resource}
|
|
componentInfo: ResourceSpec; {info string resource}
|
|
componentIcon: ResourceSpec; {icon resource}
|
|
END;
|
|
|
|
{Structure received by Component: }
|
|
ComponentParameters = PACKED RECORD
|
|
flags: CHAR; {call modifiers: sync/async, deferred, immed, etc}
|
|
paramSize: CHAR; {size in bytes of actual parameters passed to this call}
|
|
what: INTEGER; {routine selector, negative for Component management calls}
|
|
params: ARRAY [0..0] OF LONGINT; {actual parameters for the indicated routine}
|
|
END;
|
|
|
|
|
|
Component = ^ComponentRecord;
|
|
ComponentRecord = RECORD
|
|
data: ARRAY [0..0] OF LONGINT;
|
|
END;
|
|
|
|
ComponentInstance = ^ComponentInstanceRecord;
|
|
ComponentInstanceRecord = RECORD
|
|
data: ARRAY [0..0] OF LONGINT;
|
|
END;
|
|
|
|
ComponentResult = LONGINT;
|
|
|
|
ComponentRoutine = LONGINT;
|
|
|
|
ComponentFunction = LONGINT;
|
|
|
|
|
|
|
|
{*******************************************************
|
|
* *
|
|
* APPLICATION LEVEL CALLS *
|
|
* *
|
|
*******************************************************
|
|
* Component Database Add, Delete, and Query Routines
|
|
*******************************************************
|
|
}
|
|
FUNCTION RegisterComponent(cd: ComponentDescription;componentEntryPoint: ComponentRoutine;
|
|
global: INTEGER;componentName: Handle;componentInfo: Handle;componentIcon: Handle): Component;
|
|
INLINE $7001,$A82A;
|
|
FUNCTION RegisterComponentResource(tr: ComponentResourceHandle;global: INTEGER): Component;
|
|
INLINE $7012,$A82A;
|
|
FUNCTION UnregisterComponent(aComponent: Component): OSErr;
|
|
INLINE $7002,$A82A;
|
|
|
|
FUNCTION FindNextComponent(aComponent: Component;looking: ComponentDescription): Component;
|
|
INLINE $7004,$A82A;
|
|
FUNCTION CountComponents(looking: ComponentDescription): LONGINT;
|
|
INLINE $7003,$A82A;
|
|
|
|
FUNCTION GetComponentInfo(aComponent: Component;cd: ComponentDescription;
|
|
componentName: Handle;componentInfo: Handle;componentIcon: Handle): OSErr;
|
|
INLINE $7005,$A82A;
|
|
FUNCTION GetComponentListModSeed: LONGINT;
|
|
INLINE $7006,$A82A;
|
|
|
|
|
|
{*******************************************************
|
|
* Component Instance Allocation and dispatch routines
|
|
*******************************************************
|
|
}
|
|
FUNCTION OpenComponent(aComponent: Component): ComponentInstance;
|
|
INLINE $7007,$A82A;
|
|
FUNCTION CloseComponent(aComponentInstance: ComponentInstance): OSErr;
|
|
INLINE $7008,$A82A;
|
|
|
|
FUNCTION GetComponentInstanceError(aComponentInstance: ComponentInstance): OSErr;
|
|
INLINE $700A,$A82A;
|
|
|
|
|
|
{ direct calls to the Components }
|
|
FUNCTION ComponentFunctionImplemented(ci: ComponentInstance;ftnNumber: INTEGER): LONGINT;
|
|
INLINE $2F3C,$2,$FFFD,$7000,$A82A;
|
|
FUNCTION GetComponentVersion(ci: ComponentInstance): LONGINT;
|
|
INLINE $2F3C,$0,$FFFC,$7000,$A82A;
|
|
FUNCTION ComponentSetTarget(ci: ComponentInstance;target: ComponentInstance): LONGINT;
|
|
INLINE $2F3C,$4,$FFFA,$7000,$A82A;
|
|
|
|
{****************************************************
|
|
* *
|
|
* CALLS MADE BY Components *
|
|
* *
|
|
******************************************************}
|
|
|
|
|
|
{*******************************************************
|
|
* Component Management routines
|
|
*******************************************************
|
|
}
|
|
PROCEDURE SetComponentInstanceError(aComponentInstance: ComponentInstance;
|
|
theError: OSErr);
|
|
INLINE $700B,$A82A;
|
|
|
|
FUNCTION GetComponentRefcon(aComponent: Component): LONGINT;
|
|
INLINE $7010,$A82A;
|
|
PROCEDURE SetComponentRefcon(aComponent: Component;theRefcon: LONGINT);
|
|
INLINE $7011,$A82A;
|
|
|
|
FUNCTION OpenComponentResFile(aComponent: Component): INTEGER;
|
|
INLINE $7015,$A82A;
|
|
FUNCTION CloseComponentResFile(refnum: INTEGER): OSErr;
|
|
INLINE $7018,$A82A;
|
|
|
|
|
|
{*******************************************************
|
|
* Component Instance Management routines
|
|
*******************************************************
|
|
}
|
|
FUNCTION GetComponentInstanceStorage(aComponentInstance: ComponentInstance): Handle;
|
|
INLINE $700C,$A82A;
|
|
PROCEDURE SetComponentInstanceStorage(aComponentInstance: ComponentInstance;
|
|
theStorage: Handle);
|
|
INLINE $700D,$A82A;
|
|
|
|
FUNCTION GetComponentInstanceA5(aComponentInstance: ComponentInstance): LONGINT;
|
|
INLINE $700E,$A82A;
|
|
PROCEDURE SetComponentInstanceA5(aComponentInstance: ComponentInstance;
|
|
theA5: LONGINT);
|
|
INLINE $700F,$A82A;
|
|
|
|
FUNCTION CountComponentInstances(aComponent: Component): LONGINT;
|
|
INLINE $7013,$A82A;
|
|
|
|
{ useful helper routines for convenient method dispatching }
|
|
FUNCTION CallComponentFunction(params: ComponentParameters;func: ComponentFunction): LONGINT;
|
|
INLINE $70FF,$A82A;
|
|
FUNCTION CallComponentFunctionWithStorage(storage: Handle;params: ComponentParameters;
|
|
func: ComponentFunction): LONGINT;
|
|
INLINE $70FF,$A82A;
|
|
FUNCTION DelegateComponentCall(originalParams: ComponentParameters;
|
|
ci: ComponentInstance): LONGINT;
|
|
INLINE $7024,$A82A;
|
|
|
|
|
|
FUNCTION SetDefaultComponent(aComponent: Component;flags: INTEGER): OSErr;
|
|
INLINE $701E,$A82A;
|
|
FUNCTION OpenDefaultComponent(componentType: OSType; componentSubType: OSType ) : ComponentInstance;
|
|
INLINE $7021,$A82A;
|
|
FUNCTION CaptureComponent(capturedComponent: Component;capturingComponent: Component): Component;
|
|
INLINE $701C,$A82A;
|
|
FUNCTION UncaptureComponent(aComponent: Component): OSErr;
|
|
INLINE $701D,$A82A;
|
|
FUNCTION RegisterComponentResourceFile(resRefNum: INTEGER;global: INTEGER): LONGINT;
|
|
INLINE $7014,$A82A;
|
|
|
|
|
|
{$ENDC} {UsingComponents}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|