home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / NETVIEW.ZIP / NETVIEW.MOD < prev   
Text File  |  1989-11-14  |  3KB  |  139 lines

  1. MODULE NetView;
  2.  
  3. IMPORT NETCONS;
  4. IMPORT OS2DEF;
  5. IMPORT SERVER;
  6.  
  7. IMPORT IO;
  8. IMPORT Lib;
  9. IMPORT Str;
  10. IMPORT SYSTEM;
  11.  
  12. CONST
  13.     MAX_SERVER = 100;
  14.  
  15. VAR
  16.     asvrServerList    : ARRAY[1..MAX_SERVER] OF SERVER.SERVER_INFO_1; (* COMMENTS are here also! *)
  17.     bSpaceFill        : BOOLEAN;
  18.     c                 : CARDINAL;
  19.     szComment         : ARRAY[0..255] OF CHAR;
  20.     usRes             : OS2DEF.USHORT;
  21.     usCurrentEntry    : OS2DEF.USHORT;
  22.     usEntriesRead     : OS2DEF.USHORT;
  23.     usTotalEntries    : OS2DEF.USHORT;
  24.  
  25. (* ------------------------------------------------------------------- *)
  26. PROCEDURE CopyPSZtoArray( pszP1    : SYSTEM.ADDRESS;
  27.                           VAR szS1 : ARRAY OF CHAR
  28.                         );
  29. VAR
  30.     cOff   : CARDINAL;
  31.     bByte  : SYSTEM.BYTE;
  32.  
  33. BEGIN
  34.  
  35. IF pszP1 = SYSTEM.ADDRESS( 0 )
  36. THEN
  37.     Str.Copy( szS1, "<NULL>" );
  38. ELSE
  39.     cOff  := 0;
  40.     Lib.Move( pszP1, SYSTEM.ADR(bByte), 1 );
  41.  
  42.     WHILE (CHR(bByte) # CHR(0)) AND (cOff < HIGH(szS1))
  43.     DO
  44.         szS1[cOff] := CHR(bByte);
  45.         INC(cOff);
  46.         pszP1 := Lib.AddAddr(pszP1 , 1);
  47.         Lib.Move( pszP1, SYSTEM.ADR(bByte), 1 );
  48.     END;
  49.  
  50.     szS1[cOff] := 0C;
  51. END;
  52.  
  53. END CopyPSZtoArray;
  54. (* ------------------------------------------------------------------- *)
  55. BEGIN
  56.  
  57. usEntriesRead := 0;
  58.  
  59. usRes := SERVER.NETSERVERENUM( OS2DEF.NullStr
  60.                              , 1      (* We want level 1 information *)
  61.                              , OS2DEF.LONG(ADR(asvrServerList))
  62.                              , SIZE(asvrServerList)
  63.                              , usEntriesRead
  64.                              , usTotalEntries
  65.                              );
  66.  
  67. IO.WrLn;
  68. IO.WrLn;
  69. IO.WrStr("NetServerEnum report on ");
  70. IO.WrCard(usEntriesRead,0);
  71. IO.WrStr(" servers, from a total server set of ");
  72. IO.WrCard(usTotalEntries,0);
  73. IO.WrStr(" entries.");
  74. IO.WrLn;
  75. IO.WrLn;
  76.  
  77. IF usRes # 0
  78. THEN
  79.     IO.WrStr("Abnormal return code from NetServerEnum: ");
  80.     IO.WrCard(usRes,0);
  81.     IO.WrLn;
  82.     IO.WrLn;
  83. END;
  84.  
  85. usCurrentEntry := 0;
  86.  
  87. LOOP
  88.     (* Get next server *)
  89.     INC( usCurrentEntry );
  90.  
  91.     IF (usCurrentEntry > usEntriesRead)
  92.        OR
  93.        (usCurrentEntry > MAX_SERVER)
  94.     THEN
  95.         (* No more servers to enum *)
  96.         EXIT
  97.     END;
  98.  
  99.     bSpaceFill := FALSE;
  100.  
  101.     FOR c := 0 TO NETCONS.CNLEN
  102.     DO
  103.         IF asvrServerList[usCurrentEntry].sv1_name[c] = 0C
  104.         THEN
  105.             bSpaceFill := TRUE
  106.         END;
  107.  
  108.         IF bSpaceFill
  109.         THEN
  110.             asvrServerList[usCurrentEntry].sv1_name[c] := ' ';
  111.         END;
  112.     END;
  113.  
  114.     IO.WrStr("\\");
  115.     IO.WrStr(asvrServerList[usCurrentEntry].sv1_name);
  116.     IO.WrStr(" ");
  117.     IO.WrCard(VAL(CARDINAL,asvrServerList[usCurrentEntry].sv1_version_major),3);
  118.     IO.WrStr(".");
  119.     IO.WrCard(VAL(CARDINAL,asvrServerList[usCurrentEntry].sv1_version_minor),0);
  120.  
  121.     IF (( SERVER.SV_TYPE_SQLSERVER * asvrServerList[usCurrentEntry].sv1_type) # OS2DEF.LSET{})
  122.     THEN
  123.         IO.WrStr(" <SQL> ")
  124.     ELSE
  125.         IO.WrStr(" <...> ")
  126.     END;
  127.  
  128.     CopyPSZtoArray( asvrServerList[usCurrentEntry].sv1_comment
  129.                   , szComment
  130.                   );
  131.  
  132.     IO.WrStr(szComment);
  133.  
  134.     IO.WrLn();
  135.  
  136. END;
  137.  
  138. END NetView.
  139.