119 lines
4.6 KiB
C++
119 lines
4.6 KiB
C++
// boost/system/windows_error.hpp ------------------------------------------//
|
|
|
|
// Copyright Beman Dawes 2007
|
|
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
// See library home page at http://www.boost.org/libs/system
|
|
|
|
#ifndef BOOST_SYSTEM_WINDOWS_ERROR_HPP
|
|
#define BOOST_SYSTEM_WINDOWS_ERROR_HPP
|
|
|
|
// This header is effectively empty for compiles on operating systems where
|
|
// it is not applicable.
|
|
|
|
#include <boost/system/config.hpp>
|
|
|
|
#ifdef BOOST_WINDOWS_API
|
|
|
|
#include <boost/system/error_code.hpp>
|
|
#include <boost/winapi/error_codes.hpp>
|
|
|
|
namespace boost
|
|
{
|
|
namespace system
|
|
{
|
|
|
|
// Microsoft Windows ---------------------------------------------------//
|
|
|
|
// To construct an error_code after a API error:
|
|
//
|
|
// error_code( ::GetLastError(), system_category() )
|
|
|
|
namespace windows_error
|
|
{
|
|
enum windows_error_code
|
|
{
|
|
success = 0,
|
|
// These names and values are based on Windows winerror.h
|
|
invalid_function = boost::winapi::ERROR_INVALID_FUNCTION_,
|
|
file_not_found = boost::winapi::ERROR_FILE_NOT_FOUND_,
|
|
path_not_found = boost::winapi::ERROR_PATH_NOT_FOUND_,
|
|
too_many_open_files = boost::winapi::ERROR_TOO_MANY_OPEN_FILES_,
|
|
access_denied = boost::winapi::ERROR_ACCESS_DENIED_,
|
|
invalid_handle = boost::winapi::ERROR_INVALID_HANDLE_,
|
|
arena_trashed = boost::winapi::ERROR_ARENA_TRASHED_,
|
|
not_enough_memory = boost::winapi::ERROR_NOT_ENOUGH_MEMORY_,
|
|
invalid_block = boost::winapi::ERROR_INVALID_BLOCK_,
|
|
bad_environment = boost::winapi::ERROR_BAD_ENVIRONMENT_,
|
|
bad_format = boost::winapi::ERROR_BAD_FORMAT_,
|
|
invalid_access = boost::winapi::ERROR_INVALID_ACCESS_,
|
|
outofmemory = boost::winapi::ERROR_OUTOFMEMORY_,
|
|
invalid_drive = boost::winapi::ERROR_INVALID_DRIVE_,
|
|
current_directory = boost::winapi::ERROR_CURRENT_DIRECTORY_,
|
|
not_same_device = boost::winapi::ERROR_NOT_SAME_DEVICE_,
|
|
no_more_files = boost::winapi::ERROR_NO_MORE_FILES_,
|
|
write_protect = boost::winapi::ERROR_WRITE_PROTECT_,
|
|
bad_unit = boost::winapi::ERROR_BAD_UNIT_,
|
|
not_ready = boost::winapi::ERROR_NOT_READY_,
|
|
bad_command = boost::winapi::ERROR_BAD_COMMAND_,
|
|
crc = boost::winapi::ERROR_CRC_,
|
|
bad_length = boost::winapi::ERROR_BAD_LENGTH_,
|
|
seek = boost::winapi::ERROR_SEEK_,
|
|
not_dos_disk = boost::winapi::ERROR_NOT_DOS_DISK_,
|
|
sector_not_found = boost::winapi::ERROR_SECTOR_NOT_FOUND_,
|
|
out_of_paper = boost::winapi::ERROR_OUT_OF_PAPER_,
|
|
write_fault = boost::winapi::ERROR_WRITE_FAULT_,
|
|
read_fault = boost::winapi::ERROR_READ_FAULT_,
|
|
gen_failure = boost::winapi::ERROR_GEN_FAILURE_,
|
|
sharing_violation = boost::winapi::ERROR_SHARING_VIOLATION_,
|
|
lock_violation = boost::winapi::ERROR_LOCK_VIOLATION_,
|
|
wrong_disk = boost::winapi::ERROR_WRONG_DISK_,
|
|
sharing_buffer_exceeded = boost::winapi::ERROR_SHARING_BUFFER_EXCEEDED_,
|
|
handle_eof = boost::winapi::ERROR_HANDLE_EOF_,
|
|
handle_disk_full= boost::winapi::ERROR_HANDLE_DISK_FULL_,
|
|
rem_not_list = boost::winapi::ERROR_REM_NOT_LIST_,
|
|
dup_name = boost::winapi::ERROR_DUP_NAME_,
|
|
bad_net_path = boost::winapi::ERROR_BAD_NETPATH_,
|
|
network_busy = boost::winapi::ERROR_NETWORK_BUSY_,
|
|
// ...
|
|
file_exists = boost::winapi::ERROR_FILE_EXISTS_,
|
|
cannot_make = boost::winapi::ERROR_CANNOT_MAKE_,
|
|
// ...
|
|
broken_pipe = boost::winapi::ERROR_BROKEN_PIPE_,
|
|
open_failed = boost::winapi::ERROR_OPEN_FAILED_,
|
|
buffer_overflow = boost::winapi::ERROR_BUFFER_OVERFLOW_,
|
|
disk_full= boost::winapi::ERROR_DISK_FULL_,
|
|
// ...
|
|
lock_failed = boost::winapi::ERROR_LOCK_FAILED_,
|
|
busy = boost::winapi::ERROR_BUSY_,
|
|
cancel_violation = boost::winapi::ERROR_CANCEL_VIOLATION_,
|
|
already_exists = boost::winapi::ERROR_ALREADY_EXISTS_
|
|
// ...
|
|
|
|
// TODO: add more Windows errors
|
|
};
|
|
|
|
} // namespace windows
|
|
|
|
# ifdef BOOST_SYSTEM_ENABLE_DEPRECATED
|
|
namespace windows = windows_error;
|
|
# endif
|
|
|
|
template<> struct is_error_code_enum<windows_error::windows_error_code>
|
|
{ static const bool value = true; };
|
|
|
|
namespace windows_error
|
|
{
|
|
inline error_code make_error_code( windows_error_code e )
|
|
{ return error_code( e, system_category() ); }
|
|
}
|
|
|
|
} // namespace system
|
|
} // namespace boost
|
|
|
|
#endif // BOOST_WINDOWS_API
|
|
|
|
#endif // BOOST_SYSTEM_WINDOWS_ERROR_HPP
|