|
|
1.1 root 1: #define MAXLABEL 36
2:
3: class Line
4: {
5: char *name[2]; /* short/verbose */
6: Crossbar *c;
7: int line;
8: char label;
9: friend class Switch;
10: friend class Rgb;
11: public:
12: Line(char, char *, char *, Crossbar *, int);
13: int pr(int n, char *buf, int len);
14: };
15:
16: class Switch
17: {
18: char *name;
19: int nwires; /* number of wires per input/output */
20: int maxlines; /* high water mark */
21: Line *lines[MAXLABEL][2];
22: void add(int inout, char label, char *n1, char *n2, Crossbar *c, int l);
23: void addl(int inout, char *n1, char *n2, Crossbar *c, int l);
24: int lineofcl(int output, Crossbar *, int);
25: public:
26: Switch(char *nam, int n);
27: void addi(char label, char *n1, char *n2, Crossbar *c, int l) { add(0, label, n1, n2, c, l); }
28: void addo(char label, char *n1, char *n2, Crossbar *c, int l) { add(1, label, n1, n2, c, l); }
29: void reinit();
30: void describe();
31: void connect(char input, char output);
32: void pr(char);
33: };
34: extern int labeltoint(char);
35: extern char inttolabel(int);
36: extern void blank(int fd, int n);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.