Carbon


RoutineRecord

Header: MixedMode.h

struct RoutineRecord {
    ProcInfoType procInfo; 
    SInt8 reserved1; 
    ISAType ISA; 
    RoutineFlagsType routineFlags; 
    ProcPtr procDescriptor; 
    UInt32 reserved2; 
    UInt32 selector;
};
typedef RoutineRecord RoutineRecordPtr;

Field descriptions

procInfo

A value of type ProcInfoType that encodes essential information about the routine’s calling conventions and parameters. See “Procedure Information Size Constants”, “ProcInfo Field Offset And Width Constants”, “Calling Convention Constants”, “Special Case Calling Convention Constants”, and “Register Constants” for descriptions of the constants you can use to set this field.

reserved1

Reserved. This field must be 0.

ISA

The instruction set architecture of the routine. See “Instruction Set Architectures” for a complete listing of the constants you can use to set this field.

routineFlags

A value of type RoutineFlagsType that contains a set of flags describing the routine. See “Routine Entry Point Flags”, “Fragment Flags”,

  • “ISA Flags”, “Routine Selector Flags”, and “Default Routine Flags” for descriptions of the constants you can use to set this field.

    procDescriptor

    A pointer to the routine’s code. If the routine consists of 680x0 code and the kProcDescriptorIsAbsolute flag is set in the routineFlags field, then this field contains the address of the routine’s entry point. If the routine consists of 680x0 code and the kProcDescriptorIsRelative flag is set, then this field contains the offset from the beginning of the routine descriptor to the routine’s entry point. If the routine consists of PowerPC code, the kFragmentIsPrepared flag is set, and the kProcDescriptorIsAbsolute flag is set, then this field contains the address of the routine’s transition vector. If the routine consists of PowerPC code, the kFragmentNeedsPreparing flag is set, and the kProcDescriptorIsRelative flag is set, then this field contains the offset from the beginning of the routine descriptor to the routine’s entry point.

    reserved2

    Reserved. This field must be 0.

    selector

    Reserved. This field must be 0. For routines that are dispatched, this field contains the routine selector.

  • A routine record is a data structure that contains information about a particular routine. The routine descriptor specifies, among other things, the instruction set architecture of the routine, the number and size of the routine’s parameters, the routine’s calling conventions, and the routine’s location in memory. At least one routine record is contained in the routineRecords field of a routine descriptor. A routine record is defined by the RoutineRecord data type.


    © 2000 Apple Computer, Inc. (Last Updated 6/30/2000)