home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / utility / misc / guideutl / callguid / callguid.c next >
C/C++ Source or Header  |  1993-05-21  |  1KB  |  62 lines

  1. /* 1stGuide oder 1stView rufen
  2.  */
  3.  
  4. #include <aes.h>
  5. #include <tos.h>
  6. #include <errors.h>
  7. #include <vaproto.h>
  8.  
  9. int main(int argc,char *argv[])
  10. {
  11.  int event, viewer, gl_apid, open, msg[8];
  12.  int ret=0;
  13.  long adr;
  14.  EVENT evm = { MU_MESAG|MU_TIMER, 0, 0, 0, 0,0,0,0,0, 0,0,0,0,0, 2000,0,
  15.                0, 0,0,0,0,0,0, {0,0,0,0,0,0,0,0} };
  16.  
  17.  if(argc==2)
  18.  {
  19.   if((gl_apid=appl_init())<0) Pterm(ENSMEM);
  20.   viewer=appl_find("1STGUIDE");
  21.   if(viewer<0) viewer=appl_find("1STVIEW ");
  22.   if(viewer<0) ret=EFILNF;
  23.   else
  24.   {
  25.    adr=(long)argv[1];
  26.    msg[0]=VA_START;
  27.    msg[1]=gl_apid;
  28.    msg[2]=0;
  29.    msg[3]=(int)(adr>>16);
  30.    msg[4]=(int)(adr&0x00ffffL);
  31.    msg[5]=0; msg[6]=0; msg[7]=0;
  32.    appl_write(viewer,16,msg);
  33.    do
  34.    {
  35.     event=EvntMulti(&evm);
  36.     if(event&MU_TIMER) break;
  37.    }
  38.    while(evm.ev_mmgpbuf[0]!=AV_ACCWINDOPEN);
  39.    if(event&MU_TIMER) ret=EFILNF;
  40.    else
  41.    {
  42.     evm.ev_mflags=MU_MESAG;
  43.     evm.ev_mtlocount=0;
  44.     open=1;
  45.     do
  46.     {
  47.      event=EvntMulti(&evm);
  48.      if(event&MU_MESAG)
  49.      {
  50.       if(evm.ev_mmgpbuf[0]==AV_ACCWINDCLOSED) open--;
  51.       else if(evm.ev_mmgpbuf[0]==AV_ACCWINDOPEN) open++;
  52.      }
  53.     }
  54.     while(open>0);
  55.    }
  56.   }
  57.   appl_exit();
  58.  }
  59.  else ret=ENMFIL;
  60.  return(ret);
  61. }
  62.