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)53 inline 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