home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / adb / defs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1979-01-10  |  2.0 KB  |  134 lines

  1. #
  2. /*
  3.  *
  4.  *    UNIX debugger - common definitions
  5.  *
  6.  */
  7.  
  8.  
  9.  
  10. /*    Layout of a.out file (fsym):
  11.  *
  12.  *    header of 8 words    magic number 405, 407, 410, 411
  13.  *                text size    )
  14.  *                data size    ) in bytes but even
  15.  *                bss size    )
  16.  *                symbol table size
  17.  *                entry point
  18.  *                {unused}
  19.  *                flag set if no relocation
  20.  *
  21.  *
  22.  *    header:        0
  23.  *    text:        16
  24.  *    data:        16+textsize
  25.  *    relocation:    16+textsize+datasize
  26.  *    symbol table:    16+2*(textsize+datasize) or 16+textsize+datasize
  27.  *
  28.  */
  29.  
  30.  
  31. #include <sys/param.h>
  32. #include <sys/dir.h>
  33. #include <sys/reg.h>
  34. #include <sys/user.h>
  35. #include <sgtty.h>
  36. #include "mac.h"
  37. #include "mode.h"
  38.  
  39.  
  40. #define VARB    11
  41. #define VARD    13
  42. #define VARE    14
  43. #define VARM    22
  44. #define VARS    28
  45. #define VART    29
  46.  
  47. #define COREMAGIC 0140000
  48.  
  49. #define RD    0
  50. #define WT    1
  51. #define NSP    0
  52. #define    ISP    1
  53. #define    DSP    2
  54. #define STAR    4
  55. #define STARCOM 0200
  56. #define DSYM    7
  57. #define ISYM    2
  58. #define ASYM    1
  59. #define NSYM    0
  60. #define ESYM    (-1)
  61. #define BKPTSET    1
  62. #define BKPTEXEC 2
  63. #define    SYMSIZ    100
  64. #define MAXSIG    20
  65.  
  66. #define USERPS    2*(512-1)
  67. #define USERPC    2*(512-2)
  68. #define BPT    03
  69. #define FD    0200
  70. #define    SETTRC    0
  71. #define    RDUSER    2
  72. #define    RIUSER    1
  73. #define    WDUSER    5
  74. #define WIUSER    4
  75. #define    RUREGS    3
  76. #define    WUREGS    6
  77. #define    CONTIN    7
  78. #define    SINGLE    9
  79. #define    EXIT    8
  80.  
  81. #define FROFF    (&(0->fpsr))
  82. #define FRLEN    25
  83. #define FRMAX    6
  84.  
  85. #define    ps    -1
  86. #define    pc    -2
  87. #define    sp    -6
  88. #define    r5    -9
  89. #define    r4    -10
  90. #define    r3    -11
  91. #define    r2    -12
  92. #define    r1    -5
  93. #define    r0    -3
  94.  
  95. #define MAXOFF    255
  96. #define MAXPOS    80
  97. #define MAXLIN    128
  98. #define EOF    0
  99. #define EOR    '\n'
  100. #define TB    '\t'
  101. #define QUOTE    0200
  102. #define STRIP    0177
  103. #define LOBYTE    0377
  104. #define EVEN    -2
  105.  
  106.  
  107. /* long to ints and back (puns) */
  108. union {
  109.     INT    I[2];
  110.     L_INT    L;
  111. } itolws;
  112.  
  113. #define leng(a)        ((long)((unsigned)(a)))
  114. #define shorten(a)    ((int)(a))
  115. #define itol(a,b)    (itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
  116.  
  117.  
  118.  
  119. /* result type declarations */
  120. L_INT        inkdot();
  121. SYMPTR        lookupsym();
  122. SYMPTR        symget();
  123. POS        get();
  124. POS        chkget();
  125. STRING        exform();
  126. L_INT        round();
  127. BKPTR        scanbkpt();
  128. VOID        fault();
  129.  
  130. typedef struct sgttyb TTY;
  131. TTY    adbtty, usrtty;
  132. #include <setjmp.h>
  133. jmp_buf erradb;
  134.