comparison DEPENDENCIES/generic/include/boost/system/windows_error.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
comparison
equal deleted inserted replaced
15:663ca0da4350 16:2665513ce2d3
1 // boost/system/windows_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_WINDOWS_ERROR_HPP
11 #define BOOST_WINDOWS_ERROR_HPP
12
13 // This header is effectively empty for compiles on operating systems where
14 // it is not applicable.
15
16 #include <boost/system/config.hpp>
17
18 #ifdef BOOST_WINDOWS_API
19
20 #include <boost/system/error_code.hpp>
21 #include <winerror.h>
22
23 namespace boost
24 {
25 namespace system
26 {
27
28 // Microsoft Windows ---------------------------------------------------//
29
30 // To construct an error_code after a API error:
31 //
32 // error_code( ::GetLastError(), system_category() )
33
34 namespace windows_error
35 {
36 enum windows_error_code
37 {
38 success = 0,
39 // These names and values are based on Windows winerror.h
40 invalid_function = ERROR_INVALID_FUNCTION,
41 file_not_found = ERROR_FILE_NOT_FOUND,
42 path_not_found = ERROR_PATH_NOT_FOUND,
43 too_many_open_files = ERROR_TOO_MANY_OPEN_FILES,
44 access_denied = ERROR_ACCESS_DENIED,
45 invalid_handle = ERROR_INVALID_HANDLE,
46 arena_trashed = ERROR_ARENA_TRASHED,
47 not_enough_memory = ERROR_NOT_ENOUGH_MEMORY,
48 invalid_block = ERROR_INVALID_BLOCK,
49 bad_environment = ERROR_BAD_ENVIRONMENT,
50 bad_format = ERROR_BAD_FORMAT,
51 invalid_access = ERROR_INVALID_ACCESS,
52 outofmemory = ERROR_OUTOFMEMORY,
53 invalid_drive = ERROR_INVALID_DRIVE,
54 current_directory = ERROR_CURRENT_DIRECTORY,
55 not_same_device = ERROR_NOT_SAME_DEVICE,
56 no_more_files = ERROR_NO_MORE_FILES,
57 write_protect = ERROR_WRITE_PROTECT,
58 bad_unit = ERROR_BAD_UNIT,
59 not_ready = ERROR_NOT_READY,
60 bad_command = ERROR_BAD_COMMAND,
61 crc = ERROR_CRC,
62 bad_length = ERROR_BAD_LENGTH,
63 seek = ERROR_SEEK,
64 not_dos_disk = ERROR_NOT_DOS_DISK,
65 sector_not_found = ERROR_SECTOR_NOT_FOUND,
66 out_of_paper = ERROR_OUT_OF_PAPER,
67 write_fault = ERROR_WRITE_FAULT,
68 read_fault = ERROR_READ_FAULT,
69 gen_failure = ERROR_GEN_FAILURE,
70 sharing_violation = ERROR_SHARING_VIOLATION,
71 lock_violation = ERROR_LOCK_VIOLATION,
72 wrong_disk = ERROR_WRONG_DISK,
73 sharing_buffer_exceeded = ERROR_SHARING_BUFFER_EXCEEDED,
74 handle_eof = ERROR_HANDLE_EOF,
75 handle_disk_full= ERROR_HANDLE_DISK_FULL,
76 rem_not_list = ERROR_REM_NOT_LIST,
77 dup_name = ERROR_DUP_NAME,
78 bad_net_path = ERROR_BAD_NETPATH,
79 network_busy = ERROR_NETWORK_BUSY,
80 // ...
81 file_exists = ERROR_FILE_EXISTS,
82 cannot_make = ERROR_CANNOT_MAKE,
83 // ...
84 broken_pipe = ERROR_BROKEN_PIPE,
85 open_failed = ERROR_OPEN_FAILED,
86 buffer_overflow = ERROR_BUFFER_OVERFLOW,
87 disk_full= ERROR_DISK_FULL,
88 // ...
89 lock_failed = ERROR_LOCK_FAILED,
90 busy = ERROR_BUSY,
91 cancel_violation = ERROR_CANCEL_VIOLATION,
92 already_exists = ERROR_ALREADY_EXISTS
93 // ...
94
95 // TODO: add more Windows errors
96 };
97
98 } // namespace windows
99
100 # ifndef BOOST_SYSTEM_NO_DEPRECATED
101 namespace windows = windows_error;
102 # endif
103
104 template<> struct is_error_code_enum<windows_error::windows_error_code>
105 { static const bool value = true; };
106
107 namespace windows_error
108 {
109 inline error_code make_error_code( windows_error_code e )
110 { return error_code( e, system_category() ); }
111 }
112
113 } // namespace system
114 } // namespace boost
115
116 #endif // BOOST_WINDOWS_API
117
118 #endif // BOOST_WINDOWS_ERROR_HPP