]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_utilities/lib/errors.h
Security-58286.60.28.tar.gz
[apple/security.git] / OSX / libsecurity_utilities / lib / errors.h
index cbc2bd624195bff2e98d26c4e97b6d45055d9f39..d3ee946c76ca37fb0a04a8b8137707a388919d93 100644 (file)
@@ -54,6 +54,11 @@ public:
 
     virtual OSStatus osStatus() const = 0;
        virtual int unixError() const = 0;
+
+    char whatBuffer[128];
+    const size_t whatBufferSize = sizeof(whatBuffer);
+
+    static void LogBacktrace();
 };
 
 
@@ -64,7 +69,7 @@ public:
 class UnixError : public CommonError {
 protected:
     UnixError();
-    UnixError(int err);
+    UnixError(int err, bool suppresslogging);
 public:
     const int error;
     virtual OSStatus osStatus() const;
@@ -73,6 +78,7 @@ public:
     
     static void check(int result)              { if (result == -1) throwMe(); }
     static void throwMe(int err = errno) __attribute__((noreturn));
+    static void throwMeNoLogging(int err = errno) __attribute__((noreturn));
 
     // @@@ This is a hack for the Network protocol state machine
     static UnixError make(int err = errno) DEPRECATED_ATTRIBUTE;