1 // 2 // ssl/error.hpp 3 // ~~~~~~~~~~~~~ 4 // 5 // Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 // 7 // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 // 10 11 #ifndef ASIO_SSL_ERROR_HPP 12 #define ASIO_SSL_ERROR_HPP 13 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 # pragma once 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 18 #include "asio/detail/config.hpp" 19 #include "asio/error_code.hpp" 20 21 #include "asio/detail/push_options.hpp" 22 23 namespace clmdep_asio { 24 namespace error { 25 26 enum ssl_errors 27 { 28 }; 29 30 extern ASIO_DECL 31 const clmdep_asio::error_category& get_ssl_category(); 32 33 static const clmdep_asio::error_category& ssl_category 34 = clmdep_asio::error::get_ssl_category(); 35 36 } // namespace error 37 } // namespace clmdep_asio 38 39 #if defined(ASIO_HAS_STD_SYSTEM_ERROR) 40 namespace std { 41 42 template<> struct is_error_code_enum<clmdep_asio::error::ssl_errors> 43 { 44 static const bool value = true; 45 }; 46 47 } // namespace std 48 #endif // defined(ASIO_HAS_STD_SYSTEM_ERROR) 49 50 namespace clmdep_asio { 51 namespace error { 52 make_error_code(ssl_errors e)53inline clmdep_asio::error_code make_error_code(ssl_errors e) 54 { 55 return clmdep_asio::error_code( 56 static_cast<int>(e), get_ssl_category()); 57 } 58 59 } // namespace error 60 } // namespace clmdep_asio 61 62 #include "asio/detail/pop_options.hpp" 63 64 #if defined(ASIO_HEADER_ONLY) 65 # include "asio/ssl/impl/error.ipp" 66 #endif // defined(ASIO_HEADER_ONLY) 67 68 #endif // ASIO_SSL_ERROR_HPP 69