Annotation of researchv9/jtools/src/pi/core.h, revision 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.