/* 1stGuide oder 1stView rufen */ #include #include #include #include int main(int argc,char *argv[]) { int event, viewer, gl_apid, open, msg[8]; int ret=0; long adr; EVENT evm = { MU_MESAG|MU_TIMER, 0, 0, 0, 0,0,0,0,0, 0,0,0,0,0, 2000,0, 0, 0,0,0,0,0,0, {0,0,0,0,0,0,0,0} }; if(argc==2) { if((gl_apid=appl_init())<0) Pterm(ENSMEM); viewer=appl_find("1STGUIDE"); if(viewer<0) viewer=appl_find("1STVIEW "); if(viewer<0) ret=EFILNF; else { adr=(long)argv[1]; msg[0]=VA_START; msg[1]=gl_apid; msg[2]=0; msg[3]=(int)(adr>>16); msg[4]=(int)(adr&0x00ffffL); msg[5]=0; msg[6]=0; msg[7]=0; appl_write(viewer,16,msg); do { event=EvntMulti(&evm); if(event&MU_TIMER) break; } while(evm.ev_mmgpbuf[0]!=AV_ACCWINDOPEN); if(event&MU_TIMER) ret=EFILNF; else { evm.ev_mflags=MU_MESAG; evm.ev_mtlocount=0; open=1; do { event=EvntMulti(&evm); if(event&MU_MESAG) { if(evm.ev_mmgpbuf[0]==AV_ACCWINDCLOSED) open--; else if(evm.ev_mmgpbuf[0]==AV_ACCWINDOPEN) open++; } } while(open>0); } } appl_exit(); } else ret=ENMFIL; return(ret); }