TCBOf
TERMINAL_CONTROL_BLOCK *TCB = TCBOf(SP_PARM);
TERMINAL_CONTROL_BLOCK *TCB = TCBOf(sp);
rc = TCBOf(sp)->drv->td_testmouse(TCBOf(sp), delay EVENTLIST_2nd(evl));
TCBOf(SP_PARM)->drv->td_scinit(SP_PARM);
TCBOf(sp)->csp = sp;
#define InfoOf(sp) TCBOf(sp)->info
#define CallDriver(sp,method) TCBOf(sp)->drv->method(TCBOf(sp))
#define CallDriver_1(sp,method,arg1) TCBOf(sp)->drv->method(TCBOf(sp),arg1)
#define CallDriver_2(sp,method,arg1,arg2) TCBOf(sp)->drv->method(TCBOf(sp),arg1,arg2)
#define CallDriver_3(sp,method,arg1,arg2,arg3) TCBOf(sp)->drv->method(TCBOf(sp),arg1,arg2,arg3)
#define CallDriver_4(sp,method,arg1,arg2,arg3,arg4) TCBOf(sp)->drv->method(TCBOf(sp),arg1,arg2,arg3,arg4)
# define IsTermInfo(sp) ((TCBOf(sp) != 0) && ((TCBOf(sp)->drv->isTerminfo)))
#define ENSURE_TINFO(sp) (TCBOf(sp)->drv->isTerminfo)
TERMINAL_CONTROL_BLOCK *TCB = TCBOf(sp);
rc = TCBOf(sp)->drv->td_twait(TCBOf(sp),