Annotation of 3BSD/cmd/sdb/defs.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *
                      3:  *     UNIX debugger - common definitions
                      4:  *
                      5:  */
                      6: 
                      7: 
                      8: 
                      9: /*     Layout of a.out file (fsym):
                     10:  *
                     11:  *     header of 8 longwords
                     12:  *                             magic number 410
                     13:  *                             text size       )
                     14:  *                             data size       ) padded with 0 to multiple of 4 bytes
                     15:  *                             bss size        )
                     16:  *                             symbol table size
                     17:  *                             entry address
                     18:  *                             size of text relocation info
                     19:  *                             size of data relocation info
                     20:  *
                     21:  *
                     22:  *     header:         0
                     23:  *     text:           32
                     24:  *     data:           32+textsize
                     25:  *     text reloc:     32+textsize+datasize
                     26:  *     data reloc:     32+textsize+datasize+textreloc
                     27:  *     symbol table:   32+textsize+datasize+textreloc+datareloc
                     28:  *
                     29:  */
                     30: 
                     31: #include <sys/param.h>
                     32: #include <sys/dir.h>
                     33: #include <sys/psl.h>
                     34: #include <sys/user.h>
                     35: #include "mac.h"
                     36: #include "mode.h"
                     37: 
                     38: 
                     39: #define VARB   11
                     40: #define VARD   13
                     41: #define VARE   14
                     42: #define VARM   22
                     43: #define VARS   28
                     44: #define VART   29
                     45: 
                     46: #define COREMAGIC 0140000
                     47: 
                     48: /* access modes */
                     49: #define RD     0
                     50: #define WT     1
                     51: 
                     52: /* access spaces */
                     53: #define NSP    0
                     54: #define        ISP     1
                     55: #define        DSP     2
                     56: 
                     57: #define STAR   4
                     58: #define STARCOM 0200
                     59: #define DSYM   4
                     60: #define ISYM   4
                     61: #define ASYM   2
                     62: #define NSYM   0
                     63: #define ESYM   (-1)
                     64: #define BKPTSET        1
                     65: #define BKPTEXEC 2
                     66: #define        SYMSIZ  100
                     67: #define MAXSIG 20
                     68: 
                     69: #define USERPS PSL
                     70: #define USERPC PC
                     71: #define BPT    03
                     72: #define TBIT   020
                     73: #define FD     0200
                     74: 
                     75: /* ptracew modes */
                     76: #define        SETTRC  0
                     77: #define        RDUSER  2
                     78: #define        RIUSER  1
                     79: #define        WDUSER  5
                     80: #define WIUSER 4
                     81: #define        RUREGS  3
                     82: #define        WUREGS  6
                     83: #define        CONTIN  7
                     84: #define        EXIT    8
                     85: #define SINGLE 9
                     86: 
                     87: #define FROFF  (&(0->fpsr))
                     88: #define FRLEN  25
                     89: #define FRMAX  6
                     90: 
                     91: /* the quantities involving ctob() are located in the kernel stack.
                     92: /* the others are in the pcb.
                     93: */
                     94: #define KSP 0
                     95: #define ESP 4
                     96: #define SSP 8
                     97: #ifdef VAX135
                     98: #define USP (ctob(UPAGES)-5*4)
                     99: #define R0 (ctob(UPAGES)-18*4)
                    100: #define R1 (ctob(UPAGES)-17*4)
                    101: #define R2 (ctob(UPAGES)-16*4)
                    102: #define R3 (ctob(UPAGES)-15*4)
                    103: #define R4 (ctob(UPAGES)-14*4)
                    104: #define R5 (ctob(UPAGES)-13*4)
                    105: #define R6 (ctob(UPAGES)-12*4)
                    106: #define R7 (ctob(UPAGES)-11*4)
                    107: #define R8 (ctob(UPAGES)-10*4)
                    108: #define R9 (ctob(UPAGES)-9*4)
                    109: #define R10 (ctob(UPAGES)-8*4)
                    110: #define R11 (ctob(UPAGES)-7*4)
                    111: #define AP (ctob(UPAGES)-21*4)
                    112: #define FP (ctob(UPAGES)-20*4)
                    113: #define PC (ctob(UPAGES)-2*4)
                    114: #define PSL (ctob(UPAGES)-1*4)
                    115: #else
                    116: #define USP (ctob(UPAGES)-5*4)
                    117: #define R0 (ctob(UPAGES)-19*4)
                    118: #define R1 (ctob(UPAGES)-18*4)
                    119: #define R2 (ctob(UPAGES)-17*4)
                    120: #define R3 (ctob(UPAGES)-16*4)
                    121: #define R4 (ctob(UPAGES)-15*4)
                    122: #define R5 (ctob(UPAGES)-14*4)
                    123: #define R6 (ctob(UPAGES)-13*4)
                    124: #define R7 (ctob(UPAGES)-12*4)
                    125: #define R8 (ctob(UPAGES)-11*4)
                    126: #define R9 (ctob(UPAGES)-10*4)
                    127: #define R10 (ctob(UPAGES)-9*4)
                    128: #define R11 (ctob(UPAGES)-8*4)
                    129: #define AP (ctob(UPAGES)-7*4)
                    130: #define FP (ctob(UPAGES)-6*4)
                    131: #define PC (ctob(UPAGES)-2*4)
                    132: #define PSL (ctob(UPAGES)-1*4)
                    133: #endif
                    134: #define P0BR 80
                    135: #define P0LR 84
                    136: #define P1BR 88
                    137: #define P1LR 92
                    138: 
                    139: #define MAXOFF 255
                    140: #define MAXPOS 80
                    141: #define MAXLIN 128
                    142: #define EOR    '\n'
                    143: #define SP     ' '
                    144: #define TB     '\t'
                    145: #define QUOTE  0200
                    146: #define STRIP  0177
                    147: #define LOBYTE 0377
                    148: #define EVEN   -2
                    149: 
                    150: 
                    151: #ifndef vax
                    152: #define leng(a)                ((long)((unsigned)(a)))
                    153: #define shorten(a)     ((int)(a))
                    154: #define itol(a,b)      (itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
                    155: #else
                    156: #define leng(a)                itol(0,a)
                    157: #define shorten(a)     ((short)(a))
                    158: #define itol(a,b)      (itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
                    159: #endif
                    160: 
                    161: 
                    162: 
                    163: /* result type declarations */
                    164: L_INT          inkdot();
                    165: SYMPTR         lookupsym();
                    166: SYMPTR         symget();
                    167: POS            get();
                    168: POS            chkget();
                    169: STRING         exform();
                    170: L_INT          round();
                    171: BKPTR          scanbkpt();
                    172: VOID           fault();
                    173: 
                    174: 
                    175: INT            mkfault;
                    176: INT            executing;
                    177: L_INT          maxoff;
                    178: L_INT          maxpos;
                    179: ADDR           sigint;
                    180: ADDR           sigqit;
                    181: INT            wtflag;
                    182: L_INT          maxfile;
                    183: L_INT          maxstor;
                    184: L_INT          txtsiz;
                    185: L_INT          datsiz;
                    186: L_INT          datbas;
                    187: L_INT          stksiz;
                    188: STRING         errflg;
                    189: INT            magic;
                    190: L_INT          entrypt;
                    191: 
                    192: CHAR           lastc;
                    193: 
                    194: STRING         symfil;
                    195: STRING         corfil;
                    196: MAP            txtmap;
                    197: MAP            datmap;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.