home *** CD-ROM | disk | FTP | other *** search
/ Network CD 2 / Network CD - Volume 2.iso / programs / internet / envoy / netprobe_4_24.lha / NetProbe / src / ui-shell.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-04  |  4.6 KB  |  202 lines

  1. //
  2. //  $Log: ui-shell.c,v $
  3. //  Revision 1.4  1994/10/04  01:13:13  hakan
  4. //  PROGDIR:-Abhängigkeit beseitigt
  5. //
  6. //  Revision 1.3  1994/09/11  11:44:07  hakan
  7. //  Wurx...
  8. //
  9. //  Revision 1.2  1994/07/11  21:58:05  hakan
  10. //  Just used to test src/Timer.c
  11. //
  12. //  Revision 1.1  1994/06/14  20:37:43  hakan
  13. //  Initial revision
  14. //
  15. //
  16.  
  17. static char* RCSId = "$Id: ui-shell.c,v 1.4 1994/10/04 01:13:13 hakan Exp $";
  18.  
  19. #include "extern.h"
  20. #include "ui-shell.h"
  21.  
  22.  
  23.  
  24. static long             scanmode;
  25. static LONG             opts[OPT_COUNT];
  26. static struct RDArgs*   args        = NULL;
  27. static char**           realms      = NULL;
  28. static char*            savef       = NULL;
  29. static long             ScanRunning = TRUE;
  30.  
  31.  
  32.  
  33. BOOL CreateUI (int argc, char* argv[])
  34. {
  35.     char* template =
  36.     "O=Owner/S,IP=IP-Addr/S,Kick=Kickstart/S,WB=Workbench/S,NIPC/S,"
  37.     "FM=FastMem/S,CM=ChipMem/S,P=Processor/S,C=Chips/S,S=Services/S,E=Entities/S,"
  38.     "A=All/S,SR=ScanRealms/S,SH=ScanHosts/S,SA=ScanAll/S,SP=ScanPing/K,K=Kludge/S,"
  39.     "SF=SaveFile/K,MT=MaxTime/K/N,MP=MaxPackets/K/N,R=Realms/K/M"
  40.     "";
  41.  
  42.     args = ReadArgs (template, opts, NULL);
  43.  
  44.  
  45.     if (args)
  46.     {
  47.         scanmode = MODE_SCAN_HOSTS;
  48.  
  49.         if (opts [OPT_ALL])
  50.         {
  51.             opts [OPT_OWNER    ] = 1;
  52.             opts [OPT_IPADDR   ] = 1;
  53.             opts [OPT_KICKSTART] = 1;
  54.             opts [OPT_WORKBENCH] = 1;
  55.             opts [OPT_NIPC     ] = 1;
  56.             opts [OPT_FAST_MEM ] = 1;
  57.             opts [OPT_CHIP_MEM ] = 1;
  58.             opts [OPT_PROCESSOR] = 1;
  59.             opts [OPT_CHIPS    ] = 1;
  60.             opts [OPT_SERVICES ] = 1;
  61.             opts [OPT_ENTITIES ] = 1;
  62.         }
  63.  
  64.         SetOption (OPT_OWNER,       NP_Owner,       "Owner");
  65.         SetOption (OPT_IPADDR,      NP_IPAddr,      "IPAddr");
  66.         SetOption (OPT_KICKSTART,   NP_KickVersion, "KickVersion");
  67.         SetOption (OPT_WORKBENCH,   NP_WBVersion,   "WBVersion");
  68.         SetOption (OPT_NIPC,        NP_NIPCVersion, "NIPCVersion");
  69.         SetOption (OPT_FAST_MEM,    NP_MaxFastMem,  "MaxFastMem");
  70.         SetOption (OPT_FAST_MEM,    NP_AvailFastMem,"AvailFastMem");
  71.         SetOption (OPT_CHIP_MEM,    NP_MaxChipMem,  "MaxChipMem");
  72.         SetOption (OPT_CHIP_MEM,    NP_AvailChipMem,"AvailChipMem");
  73.         SetOption (OPT_PROCESSOR,   NP_ATTNFlags,   "ATTNFlags");
  74.         SetOption (OPT_CHIPS,       NP_ChipRevBits, "ChipRevBits");
  75.         SetOption (OPT_SERVICES,    NP_Services,    "Services");
  76.         SetOption (OPT_ENTITIES,    NP_Entities,    "Entities");
  77.  
  78.         if (opts [OPT_KLUDGE])  NP_Config |= NP_402_Kludge;
  79.  
  80.         SetMode (OPT_SCAN_REALMS, MODE_SCAN_REALMS, "Realms");
  81.         SetMode (OPT_SCAN_HOSTS,  MODE_SCAN_HOSTS,  "Hosts");
  82.         SetMode (OPT_SCAN_ALL,    MODE_SCAN_ALL,    "All");
  83.         SetMode (OPT_SCAN_PING,   MODE_SCAN_PING,   "Ping");
  84.         
  85.         NP_ScanHost = (char*) opts [OPT_SCAN_PING];
  86.  
  87.         SetNum  (OPT_MAX_TIME,    NP_ScanTime,      "MaxTime");
  88.         SetNum  (OPT_MAX_PACKETS, NP_ScanPackets,   "MaxPackets");
  89.  
  90.         realms = (char**) (opts [OPT_REALMS]);
  91.  
  92.         savef = (char*) opts [OPT_SAVEFILE];
  93.  
  94.         if (!NP_ScanHost)    NP_ScanHost    = "backbone:kahalo";
  95.         if (!NP_ScanTime)    NP_ScanTime    = 1;
  96.         if (!NP_ScanPackets) NP_ScanPackets = 10;
  97.     }
  98.     else
  99.     {
  100.         PrintFault (IoErr(), NULL);
  101.         return (FALSE);
  102.     }
  103.  
  104.     return (TRUE);
  105. }
  106.  
  107.  
  108.  
  109. void DestroyUI (void)
  110. {
  111. }
  112.  
  113.  
  114.  
  115. void EventLoop (void)
  116. {
  117.     switch (scanmode)
  118.     {
  119.         case MODE_SCAN_REALMS:
  120.             ScanRealms ();
  121.             break;
  122.  
  123.         case MODE_SCAN_HOSTS:
  124.             if (realms)
  125.             {
  126.                 char** r;
  127.                 for (r = realms; *r; r++)
  128.                 {
  129.                     ScanHosts (*r);
  130.                 }
  131.             }
  132.             else
  133.             {
  134.                 ScanHosts (NULL);
  135.             }
  136.             break;
  137.  
  138.         case MODE_SCAN_ALL:
  139.             ScanAll ();
  140.             break;
  141.  
  142.         case MODE_SCAN_PING:
  143.             NP_Config |= NP_SingleHost;
  144.             ScanPing ();
  145.             break;
  146.  
  147.         default:
  148.             break;
  149.     }
  150.  
  151.     Delay (25);
  152.  
  153.     {
  154.         struct List* h;
  155.         struct List* r;
  156.  
  157.         h = Hosts();
  158.         r = Realms();
  159.  
  160.         if ((!IsListEmpty(h)) || (!IsListEmpty(r)))
  161.         {
  162.             printf ("\n");
  163.             SaveList (savef);
  164.         }
  165.     }
  166. }
  167.  
  168.  
  169.  
  170. BOOL OpenScanWindow (long max)
  171. {
  172.     return (TRUE);
  173. }
  174.  
  175.  
  176.  
  177. void CloseScanWindow (void)
  178. {
  179. }
  180.  
  181.  
  182.  
  183. BOOL ShowScan (long current)
  184. {
  185.     int i;
  186.  
  187.     for (i=0; i<5; i++)
  188.     {
  189.         SendIO (TimeRequest ());
  190.  
  191.         Wait (1 << TimePort()->mp_SigBit);
  192.  
  193.         while (GetMsg (TimePort()))
  194.             ;
  195.  
  196.         printf (".");
  197.         fflush (stdout);
  198.     }
  199.  
  200.     return (FALSE);
  201. }
  202.