diff options
Diffstat (limited to 'error.rs')
| -rw-r--r-- | error.rs | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -2,18 +2,27 @@ use std::libc::c_ulong; use super::ffi; +/// An SSL error #[deriving(ToStr)] pub enum SslError { + /// The underlying stream has reported an EOF StreamEof, + /// The SSL session has been closed by the other end SslSessionClosed, + /// An error in the OpenSSL library OpenSslErrors(~[OpensslError]) } +/// An error from the OpenSSL library #[deriving(ToStr)] pub enum OpensslError { + /// An unknown error UnknownError { + /// The library reporting the error library: u8, + /// The function reporting the error function: u16, + /// The reason for the error reason: u16 } } @@ -31,6 +40,8 @@ fn get_reason(err: c_ulong) -> u16 { } impl SslError { + /// Creates a new `OpenSslErrors` with the current contents of the error + /// stack. pub fn get() -> SslError { let mut errs = ~[]; loop { |