Annotation of researchv9/jtools/src/pi/core.h, revision 1.1.1.1

1.1       root        1: #ifndef CORE_H
                      2: #define CORE_H
                      3: #ifndef UNIV_H
                      4: #include "univ.h"
                      5: #endif
                      6: 
                      7: enum Behavs {
                      8:        BREAKED         = 1,
                      9:        ERRORED         = 0,
                     10:        HALTED          = 2,
                     11:        ACTIVE          = 3,
                     12:        PENDING         = 4,
                     13:        STMT_STEPPED    = 5,
                     14:        INST_STEPPED    = 6,
                     15: };
                     16: char *BehavsName(Behavs);
                     17: 
                     18: >pri
                     19: union UCslfd {                 /* lsb lo */
                     20:         double dbl;
                     21:         float  flt;
                     22:         long   lng;
                     23:         short  sht;
                     24:         char   chr;
                     25: };
                     26: 
                     27: #include <CC/signal.h>
                     28: #include <CC/sys/types.h>
                     29: #include <CC/sys/stat.h>
                     30: >
                     31: class Context {
                     32: PUBLIC(Context,U_CONTEXT)
                     33:        char    *error;
                     34:                Context()       { error = "context save error"; }
                     35: virtual        void    restore();
                     36: };
                     37: 
                     38: #define PEEKFAIL ((Cslfd*)-1)
                     39: class Core : public PadRcv{
                     40:                friend HostCore; friend KernCore;
                     41:                friend KernMaster; friend HostMaster;
                     42:                friend M68kCore;
                     43:                friend RtRawCore;
                     44:                friend RtNrtxCore;
                     45:                friend HostContext; // for ioctl(corefd)
                     46: >pub
                     47:        char    pub_filler[64];
                     48: >pri
                     49: struct stat    corestat;
                     50: struct stat    stabstat;
                     51:        char    *behavs_problem;
                     52: >
                     53:        int     corefd;
                     54:        int     stabfd;
                     55:        int     _online;
                     56:        Process *_process;
                     57:        SymTab  *_symtab;
                     58: virtual        char    *read(long,char*,int);
                     59: virtual        char    *write(long,char*,int);
                     60:        int     corefstat();
                     61:        int     stabfstat();
                     62: PUBLIC(Core,U_CORE)
                     63:                Core(Process*, Master*);
                     64:        Process *process();
                     65:        SymTab  *symtab();
                     66:        char    *procpath();
                     67:        char    *stabpath();
                     68: 
                     69: virtual        Context *newContext();
                     70: virtual        char    *liftbpt(Trap*);
                     71: virtual        char    *laybpt(Trap*);
                     72: virtual        int     REG_PC();
                     73: virtual        int     REG_FP();
                     74: virtual        int     REG_SP();
                     75: virtual        int     REG_AP();
                     76: virtual        long    saved(Frame*,int,int=0);
                     77: virtual        Behavs  behavs();
                     78: virtual        Asm     *newAsm();
                     79: virtual        Cslfd   *peek(long,Cslfd* =PEEKFAIL);
                     80: virtual        Cslfd   *peekcode(long);
                     81: virtual        CallStk *callstack();
                     82: virtual        Frame   frameabove(long);
                     83: virtual        char    *blockmove(long,long,long);
                     84: virtual        char    *special(char*,long);
                     85: virtual        char    *destroy();
                     86: virtual        char    *eventname();
                     87: virtual        char    *open();
                     88: virtual        char    *peekstring(long,char* = 0);
                     89: virtual        char    *poke(long,long,int);
                     90: virtual        char    *pokedbl(long,double,int);
                     91: virtual        char    *problem();
                     92: virtual        char    *readcontrol();
                     93: virtual        char    *regname(int);
                     94: virtual        char    *reopen(char*,char*);
                     95: virtual        char    *resources();
                     96: virtual        char    *run();
                     97: virtual        char    *step(long=0,long=0);
                     98: virtual        char    *popcallstack();
                     99: virtual        char    *stepprolog();
                    100: virtual        char    *stop();
                    101: virtual        char    *specialop(char*);
                    102: virtual        int     event();
                    103: virtual        int     online();
                    104: virtual        long    regloc(int,int=0);
                    105: virtual        void    close();
                    106: virtual        long    apforcall(int);
                    107: virtual        char    *docall(long,int);
                    108: virtual        long    returnregloc();
                    109: virtual        char    *regpoke(int r,long l);
                    110: virtual        long    regpeek(int r);
                    111: virtual        long    fp();
                    112: virtual        long    sp();
                    113: virtual        long    pc();
                    114: virtual        long    ap();
                    115: virtual void   slavedriver(Core*);
                    116: virtual        int     nregs();
                    117: };
                    118: #endif

unix.superglobalmegacorp.com

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