home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / ingres04.lzh / source / ctlmod / sysdump.c < prev    next >
Encoding:
C/C++ Source or Header  |  1985-01-23  |  2.1 KB  |  132 lines

  1. # include    "ctlmod.h"
  2. # include    <tree.h>
  3. # include    <sccs.h>
  4.  
  5. SCCSID(@(#)sysdump.c    8.1    12/31/84)
  6.  
  7. /*
  8. **  SYSDUMP -- dump all parameters & state of system.
  9. **
  10. **    This is a process to put in for debugging.
  11. */
  12.  
  13. extern int    sysdump();
  14. extern int    null_fn();
  15. extern int    dump_cm();
  16.  
  17. short    tTsysdump[40];
  18.  
  19. struct fn_def    SysDmpFn =
  20. {
  21.     "SYSDUMP",
  22.     sysdump,
  23.     dump_cm,
  24.     null_fn,
  25.     NULL,
  26.     0,
  27.     tTsysdump,
  28.     40,
  29.     'Q',
  30.     0
  31. };
  32.  
  33. sysdump(pc, pv)
  34.     int        pc;
  35.     register PARM    pv[];
  36. {
  37.     register int    i;
  38.     auto char    cx;
  39.  
  40.     tTfp(30, 0, "\n\nENTERED SYSDUMP\n\n");
  41.  
  42.     tTfp(30, 1, "Parameter vector:\n");
  43.  
  44.     if (tTf(30, 2))
  45.         prvect(pc, pv);
  46.  
  47.     tTfp(30, 3, "\nMonitor input: \"");
  48.  
  49.     if (tTf(30, 4))
  50.     {
  51.         while (readmon(&cx, 1) > 0)
  52.             xputchar(cx);
  53.  
  54.         printf("\"\n");
  55.     }
  56.  
  57.     if (tTf(30, 5))
  58.     {
  59.         printf("\nQuery tree area:\n");
  60.         printf("Qmode = %d\tResvar = %d\n", Qt.qt_qmode, Qt.qt_resvar);
  61.     }
  62.  
  63.     if (tTf(30, 6))
  64.     {
  65.         printf("\nRange table:\n");
  66.         for (i = 0; i < MAXRANGE; i++)
  67.         {
  68.             if (Qt.qt_rangev[i].rngvdesc != NULL)
  69.             {
  70.                 printf("\nVAR %d: ", i);
  71.                 printdesc(Qt.qt_rangev[i].rngvdesc);
  72.             }
  73.         }
  74.         printf("\n\n");
  75.     }
  76.  
  77.     return (0);
  78. }
  79. /*
  80. **  DUMP_CM -- dump control module configuration table.
  81. */
  82.  
  83. /*ARGSUSED*/
  84. dump_cm(argc, argv)
  85. int    argc;
  86. char    **argv;
  87. {
  88.     register int        i;
  89.     register state_t    *s;
  90.     register proc_t        *pr;
  91.     static int        reenter;
  92.  
  93.     if (!tTf(30, 0) || reenter++ > 0)
  94.         return;
  95.  
  96.     printf("\n\n\nCONTROL MODULE CONFIGURATION TABLES:\n");
  97.  
  98.     printf("\nThe states:\n");
  99.     for (i = 0, s = Cm.cm_state; i < CM_MAXST; i++, s++)
  100.     {
  101.         if (s->st_type == ST_UNDEF)
  102.             continue;
  103.         printf("%3d: stat %3o ", i, s->st_stat);
  104.         switch (s->st_type)
  105.         {
  106.           case ST_LOCAL:
  107.             printf("(loc) func %d next %2d\n", s->st_v.st_loc.st_funcno,
  108.                 s->st_v.st_loc.st_next);
  109.             break;
  110.  
  111.           case ST_REMOT:
  112.             printf("(rem) proc %d\n", s->st_v.st_rem.st_proc);
  113.             break;
  114.  
  115.           default:
  116.             printf("bad type %d\n", s->st_type);
  117.             break;
  118.         }
  119.     }
  120.  
  121.     printf("\nThe procs:\n");
  122.     for (i = 0, pr = Cm.cm_proc; i < CM_MAXPROC; i++, pr++)
  123.     {
  124.         printf("%3d: stat %4o file %2d ninput %2d\n", i, pr->pr_stat,
  125.             pr->pr_file, pr->pr_ninput);
  126.     }
  127.  
  128.     printf("\nInitial input = %d\n", Cm.cm_input);
  129.  
  130.     printf("\n\n\n");
  131. }
  132.