home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Washington_1988 / Devcon_Extras / Utilities / config.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-08-27  |  3.5 KB  |  85 lines

  1. /*
  2.  
  3.     Examine stats for all AutoConfig(tm) boards in the system
  4.  
  5.     Bryce Nesbitt Sunday 01-Jan-89 18:29:57
  6.  
  7.  */
  8. #include "exec/types.h"
  9. #include "libraries/configvars.h"
  10. #include "proto/expansion.h"
  11.  
  12. struct Library *OpenLibrary();
  13. struct ConfigDev *FindConfigDev();
  14.  
  15. struct Library *ExpansionBase;
  16.  
  17. void main()
  18. {
  19. struct ConfigDev *myCD=0;
  20. static int sizearray[8]={128,1,2,4,8,16,32,64};
  21.  
  22.     ExpansionBase=OpenLibrary("expansion.library",0L);
  23.     while(myCD=FindConfigDev(myCD,-1L,-1L)) /* find all ConfigDev's */
  24.     {
  25.     printf("\n---ConfigDev structure found at location $%lx---\n",myCD);
  26.     printf("Node                    =");
  27.     printf("$%lx",myCD->cd_Node.ln_Succ);
  28.     printf(",$%lx",myCD->cd_Node.ln_Pred);
  29.     printf(",$%x",myCD->cd_Node.ln_Type);
  30.     printf(",$%x",myCD->cd_Node.ln_Pri);
  31.     printf(",$%lx\n",myCD->cd_Node.ln_Name);
  32.     printf("cd_Flags                =$%X\n",myCD->cd_Flags);
  33.         printf("1  : ConfigMe!          =%d\n",((myCD->cd_Flags) >> 1 )&1);
  34.         printf("0  : Have been shutup?  =%d\n",myCD->cd_Flags&1);
  35.     printf("cd_Pad                  =$%X\n",myCD->cd_Pad);
  36.     printf("cd_BoardAddr            =$%lX\n",myCD->cd_BoardAddr);
  37.     printf("cd_BoardSize            =$%lX (%ldK)\n",myCD->cd_BoardSize,((ULONG)myCD->cd_BoardSize)/1024);
  38.     printf("cd_SlotAddr (private)   =%d\n",myCD->cd_SlotAddr);
  39.     printf("cd_SlotSize (private)   =%d\n",myCD->cd_SlotSize);
  40.     printf("cd_Driver               =$%lX\n",myCD->cd_Driver);
  41.     printf("cd_NextCD               =$%lX\n",myCD->cd_NextCD);
  42.     printf("cd_Unused               =");
  43.         printf("$%lX",myCD->cd_Unused[0]);
  44.         printf(",$%lX",myCD->cd_Unused[1]);
  45.         printf(",$%lX",myCD->cd_Unused[2]);
  46.         printf(",$%lX\n",myCD->cd_Unused[3]);
  47.     printf("er_Type                 =");
  48.         printf("%d,",myCD->cd_Rom.er_Type);
  49.         printf("$%x\n",myCD->cd_Rom.er_Type);
  50.         printf("7-6: Board Style        =%d\n",(myCD->cd_Rom.er_Type >> 6 )&3);
  51.         printf("5  : Link to memlist?   =%d\n",(myCD->cd_Rom.er_Type >> 5 )&1);
  52.         printf("4  : InitDiag valid?    =%d\n",(myCD->cd_Rom.er_Type >> 4 )&1);
  53.         printf("3  : Chained config?    =%d\n",(myCD->cd_Rom.er_Type >> 4 )&1);
  54.         printf("2-0: Space needed...    =%d",myCD->cd_Rom.er_Type & 7);
  55.         printf(" (%ldK)\n",sizearray[(myCD->cd_Rom.er_Type & 7)]*64L);
  56.     printf("er_Product              =");
  57.         printf("%d,",myCD->cd_Rom.er_Product);
  58.         printf("$%x\n",myCD->cd_Rom.er_Product);
  59.     printf("er_Flags                =");
  60.         printf("%d,",myCD->cd_Rom.er_Flags);
  61.         printf("$%x\n",myCD->cd_Rom.er_Flags);
  62.         printf("7  : 8 meg space        =%d\n",((myCD->cd_Rom.er_Flags) >> 7 )&1);
  63.         printf("6  : Shutupable?        =%d\n",((myCD->cd_Rom.er_Flags) >> 6 )&1);
  64.     printf("er_Reserved03           =");
  65.         printf("%d,",myCD->cd_Rom.er_Reserved03);
  66.         printf("$%x\n",myCD->cd_Rom.er_Reserved03);
  67.     printf("er_Manufacturer         =");
  68.         printf("%d,",myCD->cd_Rom.er_Manufacturer);
  69.         printf("$%x,",myCD->cd_Rom.er_Manufacturer);
  70.         printf("(~$%4x)\n",~myCD->cd_Rom.er_Manufacturer);
  71.     printf("er_SerialNumber         =");
  72.         printf("%d,",myCD->cd_Rom.er_SerialNumber);
  73.         printf("$%x\n",myCD->cd_Rom.er_SerialNumber);
  74.     printf("er_InitDiagVec          =");
  75.         printf("%d,",myCD->cd_Rom.er_InitDiagVec);
  76.         printf("$%x\n",myCD->cd_Rom.er_InitDiagVec);
  77.     printf("er_Reserved[0c-0f]      ="); /* read 4 bytes at once */
  78.         printf("$%X",myCD->cd_Rom.er_Reserved0c);
  79.         printf(",$%X",myCD->cd_Rom.er_Reserved0d);
  80.         printf(",$%X",myCD->cd_Rom.er_Reserved0e);
  81.         printf(",$%X\n",myCD->cd_Rom.er_Reserved0f);
  82.     }
  83.     CloseLibrary(ExpansionBase);
  84. }
  85.