Carbon


Special Case Calling Convention Constants

Header: MixedMode.h

enum {
    kSpecialCaseHighHook = 0,
    kSpecialCaseCaretHook = 0,
    kSpecialCaseEOLHook = 1,
    kSpecialCaseWidthHook = 2,
    kSpecialCaseTextWidthHook = 2,
    kSpecialCaseNWidthHook = 3,
    kSpecialCaseDrawHook = 4,
    kSpecialCaseHitTestHook = 5,
    kSpecialCaseTEFindWord = 6,
    kSpecialCaseProtocolHandler = 7,
    kSpecialCaseSocketListener = 8,
    kSpecialCaseTERecalc = 9,
    kSpecialCaseTEDoText = 10,
    kSpecialCaseGNEFilterProc = 11,
    kSpecialCaseMBarHook = 12
};

Constant descriptions

kSpecialCaseHighHook

The routine follows the calling conventions documented in Inside Macintosh: Text; a rectangle is on the stack and a pointer is in register A3; no result is returned.

kSpecialCaseCaretHook

The routine follows the calling conventions documented in Inside Macintosh: Text; a rectangle is on the stack and a pointer is in register A3; no result is returned.

kSpecialCaseEOLHook

Parameters are passed to the routine in registers A3, A4, and D0, and output is returned in the Z flag of the Status Register. An EOLHook routine has these calling conventions.

kSpecialCaseWidthHook

Parameters are passed to the routine in registers A0, A3, A4, D0, and D1, and output is returned in register D1. A WIDTHHook routine has these calling conventions.

kSpecialCaseTextWidthHook

Parameters are passed to the routine in registers A0, A3, A4, D0, and D1, and output is returned in register D1. A TextWidthHook routine has these calling conventions.

kSpecialCaseNWidthHook

Parameters are passed to the routine in registers A0, A2, A3, A4, D0, and D1, and output is returned in register D1. An nWIDTHHook routine has these calling conventions.

kSpecialCaseDrawHook

Parameters are passed to the routine in registers A0, A3, A4, D0, and D1, and no result is returned. A DRAWHook routine has these calling conventions.

kSpecialCaseHitTestHook

Parameters are passed to the routine in registers A0, A3, A4, D0, D1, and D2, and output is returned in registers D0, D1, and D2. A HITTESTHook routine has these calling conventions.

kSpecialCaseTEFindWord

Parameters are passed to the routine in registers A3, A4, D0, and D2, and output is returned in registers D0 and D1. A TEFindWord hook has these calling conventions.

kSpecialCaseProtocolHandler

Parameters are passed to the routine in registers A0, A1, A2, A3, A4, and in the low-order word of register D1; output is returned in the Z flag of the Status Register. A protocol handler has these calling conventions.

kSpecialCaseSocketListener

Parameters are passed to the routine in registers A0, A1, A2, A3, A4, in the low-order byte of register D0, and in the low-order word of register D1; output is returned in the Z flag of the Status Register. A socket listener has these calling conventions.

kSpecialCaseTERecalc

Parameters are passed to the routine in registers A3 and D7, and output is returned in registers D2, D3, and D4. A TextEdit line-start recalculation routine has these calling conventions.

kSpecialCaseTEDoText

Parameters are passed to the routine in registers A3, D3, D4, and D7, and output is returned in registers A0 and D0. A TextEdit text-display, hit-test, and caret-positioning routine has these calling conventions.

kSpecialCaseGNEFilterProc

Parameters are passed to the routine in registers A1 and D0 and on the stack, and output is returned on the stack. A GetNextEvent filter procedure has these calling conventions.

kSpecialCaseMBarHook

Parameters are passed to the routine on the stack, and output is returned in register D0. A menu bar hook routine has these calling conventions.

These constants are used by the ProcInfoType type to specify a routine’s calling conventions.


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