|
|
1.1 root 1: class Line;
2:
3: class Crossbar
4: {
5: char *dial;
6: int nouts; /* number of inputs/outputs */
7: int nwires; /* number of wires per input/output */
8: int fd;
9: Crossbar *nextc;
10: int nextl, froml;
11: int *imap; /* output i is connected to input imap[i] */
12: virtual void startup();
13: virtual void config();
14: friend class System10;
15: friend class Dynasty;
16: public:
17: Crossbar(char *dkname, int n, int depth);
18: char *name() { return(dial); }
19: void link(int ll, Crossbar *c, int l);
20: int map(int input, Crossbar **cp, int *ip);
21: virtual int connect(int input, Crossbar *c, int output, int nw);
22: };
23:
24: class Dynasty : public Crossbar
25: {
26: void startup();
27: void config();
28: void tocontrol();
29: int get1(unsigned char);
30: int getn(int);
31: void put1(unsigned char);
32: void putn(int);
33: public:
34: Dynasty(char *dkname, int n, int depth);
35: int connect(int input, Crossbar *c, int output, int nw);
36: };
37:
38: class System10 : public Crossbar
39: {
40: void startup();
41: void config();
42: public:
43: System10(char *dkname, int n, int depth);
44: int connect(int input, Crossbar *c, int output, int nw);
45: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.