You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
118 lines
3.7 KiB
118 lines
3.7 KiB
// 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_WINDOWS_ERROR_HPP |
|
#define BOOST_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 <winerror.h> |
|
|
|
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 = ERROR_INVALID_FUNCTION, |
|
file_not_found = ERROR_FILE_NOT_FOUND, |
|
path_not_found = ERROR_PATH_NOT_FOUND, |
|
too_many_open_files = ERROR_TOO_MANY_OPEN_FILES, |
|
access_denied = ERROR_ACCESS_DENIED, |
|
invalid_handle = ERROR_INVALID_HANDLE, |
|
arena_trashed = ERROR_ARENA_TRASHED, |
|
not_enough_memory = ERROR_NOT_ENOUGH_MEMORY, |
|
invalid_block = ERROR_INVALID_BLOCK, |
|
bad_environment = ERROR_BAD_ENVIRONMENT, |
|
bad_format = ERROR_BAD_FORMAT, |
|
invalid_access = ERROR_INVALID_ACCESS, |
|
outofmemory = ERROR_OUTOFMEMORY, |
|
invalid_drive = ERROR_INVALID_DRIVE, |
|
current_directory = ERROR_CURRENT_DIRECTORY, |
|
not_same_device = ERROR_NOT_SAME_DEVICE, |
|
no_more_files = ERROR_NO_MORE_FILES, |
|
write_protect = ERROR_WRITE_PROTECT, |
|
bad_unit = ERROR_BAD_UNIT, |
|
not_ready = ERROR_NOT_READY, |
|
bad_command = ERROR_BAD_COMMAND, |
|
crc = ERROR_CRC, |
|
bad_length = ERROR_BAD_LENGTH, |
|
seek = ERROR_SEEK, |
|
not_dos_disk = ERROR_NOT_DOS_DISK, |
|
sector_not_found = ERROR_SECTOR_NOT_FOUND, |
|
out_of_paper = ERROR_OUT_OF_PAPER, |
|
write_fault = ERROR_WRITE_FAULT, |
|
read_fault = ERROR_READ_FAULT, |
|
gen_failure = ERROR_GEN_FAILURE, |
|
sharing_violation = ERROR_SHARING_VIOLATION, |
|
lock_violation = ERROR_LOCK_VIOLATION, |
|
wrong_disk = ERROR_WRONG_DISK, |
|
sharing_buffer_exceeded = ERROR_SHARING_BUFFER_EXCEEDED, |
|
handle_eof = ERROR_HANDLE_EOF, |
|
handle_disk_full= ERROR_HANDLE_DISK_FULL, |
|
rem_not_list = ERROR_REM_NOT_LIST, |
|
dup_name = ERROR_DUP_NAME, |
|
bad_net_path = ERROR_BAD_NETPATH, |
|
network_busy = ERROR_NETWORK_BUSY, |
|
// ... |
|
file_exists = ERROR_FILE_EXISTS, |
|
cannot_make = ERROR_CANNOT_MAKE, |
|
// ... |
|
broken_pipe = ERROR_BROKEN_PIPE, |
|
open_failed = ERROR_OPEN_FAILED, |
|
buffer_overflow = ERROR_BUFFER_OVERFLOW, |
|
disk_full= ERROR_DISK_FULL, |
|
// ... |
|
lock_failed = ERROR_LOCK_FAILED, |
|
busy = ERROR_BUSY, |
|
cancel_violation = ERROR_CANCEL_VIOLATION, |
|
already_exists = ERROR_ALREADY_EXISTS |
|
// ... |
|
|
|
// TODO: add more Windows errors |
|
}; |
|
|
|
} // namespace windows |
|
|
|
# ifndef BOOST_SYSTEM_NO_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_WINDOWS_ERROR_HPP
|
|
|