Object <- ExceptionServer |
|
|
BeginModifyMemoryMappedHardware EndModifyMemoryMappedHardware InitExceptionServer RegisterHandler RegisterSWIntHandler RegisteredHandler UnregisterHandler UnregisterSWIntHandler |
Class ExceptionServer defines no new attributes.
Fields
No fields are defined by ExceptionServer or any of its superclasses.
Instance template
instance ExceptionServer tag; end instance;
#endif Define Class ExceptionServer; inherits from Object; class operation InitExceptionServer(); // call this instead of Init since it takes a class number as self class operation RegisterHandler(exceptionNumber: UnsignedShort; function: ExceptionFunction; params: Pointer); // registers routine to be run (and passed params) when given exception occurs class operation UnregisterHandler(exceptionNumber: UnsignedShort; function: ExceptionFunction); // unregister that routine class operation RegisteredHandler(exceptionNumber: UnsignedShort; var function: ExceptionFunction; var params: Pointer); // returns the registered routine and its params for a given exception // note: this assumes that only one handler may register for a particular exception. #ifdef MIPS_EMBEDDED class operation RegisterSWIntHandler(high: Boolean; function: ExceptionFunction; params: Pointer); // registers routine to be run (and passed params) when software interrupt occurs // the argument, high, indicates which of the two mips software interrupts is being referenced class operation UnregisterSWIntHandler(high: Boolean; function: ExceptionFunction); // unregister the routine associated with the mips software interrupt indicated by the argument, high #endif intrinsic BeginModifyMemoryMappedHardware(): Unsigned; // Put the device into a state such that accesses to memory-mapped hardware will // not cause protection exceptions. // Must always be paired with a corresponding call to EndModifyMemoryMappedHardware intrinsic EndModifyMemoryMappedHardware(lastStatus: Unsigned); // MUST be called with the lastStatus value returned from the corresponding // call to BeginModifyHardwareRegisters end class;