X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=idl%2Fexceptions.idl;h=d0f2a2e9ec74885cbe95591f19de42455838680a;hp=d6c54c513e2f0f4162719cf815e014067dcea4b5;hb=ed94ee97c9872c957efa4790c4ea073f371262a6;hpb=9a0f3d7f714ebabb437c30863548146b307527b7 diff --git a/idl/exceptions.idl b/idl/exceptions.idl index d6c54c5..d0f2a2e 100644 --- a/idl/exceptions.idl +++ b/idl/exceptions.idl @@ -88,8 +88,8 @@ struct MemoryFault : SystemException { // Address that the method tried to access ulong addr; - // Address of the faulting instruction - ulong pc; + // Address of the faulting instruction, 0 if from kernel + ulong pc; // Process of faulting method Proc.Process proc; @@ -117,7 +117,7 @@ struct MemoryFault : SystemException { // An I/O error occured accessing a memory mapped region, or an // uncorrectable memory error was encountered. - IOError + IOError, }; }; @@ -235,6 +235,12 @@ struct InvalidArgument : SystemException { char[] exp immutable; }; +struct InternalFailure : SystemException { + guid: "52819E26-1791-11DC-931E-00112431A05E"; + + char[] exp immutable; +}; + // GeneralFailure, as the name implies, is a general purpose exception // to indicate failure conditions not covered by existing exceptions. // It is generally preferable to define a specific exception for @@ -297,3 +303,23 @@ struct RefCountException : SystemException { int refs, released; }; + +// Thrown when an ORB message is malformed. +// FIXME: Move into orb namespace + +struct BadMessage : SystemException { + guid: "5347B217-1790-11DC-A89E-00112431A05E"; +}; + +struct ShortMessage : BadMessage { + guid: "5DA142FA-1791-11DC-A3BE-00112431A05E"; + + int segment; // Short segment, or -1 for objlist + int len, expected; +}; + +struct InvalidOpcode : BadMessage { + guid: "5708BF7E-1791-11DC-B1D3-00112431A05E"; + + int opcode; +};