dev tabの設定箇所
dev_tab[dibp->dev + j]にdibp->dsp[j]を設定している(Code) dev_tab[dptr->ctxt->dev + j] = dptr->ctxt->dsp[j]
そしてdptrはsim_devices[i](Code) dev_tab[sim_devices[i]->ctxt->dev + j] = sim_devices[i]->ctxt->dsp[j]
sim_devices[]のdpy_dev(Code)について dpy_devはDEVICE型
DEVICE型はstruct DEVICEをtypedefしたもの
ctxtはstruct DEVICEの17番目のメンバー(Code) dpy_devの17番目のメンバー(ctxt)はdpy_dib(Code) dpy_dibはDIB型
DIB型はtypedefされた構造体であり、その定義はここ dpy_dibの1番目のメンバー(dev)にはDEV_DPYという定数が設定されている(Code) dpy_dibの4番目のメンバー(dsp)には{ &dpy05, &dpy06, &dpy07, &dpy10 }という4つの関数ポインタが設定されている(Code) 従って、sim_devices[i] = dpy_devの時、
sim_devices[i]->ctxt->dev = dpy_dev->ctxt->dev = 5
jの範囲は0から3
で、dev_tab[]としては、
dev_tab[5 + 0] = dev_tab[5] = dpy05関数
dev_tab[5 + 1] = dev_tab[6] = dpy06関数
dev_tab[5 + 2] = dev_tab[7] = dpy07関数
dev_tab[5 + 3] = dev_tab[8] = dpy10関数
となる
sim_devices[i] = tti_devの時、
sim_devices[i]->ctxt->dev = dpy_dev->ctxt->dev = 3
jの範囲は0
で、dev_tab[]としては、
dev_tab[3 + 0] = dev_tab[3] = tti関数