]> git.buserror.net Git - polintos/scott/priv.git/blobdiff - idl/exceptions.idl
Initial struct marshalling.
[polintos/scott/priv.git] / idl / exceptions.idl
index 17225bddd994be4565f16dca79b92fd681717b14..d0f2a2e9ec74885cbe95591f19de42455838680a 100644 (file)
@@ -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;
+};