Code: Select all
// setup a task handler
APTR task_stack = __AllocMem(SysBase, TASK_STACK_SIZE, MEMF_ANY|MEMF_CLEAR);
if (task_stack != NULL)
{
device->Task.tc_SPLower = task_stack;
device->Task.tc_SPUpper = (APTR) ((ULONG)task_stack + TASK_STACK_SIZE);
device->Task.tc_SPReg = device->Task.tc_SPUpper;
device->Task.tc_Node.ln_Type = NT_TASK;
device->Task.tc_Node.ln_Pri = TASK_PRIORITY;
device->Task.tc_Node.ln_Name = (char *) DevName;
device->Task.tc_UserData = (APTR) device;
__AddTask(SysBase, &(device->Task), (APTR) TASK_METHOD, NULL);
}