|
|
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.