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

1.1       root        1: #ifndef PROCESS_H
                      2: #define PROCESS_H
                      3: #ifndef UNIV_H
                      4: #include "univ.h"
                      5: #endif
                      6: #include "format.h"
                      7: 
                      8: class Process : public PadRcv {
                      9:        friend HostMaster; friend Master;       
                     10:        friend HostProcess; friend SigMask; friend SrcDir;
                     11:        friend KernProcess; friend KernMaster;
                     12:        friend KernCore; friend BatchProcess;
                     13:        friend RtRawProcess; friend RtRawMaster;
                     14:        friend RtNrtxProcess; friend RtNrtxMaster; friend RtNrtxSigMask;
                     15: 
                     16:        int     isdead;
                     17:        Asm     *_asm;
                     18:        Bpts    *_bpts;
                     19:        Core    *core;
                     20:        CallStk *callstk;
                     21:        Memory  *memory;
                     22:        Journal *_journal;
                     23:        Pad     *pad;
                     24:        Process *sibling;
                     25:        Master  *master;
                     26:        Process *parent;
                     27:        SrcDir  *srcdir;
                     28:        char    *_prefix;
                     29:        Behavs  prev_behavs;
                     30:        char    stoprequest;
                     31:        char    cycles;
                     32:        Process *_slave;
                     33: >pub
                     34:        char    pub_filler[256*3+4];
                     35: >pri
                     36: #define BEHAVSKEY 1
                     37: #define ERRORKEY 2
                     38:        int     padlines;
                     39:        Bls     bls[3];                 /* error [1] behavs [2] */
                     40:        void    openbpts();
                     41:        void    opentypes();
                     42:        void    mergeback(long);
                     43:        void    srcfiles();
                     44:        void    habeascorpus(Behavs,long);
                     45:        void    banner();
                     46:        int     changes();
                     47:        void    docycle();
                     48:        void    insert(long,PRINTF_TYPES);
                     49:        void    closeframes();
                     50:        void    merge();
                     51:        char    *bptreq(BptReq*);
                     52:        void    slavedriver(Process*);
                     53: >
                     54:        void    cycle();
                     55: virtual        Index   carte();
                     56:        void    linereq(long,Attrib=0);
                     57: PUBLIC(Process,U_PROCESS)
                     58:        Globals *globals;
                     59:                Process(Process* =0, char* =0, char* =0, char* =0);
                     60:        char    *procpath;
                     61:        char    *stabpath;
                     62:        char    *comment;
                     63:        char    *prefix(char*);
                     64:        void    openglobals(Menu* =0);
                     65:        void    openmemory(long=0);
                     66:        void    openasm(long=0);
                     67:        void    openjournal();
                     68:        Journal *journal();
                     69:        Frame   *frame(long);
                     70:        SymTab  *symtab();
                     71:        Bpts    *bpts();
                     72:        Process *slave();
                     73:        void    go();
                     74:        void    pop();
                     75:        void    stmtstep(long);
                     76:        void    stepinto();
                     77:        void    instrstep(long);
                     78:        void    stepover(long,long);
                     79:        void    openframe(long,char* =0);
                     80:        void    openpad();
                     81:        void    currentstmt();
                     82: 
                     83:        char    *help();
                     84:        char    *kbd(char*);
                     85: virtual        void    userclose();
                     86: virtual        void    stop();
                     87: };
                     88: >pri
                     89: class HostProcess : public Process { friend HostCore;
                     90:        Index   carte();
                     91:        SigMask *sigmsk;
                     92:        void    opensigmask();
                     93:        void    hang();
                     94:        void    hangopen();
                     95:        void    hangtakeover();
                     96:        void    userclose();
                     97:        void    reopendump();
                     98:        void    substitute(HostProcess*);
                     99:        void    takeover();
                    100:        int     accept(Action);
                    101:        void    imprint();
                    102:        void    destroy();
                    103: #ifndef V9
                    104:        void    takeoverstopped();
                    105:        int     openstopped(long ischild=0);
                    106: #endif
                    107:        HostCore
                    108:                *hostcore()             { return (HostCore*) core; }
                    109: public:
                    110:                HostProcess(Process*sib=0, char*p=0, char*s =0, char*c=0)
                    111:                        :(sib,p,s,c) {}
                    112:        void    open(long ischild=0);
                    113:        void    stop();
                    114: };
                    115: 
                    116: class BatchProcess : public HostProcess {
                    117: public:
                    118:                BatchProcess(char*p, char*s):(0,p,s,0) {}
                    119:        void    open();
                    120: };
                    121: 
                    122: class KernProcess : public Process { friend KernCore;
                    123:        Index   carte();
                    124:        void    userclose();
                    125:        KernCore
                    126:                *kerncore()             { return (KernCore*) core; }
                    127:        char    *kbd(char*);
                    128:        char    *help();
                    129: public:
                    130:                KernProcess(Process*sib=0, char*p=0, char*s =0, char*c=0)
                    131:                        :(sib,p,s,c) {}
                    132:        void    open();
                    133: };
                    134: >
                    135: #endif

unix.superglobalmegacorp.com

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