home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
032.lha
/
include
/
exec
/
tasks.g
< prev
next >
Wrap
Text File
|
1987-05-16
|
2KB
|
86 lines
type
Node_t = unknown 14,
List_t = unknown 14,
Task_t = struct {
Node_t tc_Node;
byte tc_Flags;
byte tc_State;
short tc_IDNestCnt;
short tc_TDNestCnt;
ulong tc_SigAlloc;
ulong tc_SigWait;
ulong tc_SigRecvd;
ulong tc_SigExcept;
uint tc_TrapAlloc;
uint tc_TrapAble;
*byte tc_ExceptData;
*byte tc_ExceptCode;
*byte tc_TrapData;
*byte tc_TrapCode;
*byte tc_SPReg;
*byte tc_SPLower;
*byte tc_SPUpper;
proc()void tc_Switch;
proc()void tc_Launch;
List_t tc_MemEntry;
*byte tc_UserData;
};
byte
TB_PROCTIME = 0,
TB_STACKCHK = 4,
TB_EXCEPT = 5,
TB_SWITCH = 6,
TB_LAUNCH = 7,
TF_PROCTIME = (1<<0),
TF_STACKCHK = (1<<4),
TF_EXCEPT = (1<<5),
TF_SWITCH = (1<<6),
TF_LAUNCH = (1<<7),
TS_INVALID = 0,
TS_ADDED = 1,
TS_RUN = 2,
TS_READY = 3,
TS_WAIT = 4,
TS_EXCEPT = 5,
TS_REMOVED = 6,
SIGB_ABORT = 0,
SIGB_CHILD = 1,
SIGB_BLIT = 4,
SIGB_SINGLE = 4,
SIGB_DOS = 8,
SIGF_ABORT = (1<<0),
SIGF_CHILD = (1<<1),
SIGF_BLIT = (1<<4),
SIGF_SINGLE = (1<<4),
SIGF_DOS = (1<<8);
extern
AddTask(*Task_t task; *byte initialPC, finalPC)void,
AllocSignal(ulong signalNum)ulong,
AllocTrap(ulong trapNum)ulong,
CreateTask(*char name; short pri; *byte initPC; ulong stackSize)*Task_t,
DeleteTask(*Task_t task)void,
Disable()void,
Enable()void,
FindTask(*char name)*Task_t,
Forbid()void,
FreeSignal(ulong sigNum)void,
FreeTrap(ulong trapNum)void,
getCC()uint,
Permit()void,
RemTask(*Task_t t)void,
SetExcept(ulong newSignals, signalMask)ulong,
SetSignal(ulong newSignals, signalMask)ulong,
SetSR(ulong newSR, mask)uint,
SetTaskPri(*Task_t t; long priority)short,
Signal(*Task_t t; ulong signals)void,
SuperState()*byte,
UserState(*byte sysStack)void,
Wait(ulong signalSet)ulong;