home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / monitors / rsys / source.lha / src / RSysGlobal.c < prev    next >
C/C++ Source or Header  |  1995-01-09  |  15KB  |  275 lines

  1. /*
  2. ***************************************************************************
  3. *
  4. * Datei:
  5. *    RSysGlobal.c
  6. *
  7. * Inhalt:
  8. *
  9. * Bemerkungen:
  10. *    Globale Daten für RSys (Flags, Menus etc.)
  11. *
  12. * Erstellungsdatum:
  13. *    07-Jul-93    Rolf Böhme
  14. *
  15. * Änderungen:
  16. *    07-Jul-93    Rolf Böhme    Erstellung
  17. *
  18. ***************************************************************************
  19. */
  20.  
  21. #include "RSysFunc.h"
  22.  
  23. struct Library *DiskfontBase           = NULL;
  24. struct Library *AslBase                = NULL;
  25. struct Library *GadToolsBase           = NULL;
  26. struct Library *UtilityBase            = NULL;
  27. struct Library *CxBase                 = NULL;
  28. struct Library *IFFParseBase           = NULL;
  29. struct Library *IconBase               = NULL;
  30.  
  31. struct WorkbenchBase *WorkbenchBase    = NULL;
  32. struct IntuitionBase *IntuitionBase    = NULL;
  33. struct GfxBase *GfxBase                = NULL;
  34. struct ExpansionBase *ExpansionBase    = NULL;
  35. struct AmigaGuideBase *AmigaGuideBase  = NULL;
  36.  
  37. struct ExecBase *SysBase;
  38.  
  39. UBYTE namebuffer[MAXPUBSCREENNAME + 1] = (UBYTE *) "Workbench",
  40.       autocon[MAXFULLNAME];
  41.  
  42. char _fullpath[MAXFULLNAME];
  43.  
  44. struct List ListeLVList;
  45.  
  46. struct Screen *Scr = NULL;
  47. APTR  VisualInfo = NULL;
  48. struct Window *SysWnd = NULL;
  49. struct Gadget *SysGList = NULL;
  50. struct Menu *SysMenus = NULL;
  51. UWORD SysZoom[4];
  52. struct Gadget *SysGadgets[19];
  53. UWORD SysLeft = 153;
  54. UWORD SysTop = 30;
  55. UWORD SysWidth = 391;
  56. UWORD SysHeight = 173;
  57. UBYTE *SysWdt = (UBYTE *) NAME " " VERSION " (" DATE ", " TIME ")";
  58. struct TextAttr *Font;
  59. UWORD FontX,
  60.       FontY;
  61. UWORD OffX,
  62.       OffY;
  63. struct TextAttr Topaz80 =
  64. {
  65.    (STRPTR) "topaz.font", TOPAZ_EIGHTY, FS_NORMAL, FPF_ROMFONT
  66. };
  67.  
  68. /* ----------------------------------------------------------- *
  69. #include <clib/keymap_protos.h>
  70. struct Library *KeymapBase = NULL;
  71. void
  72. test(void)
  73. {
  74.    int a = 1, b = 0;
  75.  
  76.    a = a / b;
  77.  
  78.    MapANSI((STRPTR)"huhu",4L,(STRPTR)"huhu",4L, NULL);
  79.  
  80. }
  81. /* ----------------------------------------------------------- */
  82.  
  83.  
  84. struct NewMenu SysNewMenu[]=
  85. {
  86.    /* 00 */ {NM_TITLE, (UBYTE *) "Project", NULL, 0, 0, NULL,},
  87.  
  88.    /* 01 */ {NM_ITEM, (UBYTE *) "Iconify, <ESC>", (UBYTE *) "I", 0, 0, Iconify,},
  89.    /* 02 */ {NM_ITEM, (UBYTE *) "Help", (UBYTE *) "H", 0, 0, Help,},
  90.    /* 03 */ {NM_ITEM, (UBYTE *) NM_BARLABEL, NULL, 0, NULL, NULL,},
  91.    /* 04 */ {NM_ITEM, (UBYTE *) "Reload action file", 0, 0, 0, BuildActionList,},
  92.    /* 05 */ {NM_ITEM, (UBYTE *) NM_BARLABEL, NULL, 0, NULL, NULL,},
  93.    /* 06 */ {NM_ITEM, (UBYTE *) "About...", NULL, 0, 0, About,},
  94.    /* 07 */ {NM_ITEM, (UBYTE *) NM_BARLABEL, NULL, 0, NULL, NULL,},
  95.    /* 08 */ {NM_ITEM, (UBYTE *) "Quit " NAME "...", (UBYTE *) "Q", 0, 0, quit,},
  96.  
  97.  
  98.    /* 09 */ {NM_TITLE, (UBYTE *) "Other Lists", NULL, 0, 0, NULL,},
  99.  
  100.    /* 10 */ {NM_ITEM, (UBYTE *) "Exec",       NULL, 0, 0, NULL,},
  101.  
  102.    /* 11 */ {NM_SUB,  (UBYTE *) "Software Devices",   (STRPTR)"1", 0, 0, SysSoftDeviceList,},
  103.    /* 12 */ {NM_SUB,  (UBYTE *) "Vectors",            (STRPTR)"2", 0, 0, SysVectorList,},
  104.    /* 13 */ {NM_SUB,  (UBYTE *) "CLI processes",      NULL, 0, 0, SysCLIList,},
  105.    /* 14 */ {NM_SUB,  (UBYTE *) "Resident programs",  NULL, 0, 0, SysResidentProg,},
  106.    /* 15 */ {NM_SUB,  (UBYTE *) "Semaphores",         NULL, 0, 0, SysSemaphoreList,},
  107.  
  108.    /* 16 */ {NM_ITEM, (UBYTE *) "DOS",        NULL, 0, 0, NULL,},
  109.  
  110.    /* 17 */ {NM_SUB,  (UBYTE *) "Volume locks",       (STRPTR)"3", 0, 0, RSysLockList,},
  111.    /* 18 */ {NM_SUB,  (UBYTE *) "Physical Devices",   NULL, 0, 0, SysResidentList,},
  112.  
  113.    /* 19 */ {NM_ITEM, (UBYTE *) "Graphics",   NULL, 0, 0, NULL,},
  114.  
  115.    /* 20 */ {NM_SUB,  (UBYTE *) "Display modes",      (STRPTR)"4", 0, 0, RSysGetDisplayModes,},
  116.    /* 21 */ {NM_SUB,  (UBYTE *) "Blitter Wait Queue", NULL, 0, 0, SysBlitterWaitList,},
  117.    /* 22 */ {NM_SUB,  (UBYTE *) "TOF Wait Queue",     NULL, 0, 0, SysTOFWaitList,},
  118.  
  119.    /* 23 */ {NM_ITEM, (UBYTE *) "Diskfont",   NULL, 0, 0, NULL,},
  120.  
  121.    /* 24 */ {NM_SUB,  (UBYTE *) "Fonts in FONTS:",    (STRPTR)"5", 0, 0, SysAvailFontsList,},
  122.  
  123.    /* 25 */ {NM_ITEM, (UBYTE *) "Intuition",  NULL, 0, 0, NULL,},
  124.  
  125.    /* 26 */ {NM_SUB,  (UBYTE *) "Public Screens",     (STRPTR)"6", 0, 0, SysPubScreenList,},
  126.    /* 27 */ {NM_SUB,  (UBYTE *) "Gadgets",            NULL, 0, 0, RSysGadgetList,},
  127.  
  128.    /* 28 */ {NM_ITEM, (UBYTE *) NM_BARLABEL, NULL, 0, NULL, NULL,},
  129.  
  130.    /* 29 */ {NM_ITEM, (UBYTE *) "Preferences",        NULL, 0, 0, NULL,},
  131.  
  132.    /* 30 */ {NM_SUB,  (UBYTE *) "Preferences Data",   (STRPTR)"7", 0, 0, SysPrefList,},
  133.    /* 31 */ {NM_SUB,  (UBYTE *) "Printer data",       NULL, 0, 0, SysExtPrinterData,},
  134.    /* 32 */ {NM_SUB,  (UBYTE *) "ENV-Variables",      NULL, 0, 0, SysEnvList,},
  135.  
  136.    /* 33 */ {NM_ITEM, (UBYTE *) "Other libraries",    NULL, 0, 0, NULL,},
  137.  
  138.    /* 34 */ {NM_SUB,  (UBYTE *) "Commodities",        (STRPTR)"8", 0, 0, SysBrokerList,},
  139.    /* 35 */ {NM_SUB,  (UBYTE *) "Amigaguide XRef",    (STRPTR)"9", 0, 0, RSysAmigaGuideRefList,},
  140.  
  141.  
  142.    /* 36 */ {NM_TITLE, (UBYTE *) "Actions",   NULL, 0, 0, NULL,},
  143.  
  144.    /* 37 */ {NM_ITEM, (UBYTE *) "CRC Check...",       NULL, 0, 0, CRCSum,},
  145.    /* 38 */ {NM_ITEM, (UBYTE *) "Crypt File...",      NULL, 0, 0, CryptFile,},
  146.    /* 39 */ {NM_ITEM, (UBYTE *) "List Hunks...",      NULL, 0, 0, HunkStruct,},
  147.    /* 40 */ {NM_ITEM, (UBYTE *) "Find File...",       NULL, 0, 0, FindFile,},
  148.    /* 41 */ {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  149.    /* 42 */ {NM_ITEM, (UBYTE *) "Format Disk...",     NULL, 0, 0, FormatDisk,},
  150.    /* 43 */ {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  151.    /* 44 */ {NM_ITEM, (UBYTE *) "Save windows...",    NULL, 0, 0, SaveWindows,},
  152.    /* 45 */ {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  153.    /* 46 */ {NM_ITEM, (UBYTE *) "Check Libraries",    NULL, 0, 0, SysCheckOffs,},
  154.  
  155.  
  156.    /* 47 */ {NM_TITLE, (UBYTE *) "Internal List",     NULL, 0, 0, NULL,},
  157.  
  158.    /* 48 */ {NM_ITEM, (UBYTE *) "Save current list",  (UBYTE *) "S", 0, 0, SaveCurrentList},
  159.    /* 49 */ {NM_ITEM, (UBYTE *) "Restore saved list", (UBYTE *) "R", 0, 0, RestoreList},
  160.    /* 50 */ {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  161.    /* 51 */ {NM_ITEM, (UBYTE *) "Kill saved list",    NULL, 0, 0, KillList},
  162.  
  163.  
  164.    /* 52 */ {NM_TITLE, (UBYTE *) "Flushing",          NULL, 0, 0, NULL,},
  165.  
  166.    /* 53 */ {NM_ITEM, (UBYTE *) "Flush libraries",    NULL, 0, 0, RSysFlushAllLibraries},
  167.    /* 54 */ {NM_ITEM, (UBYTE *) "Flush fonts",        NULL, 0, 0, RSysFlushAllFonts},
  168.    /* 55 */ {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  169.    /* 56 */ {NM_ITEM, (UBYTE *) "Flush all libraries and fonts", NULL, 0, 0, RSysFlushAll},
  170.  
  171.  
  172.    /* 57 */ {NM_TITLE, (UBYTE *) "Clip",         NULL, 0, 0, NULL,},
  173.  
  174.    /* 58 */ {NM_ITEM, (UBYTE *) "Clip entry...",         (UBYTE *)"C", 0, 0, RSysEntryToClip,},
  175.    /* 59 */ {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  176.    /* 60 */ {NM_ITEM, (UBYTE *) "Clip list",          NULL, 0, 0, RSysListToClip,},
  177.  
  178.  
  179.    /* 61 */ {NM_TITLE, (UBYTE *) "Flags",             NULL, 0, 0, NULL,},
  180.  
  181.    /* 62 */ {NM_ITEM, (UBYTE *) "Fast Mode",          (UBYTE *) "F", CHECKIT | CHECKED | MENUTOGGLE, 0, ToggleFastMode},
  182.    /* 63 */ {NM_ITEM, (UBYTE *) "Sorting",            (UBYTE *) "O", CHECKIT | CHECKED | MENUTOGGLE, 0, ToggleSortMode},
  183.    /* 64 */ {NM_ITEM, (UBYTE *) "Working bar",        (UBYTE *) "B", CHECKIT | MENUTOGGLE, 0, ToggleWorkingBar},
  184.    /* 65 */ {NM_ITEM, (UBYTE *) "Auto front window",  (UBYTE *) "Z", CHECKIT | MENUTOGGLE, 0, ToggleAutoFront},
  185.    /* 66 */ {NM_ITEM, (UBYTE *) "Mouse window",       (UBYTE *) "M", CHECKIT | MENUTOGGLE, 0, ToggleMouseWindow},
  186.    /* 67 */ {NM_ITEM, (UBYTE *) "Topaz Font",         (UBYTE *) "T", CHECKIT | MENUTOGGLE, 0, ToggleTopazFont},
  187.    /* 68 */ {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  188.    /* 69 */ {NM_ITEM, (UBYTE *) "Speaking",           (UBYTE *) "N", CHECKIT | MENUTOGGLE, 0, ToggleSpeakMode},
  189.    /* 70 */ {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  190.    /* 71 */ {NM_ITEM, (UBYTE *) "Save asking",        NULL, CHECKIT | CHECKED | MENUTOGGLE, 0, ToggleAskingMode},
  191.  
  192. /* ----------------------------------------------------------- *
  193.    {NM_ITEM, (UBYTE *) NM_BARLABEL,          NULL, 0, NULL, NULL,},
  194.    {NM_ITEM, (UBYTE *) "Trap handler test (for betas only!)",        NULL, 0, NULL, test},
  195. /* ----------------------------------------------------------- */
  196.  
  197.    /* 71 */ {NM_END, NULL,                            NULL, 0, NULL, NULL}
  198.  
  199. };
  200.  
  201. struct MsgPort *SysIdPort;
  202.  
  203. ScrollEntry *Entries = NULL;
  204.  
  205. EntryAttribute EntryAttr[]=
  206. {
  207.    /* 00 */ {"Task",                    "Taskname            Typ  Pri Stack Stat Cli",  "%-18.18s %4.4s %4ld %5ld %4.4s %3.3s",     MakeTaskList,           1   },
  208.    /* 01 */ {"Library",                 "Libraryname               Version OpenCnt O",  "%-24s %4ld.%-3ld %7ld %lc",                MakeLibList,            1   },
  209.    /* 02 */ {"Memory",                  "Memory address     Size    Type",              "%08lx     %10ld %s",                       MakeMemoryList,         0   },
  210.    /* 03 */ {"Port",                    "Portname               Signal-Task      Pri",  "%-22s %-15s %4ld",                         MakePortList,           1   },
  211.    /* 04 */ {"Volume",                  "Volumename   K-Free K-Used %Used F Sta Typ",   "%-12.12s %6ld %6ld %4ld%% %lc %3.3s %4.4s",MakeVolumeList,         1   },
  212.    /* 05 */ {"Assign",                  "Assign        Directory",                      "%-13.13s %-29.29s",                        MakeAssignList,         1   },
  213.    /* 06 */ {"Font",                    "Fontname             Typ    Y   X Low Upp",    "%-20s %-4s %3ld %3ld %3ld %3ld",           MakeFontList,           1   },
  214.    /* 07 */ {"Resource",                "Resourcename                Version OpenCnt",  "%-26.26s %4ld.%-3ld %6ld",                 MakeResList,            1   },
  215.    /* 08 */ {"Interrupt",               "Interruptname         Pri   Data     Code",    "%-20.20s %4ld %08lx %08lx",                MakeIntrList,           1   },
  216.    /* 09 */ {"Window",                  "Windowtitle         H   W   X   Y Screen",     "%-17.17s %3ld %3ld %3ld %3ld %-10.10s",    MakeWindowList,         1   },
  217.    /* 10 */ {"Screen",                  "Screentitle               H   W   X   Y Typ",  "%-23.23s %3ld %3ld %3ld %3ld %3.3s",       MakeScreenList,         1   },
  218.    /* 11 */ {"Input Handler",           "Inputhandler name     Pri   Data     Code",    "%-20.20s %4ld %08lx %08lx",                MakeHandlerList,        1   },
  219.    /* 12 */ {"System Infos",            "                  Systeminfo",                 NULL,                                       MakeSystemList,         0   },
  220.    /* 13 */ {"Hardware Infos",          "               Hardware/Expansion",            NULL,                                       MakeHardwareList,       0   },
  221.    /* 14 */ {"Online Help",             "                  Online Help",                NULL,                                       NULL,                   0   },
  222.    /* 15 */ {"Preferences",             "                  Preferences",                NULL,                                       SysPrefList,            0   },
  223.    /* 16 */ {"Devices/Handler",         "Device name   Driver/Handler",                 "%-13.13s %-28.28s",                        SysResidentList,        1   },
  224.    /* 17 */ {"Diskfonts",               "Font name            Type   Y Style",          "%-20.20s %-4.4s %3ld %10.10s",             SysAvailFontsList,      1   },
  225.    /* 18 */ {"ENV:-List",                "ENV-Variable  Content",                        "%-13.13s %-28.28s",                        SysEnvList,             1   },
  226.    /* 19 */ {"CLI-List",                "CLI nr. Name             Pri  Stack",          "CLI %-3ld %-15.15s %4ld %6ld",             SysCLIList,             1   },
  227.    /* 20 */ {"Resident Program",       "Resident name    UseCount  Type",              "%-20.20s %4ld %-14.14s",                   SysResidentProg,        1   },
  228.    /* 21 */ {"Semaphore",               "Semaphore name          Pri Ownertask",        "%-22.22s %4ld %-12.12s",                   SysSemaphoreList,       1   },
  229.    /* 22 */ {"System vector",           "               System Vectors",                NULL,                                       SysVectorList,          0   },
  230.    /* 23 */ {"Software Device",         "Devicename                  Version OpenCnt",  "%-26.26s %4ld.%-3ld %6ld",                 SysSoftDeviceList,      1   },
  231.    /* 24 */ {"Public Screen",           "Address  Name              VCnt SigTask",      "%08lx %-18.18s %3ld %-9.9s",               SysPubScreenList,       1   },
  232.    /* 25 */ {"Blitter Waiter",          "Name                 Prio",                    "%-20.20s %3ld",                            SysBlitterWaitList,     1   },
  233.    /* 26 */ {"TOF Waiter",              "Name                 Prio",                    "%-20.20s %3ld",                            SysTOFWaitList,         1   },
  234.    /* 27 */ {"Commodity",               "Commodity name      Prio",                     "%-20.20s %3ld",                            SysBrokerList,          1   },
  235.    /* 28 */ {"Printer data",            "                 Printer data",                 NULL,                                      SysExtPrinterData,      0   },
  236.    /* 29 */ {"Library offsets",          "           Library/Devices offsets",            NULL,                                       SysCheckOffs,          0   },
  237.    /* 30 */ {"Available Display Modes", "Name              Depth   MinR      MaxR",     "%-17.17s  %3ld  %4ld,%-4ld %4ld,%-4ld",    RSysGetDisplayModes,    1   },
  238.    /* 31 */ {"Volume locks",            "File                                Access ",  "%-35.35s  %-5s",                           RSysLockList,           1   },
  239.    /* 32 */ {"Amigaguide XRef",         "XRef keyword   Type File           Line",      "%-14.14s %4.4s %-15.15s %4ld",             RSysAmigaGuideRefList,  1   },
  240.    /* 33 */ {"Gadgets",                 "Gadget text    Typ    PosX PosY    W    H",    "%-14.14s %6.6s %4ld %4ld %4ld %4ld",       RSysGadgetList,         0   },
  241. };
  242.  
  243. struct _flags Flags =
  244. {
  245.    1, 1, 0, 0, 0, 0, 0, 1, 1,
  246.  
  247. /* RSys private */
  248.    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  249. };
  250.  
  251. int   countentries;
  252. int   topentry;
  253.  
  254. int   LastID = SYSTEMINFO;
  255.  
  256. int ReopenWindow = FALSE;
  257.  
  258. const char *field[] = {
  259.    "-",
  260.    "<no id>",
  261.    "<no flags>",
  262.    "<no task>",
  263.    "<no node>",
  264.    "<wrong type: %ld>",
  265.    "<??>",
  266.    "<no title>",
  267.    "<no baudrate>",
  268.    "<no parity>",
  269.    "<no handshk>",
  270.    "<no handler>",
  271.    "<no file>",
  272.    "<no lock>",
  273.    " "
  274. };
  275.