|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.