X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..dd5fb164cf5b32c462296bc65e289e100f74b59a:/OSX/libsecurity_utilities/lib/errors.h diff --git a/OSX/libsecurity_utilities/lib/errors.h b/OSX/libsecurity_utilities/lib/errors.h index cbc2bd62..d3ee946c 100644 --- a/OSX/libsecurity_utilities/lib/errors.h +++ b/OSX/libsecurity_utilities/lib/errors.h @@ -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;