• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //  boost/system/cygwin_error.hpp  -------------------------------------------//
2 
3 //  Copyright Beman Dawes 2007
4 
5 //  Distributed under the Boost Software License, Version 1.0. (See accompanying
6 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 
8 //  See library home page at http://www.boost.org/libs/system
9 
10 #ifndef BOOST_SYSTEM_CYGWIN_ERROR_HPP
11 #define BOOST_SYSTEM_CYGWIN_ERROR_HPP
12 
13 //  This header is effectively empty for compiles on operating systems where
14 //  it is not applicable.
15 
16 # ifdef __CYGWIN__
17 
18 #include <boost/system/error_code.hpp>
19 
20 namespace boost
21 {
22   namespace system
23   {
24     //  To construct an error_code after a API error:
25     //
26     //      error_code( errno, system_category() )
27 
28     //  User code should use the portable "posix" enums for POSIX errors; this
29     //  allows such code to be portable to non-POSIX systems. For the non-POSIX
30     //  errno values that POSIX-based systems typically provide in addition to
31     //  POSIX values, use the system specific enums below.
32 
33    namespace cygwin_error
34     {
35       enum cygwin_errno
36       {
37         no_net = ENONET,
38         no_package = ENOPKG,
39         no_share = ENOSHARE
40       };
41     }  // namespace cygwin_error
42 
43     template<> struct is_error_code_enum<cygwin_error::cygwin_errno>
44       { static const bool value = true; };
45 
46     namespace cygwin_error
47     {
make_error_code(cygwin_errno e)48       inline error_code make_error_code( cygwin_errno e )
49         { return error_code( e, system_category() ); }
50     }
51   }
52 }
53 
54 #endif  // __CYGWIN__
55 
56 #endif  // BOOST_SYSTEM_CYGWIN_ERROR_HPP
57