mac-rom/OS/HFS/Extensions/QMgrEqu.a
Elliot Nunn 0ba83392d4 Bring in CubeE sources
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.
2017-09-20 18:04:16 +08:00

67 lines
2.2 KiB
Plaintext

;
; File: QMgrEqu.a
;
; Contains: Equates for the Queue Manager
;
; Written by: Dave Feldman
;
; Copyright: © 1989-1991 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <4> 9/13/91 JSM Cleanup header.
; <3> 3/17/91 dnf dba, dty, #84977: Change interruptRegs to be the right
; registers. Add pascalRegs, and other register-related equates.
; <2> 9/22/90 dnf Add compatibility layer queue refnum
; <1.0> 9/18/89 dnf Adding to ease for the first time
;
; Queue Manager Globals
QMGlobals record 0, increment
DTQueuePtr ds.l 1 ; pointer to desktop mgr queue record
CLQueuePtr ds.l 1 ; pointer to the compatibility layer queue record
size equ *-QMGlobals
endr
; Queue Manager record
; Note that the first three fields are a standard OS queue, and they need to stay that way.
QMRec record 0, increment
qFlags ds.w 1 ; miscellaneous flags [word]
qHead ds.l 1 ; first element in queue [pointer]
qTail ds.l 1 ; last element in queue [pointer]
qType ds.w 1 ; queue refnum/queue type
qmFlags ds.b 1 ; QM flags
resrv1 ds.b 1 ; alignment byte
enQHook ds.l 1 ; hook called before enqueuing
deQHook ds.l 1 ; hook called just before dequeuing
stackBase ds.l 1 ; base of A6 stack
curStack ds.l 1 ; current A6 stack ptr (for i/o)
highWater ds.l 1 ; checked at each i/o
dsErr ds.w 1 ; where dsErr
perf1 ds.l 1 ; for performance measurement
perf2 ds.l 1
size equ *-QMRec
endr
; Queue Manager record flag bits
qIsBusy equ 0 ; 1 if queue is busy, 0 if queue is free
asyncCall equ 1 ; 1 if call is async, 0 if call is sync
; For now, use static Queue refNum assignment.
desktopQType equ 22
fsCompatQType equ 23
clStackSize equ 1500 ; compatibility layer gets 1500 bytes of stack
; Definitions for register saving: sets of registers, and register saving opcode
interruptRegs reg a4-a6/d4-d7 ; the ones that the interrupt dispatchers do not save
pascalRegs reg a2-a6/d3-d7 ; registers that Pascal needs protected
MOVEMSPPostIncOpcode equ $4CDF ; movem.l (sp)+, opcode
VolatileInterruptRegisterMask equ $70F0 ; a4-a6/d4-d7 register mask