#help_index "Info;Task" U0 TaskRepTask(CTask *task, I64 indent, Bool verbose) { CTask *task1; I64 i; if (!IsRaw) "%h*c$MA,T=\"%08X\",LM=\"Kill(0x%X);\n\",$ $BLACK$#%d$FG$ $TX,\"%$Q...\",SCX=16$\n", indent, CH_SPACE, task, task, task->task_num, task->task_title; else "%h*c%08X #%d %$Q\n", indent, CH_SPACE, task, task->task_num, task->task_title; if (!verbose) "%h*c%08X %04X:%04X:%08X\n", indent + 2, CH_SPACE, TaskMemAlloced(task), task->task_flags, task->display_flags, task->win_inhibit; else { "%h*cMemory Allocated: 0x%08X\n", indent + 2, CH_SPACE, TaskMemAlloced(task); "%h*cMemory Used: 0x%08X\n", indent + 2, CH_SPACE, TaskMemUsed(task); "%h*cTask Flags: 0x%04X\n", indent + 2, CH_SPACE, task->task_flags; for (i = 0; i < TASKf_FLAGS_NUM; i++) if (Bt(&task->task_flags, i)) "%h*c+ %Z\n", indent + 4, CH_SPACE, i, "ST_TASK_FLAGS"; "%h*cDisplay Flags: 0x%04X\n", indent + 2, CH_SPACE, task->display_flags; for (i = 0; i < DISPLAYf_FLAGS_NUM; i++) if (Bt(&task->display_flags, i)) "%h*c+ %Z\n", indent + 4, CH_SPACE, i, "ST_DISPLAY_FLAGS"; "%h*cWindow Inhibit: 0x%08X\n", indent + 2, CH_SPACE, task->win_inhibit; for (i = 0; i < WIf_FLAGS_NUM; i++) if (Bt(&task->win_inhibit, i)) "%h*c- %Z\n", indent + 4, CH_SPACE, i, "ST_WIN_INHIBIT_FLAGS"; } task1 = task->next_child_task; while (task1 != (&task->next_child_task)(U8 *) - offset(CTask.next_sibling_task)) { TaskRepTask(task1, indent + 2, verbose); task1 = task1->next_sibling_task; } } public U0 TaskRep(Bool verbose=FALSE) {//Report current tasks on all cores. I64 i; CCPU *c; PUSHFD CLI for (i = 0; i < mp_count; i++) { c = &cpu_structs[i]; if (!IsRaw) "$PURPLE$CPU%02X$FG$\n", i; else "CPU%02X\n", i; TaskRepTask(c->executive_task, 2, verbose); } POPFD }