home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / EFFO / forum4.lzh / SPRACHEN / C / EVENTS / edir.c next >
C/C++ Source or Header  |  1988-02-14  |  1KB  |  72 lines

  1. /* edir  gibt das eventdirectory aus */
  2. /* Stand: 14.2.88   Autor: Uwe Simon */
  3.  
  4. #include <events.h>
  5. #include <stdio.h>
  6.  
  7.  
  8. usage()
  9. {
  10.     fprintf(stderr,"Syntax: edir [<opts>]\n");
  11.     fprintf(stderr,"Function: display event directory\n");
  12.     fprintf(stderr,"Options:\n");
  13.     fprintf(stderr,"\t-e\tprint extendet event directory\n");
  14.     fprintf(stderr,"\t-u\tprint unformatted listing\n");
  15.     exit(1);
  16. }    
  17.  
  18.  
  19. main(argc,argv)
  20. int argc;
  21. char *argv[];
  22. {
  23.     if(argc>2) usage();
  24.     if(argc==1) edir(0);
  25.     else {
  26.         if(*argv[1]=='-')
  27.             switch(toupper(argv[1][1])) {
  28.                 case  '?': usage();
  29.                     break;
  30.                 case  'E': edir(1);
  31.                     break;
  32.                 case  'U': edir(2);
  33.                     break;
  34.                 default: usage();
  35.             }
  36.     }
  37. }
  38.  
  39.  
  40. edir(ex)
  41. int ex;
  42. {    
  43.     event ev;
  44.     int i=0;
  45.     int date,time,tick;
  46.     short day;
  47.     _sysdate(0,&time,&date,&day,&tick);
  48.     if(ex!=2) printf("   Event Directory at %2d:%02d:%02d\n\n",time>>16,(time>>8)&0xff,time &0xff);
  49.     if(ex==1) {
  50.         printf("#Lnk  Value Wait Inc Sig Inc Event Name\n");
  51.         printf("----- ----- -------- ------- ----------\n");
  52.     }
  53.     while(_ev_info(i,&ev)!=-1) {
  54.         switch(ex) {
  55.             case 1: 
  56.                 printf("%5d %5d %8d %7d %s\n",ev._ev_link,ev._ev_value,ev._ev_winc, ev._ev_sinc,ev._ev_name);
  57.                 break;
  58.             case 2:
  59.                 printf("%s\n",ev._ev_name);
  60.                 break;
  61.             case 0:
  62.                 printf("%-15s",ev._ev_name);
  63.                 if((i%4)==3) printf("\n");
  64.                 break;
  65.         }
  66.         i++;
  67.     }
  68.     if((ex==0) && (i%4)) printf("\n");
  69. }
  70.     
  71.  
  72.