Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:09:47

0001 //  boost/system/windows_error.hpp  ------------------------------------------//
0002 
0003 //  Copyright Beman Dawes 2007
0004 
0005 //  Distributed under the Boost Software License, Version 1.0. (See accompanying
0006 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 
0008 //  See library home page at http://www.boost.org/libs/system
0009 
0010 #ifndef BOOST_SYSTEM_WINDOWS_ERROR_HPP
0011 #define BOOST_SYSTEM_WINDOWS_ERROR_HPP
0012 
0013 //  This header is effectively empty for compiles on operating systems where
0014 //  it is not applicable.
0015 
0016 #include <boost/system/config.hpp>
0017 
0018 #ifdef BOOST_WINDOWS_API
0019 
0020 #include <boost/system/error_code.hpp>
0021 #include <boost/winapi/error_codes.hpp>
0022 
0023 namespace boost
0024 {
0025   namespace system
0026   {
0027 
0028     //  Microsoft Windows  ---------------------------------------------------//
0029 
0030     //  To construct an error_code after a API error:
0031     //
0032     //      error_code( ::GetLastError(), system_category() )
0033 
0034     namespace windows_error
0035     {
0036       enum windows_error_code
0037       {
0038         success = 0,
0039         // These names and values are based on Windows winerror.h
0040         invalid_function = boost::winapi::ERROR_INVALID_FUNCTION_,
0041         file_not_found = boost::winapi::ERROR_FILE_NOT_FOUND_,
0042         path_not_found = boost::winapi::ERROR_PATH_NOT_FOUND_,
0043         too_many_open_files = boost::winapi::ERROR_TOO_MANY_OPEN_FILES_,
0044         access_denied = boost::winapi::ERROR_ACCESS_DENIED_,
0045         invalid_handle = boost::winapi::ERROR_INVALID_HANDLE_,
0046         arena_trashed = boost::winapi::ERROR_ARENA_TRASHED_,
0047         not_enough_memory = boost::winapi::ERROR_NOT_ENOUGH_MEMORY_,
0048         invalid_block = boost::winapi::ERROR_INVALID_BLOCK_,
0049         bad_environment = boost::winapi::ERROR_BAD_ENVIRONMENT_,
0050         bad_format = boost::winapi::ERROR_BAD_FORMAT_,
0051         invalid_access = boost::winapi::ERROR_INVALID_ACCESS_,
0052         outofmemory = boost::winapi::ERROR_OUTOFMEMORY_,
0053         invalid_drive = boost::winapi::ERROR_INVALID_DRIVE_,
0054         current_directory = boost::winapi::ERROR_CURRENT_DIRECTORY_,
0055         not_same_device = boost::winapi::ERROR_NOT_SAME_DEVICE_,
0056         no_more_files = boost::winapi::ERROR_NO_MORE_FILES_,
0057         write_protect = boost::winapi::ERROR_WRITE_PROTECT_,
0058         bad_unit = boost::winapi::ERROR_BAD_UNIT_,
0059         not_ready = boost::winapi::ERROR_NOT_READY_,
0060         bad_command = boost::winapi::ERROR_BAD_COMMAND_,
0061         crc = boost::winapi::ERROR_CRC_,
0062         bad_length = boost::winapi::ERROR_BAD_LENGTH_,
0063         seek = boost::winapi::ERROR_SEEK_,
0064         not_dos_disk = boost::winapi::ERROR_NOT_DOS_DISK_,
0065         sector_not_found = boost::winapi::ERROR_SECTOR_NOT_FOUND_,
0066         out_of_paper = boost::winapi::ERROR_OUT_OF_PAPER_,
0067         write_fault = boost::winapi::ERROR_WRITE_FAULT_,
0068         read_fault = boost::winapi::ERROR_READ_FAULT_,
0069         gen_failure = boost::winapi::ERROR_GEN_FAILURE_,
0070         sharing_violation = boost::winapi::ERROR_SHARING_VIOLATION_,
0071         lock_violation = boost::winapi::ERROR_LOCK_VIOLATION_,
0072         wrong_disk = boost::winapi::ERROR_WRONG_DISK_,
0073         sharing_buffer_exceeded = boost::winapi::ERROR_SHARING_BUFFER_EXCEEDED_,
0074         handle_eof = boost::winapi::ERROR_HANDLE_EOF_,
0075         handle_disk_full = boost::winapi::ERROR_HANDLE_DISK_FULL_,
0076         not_supported = boost::winapi::ERROR_NOT_SUPPORTED_,
0077         rem_not_list = boost::winapi::ERROR_REM_NOT_LIST_,
0078         dup_name = boost::winapi::ERROR_DUP_NAME_,
0079         bad_net_path = boost::winapi::ERROR_BAD_NETPATH_,
0080         network_busy = boost::winapi::ERROR_NETWORK_BUSY_,
0081         // ...
0082         file_exists = boost::winapi::ERROR_FILE_EXISTS_,
0083         cannot_make = boost::winapi::ERROR_CANNOT_MAKE_,
0084         // ...
0085         broken_pipe = boost::winapi::ERROR_BROKEN_PIPE_,
0086         open_failed = boost::winapi::ERROR_OPEN_FAILED_,
0087         buffer_overflow = boost::winapi::ERROR_BUFFER_OVERFLOW_,
0088         disk_full = boost::winapi::ERROR_DISK_FULL_,
0089         // ...
0090         lock_failed = boost::winapi::ERROR_LOCK_FAILED_,
0091         busy = boost::winapi::ERROR_BUSY_,
0092         cancel_violation = boost::winapi::ERROR_CANCEL_VIOLATION_,
0093         already_exists = boost::winapi::ERROR_ALREADY_EXISTS_
0094         // ...
0095 
0096         // TODO: add more Windows errors
0097       };
0098 
0099     }  // namespace windows
0100 
0101 # ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
0102     namespace windows = windows_error;
0103 # endif
0104 
0105     template<> struct is_error_code_enum<windows_error::windows_error_code>
0106       { static const bool value = true; };
0107 
0108     namespace windows_error
0109     {
0110       inline error_code make_error_code( windows_error_code e )
0111         { return error_code( e, system_category() ); }
0112     }
0113 
0114   }  // namespace system
0115 }  // namespace boost
0116 
0117 #endif  // BOOST_WINDOWS_API
0118 
0119 #endif  // BOOST_SYSTEM_WINDOWS_ERROR_HPP