X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=idl%2Fexceptions.idl;h=d0f2a2e9ec74885cbe95591f19de42455838680a;hb=bac1d18b0bd376af8e9fdc8020e3a2132988b569;hp=17225bddd994be4565f16dca79b92fd681717b14;hpb=7da27a216a7f4bb3331fe315cdbec69bfcf2c762;p=polintos%2Fscott%2Fpriv.git diff --git a/idl/exceptions.idl b/idl/exceptions.idl index 17225bd..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 @@ -287,3 +293,33 @@ struct InvalidReference : SystemException { // When not thrown by the ORB, this is a free form // explanation field (and may be NULL). }; + +// Thrown when more references are attempted to be dropped than exist. +// "refs" is the number of references, and "released" is the number +// of releases asked for. + +struct RefCountException : SystemException { + guid: "1EEDC277-9D71-415E-AA8D-19C52FDB72F2"; + + 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; +};