aboutsummaryrefslogtreecommitdiff
path: root/error.rs
blob: 9042999620369096a815ebca655492a5cb3baa01 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use std::libc::c_ulong;

use super::ffi;

#[deriving(ToStr)]
pub enum SslError {
    StreamEof,
    SslSessionClosed,
    UnknownError(c_ulong)
}

impl SslError {
    pub fn get() -> Option<SslError> {
        match unsafe { ffi::ERR_get_error() } {
            0 => None,
            err => Some(UnknownError(err))
        }
    }
}