Summary of the Deferred Task Manager
Pascal Summary
Data Type
TYPE DeferredTask =
RECORD
qLink: QElemPtr; {next queue entry}
qType: Integer; {queue type}
dtFlags: Integer; {reserved}
dtAddr: ProcPtr; {pointer to task}
dtParm: LongInt; {optional parameter passed in A1}
dtReserved: LongInt; {reserved; should be 0}
END;
Deferred Task Manager Routine
FUNCTION DTInstall(dtTaskPtr: QElemPtr): OSErr;
Application-Defined Routine
PROCEDURE MyDeferredTask;
C Summary
Data Type
struct DeferredTask {
QElemPtr qLink; /*next queue entry*/
short qType; /*queue type*/
short dtFlags; /*reserved*/
ProcPtr dtAddr; /*pointer to task*/
long dtParm; /*optional parameter passed in A1*/
long dtReserved; /*reserved; should be 0*/
};
Deferred Task Manager Routine
pascal OSErr DTInstall(QElemPtr dtTaskPtr);
Application-Defined Routine
pascal void MyDeferredTask(void);
Assembly-Language Summary
Deferred Task Manager Queue Element
0 | qLink | long | pointer to next queue entry |
4 | qType | word | queue type |
6 | dtFlags | word | reserved |
| 8 | dtAddr | long | pointer to task |
| 12 | dtParm | long | optional parameter to be passed in A1 |
| 16 | dtReserved | long | reserved; should be 0 |
Global Variables
| DTQueue | 10 bytes | Deferred task queue header. |
| jDTInstall | long | Jump vector for DTInstall function. |
Result Codes
| noErr | 0 | No error |
| vTypErr | -2 | Invalid qType value (must be ORD(dtQType)) |