#define usermode (CPU_MODE == USER) #define kernelmode (CPU_MODE == KERNEL) #define userthreadrun (_curr_ctxt == (mem[curr_id].contextPtr) && _user_thread[curr_id] && _syst_run) #define threadrun (_curr_ctxt == (mem[curr_id].contextPtr) && _syst_run) #define kernelaccess ((CPU_MODE == segment[0]) || kernelmode) #define waitingthread (used[ut_init_id] && mem[ut_init_id].msgQueue.msgPendingStatus == WAITING) #define notwaitingthread (used[ut_init_id] && mem[ut_init_id].msgQueue.msgPendingStatus == NOT_WAITING) #define readythread (used[ut_init_id] && mem[ut_init_id].schedInfo.status == READY) #define blockedthread (used[ut_init_id] && mem[ut_init_id].schedInfo.status == BLOCKED) #define runningthread (used[ut_init_id] && mem[ut_init_id].schedInfo.status == RUNNING) #define runningthreadcurr (used[curr_id] && mem[curr_id].schedInfo.status == RUNNING) #define pendingPtrval (used[ut_init_id] && mem[ut_init_id].msgQueue.msgPendingPtr == _reply_chan[ut_init_id])