 
			
		Abstraktion einer Interruptvektortabelle. Mehr ...
#include <machine/plugbox.h>
| Öffentliche Typen | |
| enum | Vector { timer = 32, keyboard = 33, serial = 36, assassin = 100, wakeup = 101 } | 
| Liste der verwendeten Interruptvektoren.  Mehr ... | |
| Öffentliche Methoden | |
| Plugbox () | |
| Initialisierung der Gate map mit einem Default Gate.  Mehr ... | |
| void | assign (unsigned int vector, Gate *gate) | 
| Einstöpseln einer Behandlungsroutine, die in Form eines Gate-Objekts vorhanden sein muss.  Mehr ... | |
| Gate * | report (unsigned int vector) | 
| Abfrage eines eingetragenen Gate Objekts.  Mehr ... | |
Abstraktion einer Interruptvektortabelle.
Damit kann man die Adresse der Behandlungsroutine für jeden Hardware- und Softwareinterrupt und jede Prozessorexception festlegen. Jede Unterbrechungsquelle wird durch ein Gate-Objekt repräsentiert. Diese liegen in einem Feld (256 Elemente). Der Index in dieses Feld ist dabei die Vektornummer.
| enum Plugbox::Vector | 
Liste der verwendeten Interruptvektoren.
In OOStuBS benötigen wir lediglich Vektornummern für den Timerbaustein und die Tastatur, in MPStuBS noch weitere zur Synchronisation zwischen CPUs.
| Plugbox::Plugbox | ( | ) | 
| void Plugbox::assign | ( | unsigned int | vector, | 
| Gate * | gate | ||
| ) | 
Einstöpseln einer Behandlungsroutine, die in Form eines Gate-Objekts vorhanden sein muss.
| vector | Interruptvektor, für den die Behandlungsroutine registriert werden soll. | 
| gate | Objekt mit Behandlungsroutine | 
| Gate * Plugbox::report | ( | unsigned int | vector | ) |