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