]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/system/windows_error.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
b7368392b063465b91ad0b3d591e3df5c69b2b0e
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / system / windows_error.hpp
1 //  boost/system/windows_error.hpp  ------------------------------------------//\r
2 \r
3 //  Copyright Beman Dawes 2007\r
4 \r
5 //  Distributed under the Boost Software License, Version 1.0. (See accompanying\r
6 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\r
7 \r
8 //  See library home page at http://www.boost.org/libs/system\r
9 \r
10 #ifndef BOOST_WINDOWS_ERROR_HPP\r
11 #define BOOST_WINDOWS_ERROR_HPP\r
12 \r
13 //  This header is effectively empty for compiles on operating systems where\r
14 //  it is not applicable.\r
15 \r
16 #include <boost/system/config.hpp>\r
17 \r
18 #ifdef BOOST_WINDOWS_API\r
19 \r
20 #include <boost/system/error_code.hpp>\r
21 #include <winerror.h>\r
22 \r
23 namespace boost\r
24 {\r
25   namespace system\r
26   {\r
27 \r
28     //  Microsoft Windows  ---------------------------------------------------//\r
29 \r
30     //  To construct an error_code after a API error:\r
31     //\r
32     //      error_code( ::GetLastError(), system_category )\r
33 \r
34     namespace windows_error\r
35     {\r
36       enum windows_error_code\r
37       {\r
38         success = 0,\r
39         // These names and values are based on Windows winerror.h\r
40         invalid_function = ERROR_INVALID_FUNCTION,\r
41         file_not_found = ERROR_FILE_NOT_FOUND,\r
42         path_not_found = ERROR_PATH_NOT_FOUND,\r
43         too_many_open_files = ERROR_TOO_MANY_OPEN_FILES,\r
44         access_denied = ERROR_ACCESS_DENIED,\r
45         invalid_handle = ERROR_INVALID_HANDLE,\r
46         arena_trashed = ERROR_ARENA_TRASHED,\r
47         not_enough_memory = ERROR_NOT_ENOUGH_MEMORY,\r
48         invalid_block = ERROR_INVALID_BLOCK,\r
49         bad_environment = ERROR_BAD_ENVIRONMENT,\r
50         bad_format = ERROR_BAD_FORMAT,\r
51         invalid_access = ERROR_INVALID_ACCESS,\r
52         outofmemory = ERROR_OUTOFMEMORY,\r
53         invalid_drive = ERROR_INVALID_DRIVE,\r
54         current_directory = ERROR_CURRENT_DIRECTORY,\r
55         not_same_device = ERROR_NOT_SAME_DEVICE,\r
56         no_more_files = ERROR_NO_MORE_FILES,\r
57         write_protect = ERROR_WRITE_PROTECT,\r
58         bad_unit = ERROR_BAD_UNIT,\r
59         not_ready = ERROR_NOT_READY,\r
60         bad_command = ERROR_BAD_COMMAND,\r
61         crc = ERROR_CRC,\r
62         bad_length = ERROR_BAD_LENGTH,\r
63         seek = ERROR_SEEK,\r
64         not_dos_disk = ERROR_NOT_DOS_DISK,\r
65         sector_not_found = ERROR_SECTOR_NOT_FOUND,\r
66         out_of_paper = ERROR_OUT_OF_PAPER,\r
67         write_fault = ERROR_WRITE_FAULT,\r
68         read_fault = ERROR_READ_FAULT,\r
69         gen_failure = ERROR_GEN_FAILURE,\r
70         sharing_violation = ERROR_SHARING_VIOLATION,\r
71         lock_violation = ERROR_LOCK_VIOLATION,\r
72         wrong_disk = ERROR_WRONG_DISK,\r
73         sharing_buffer_exceeded = ERROR_SHARING_BUFFER_EXCEEDED,\r
74         handle_eof = ERROR_HANDLE_EOF,\r
75         handle_disk_full= ERROR_HANDLE_DISK_FULL,\r
76         rem_not_list = ERROR_REM_NOT_LIST,\r
77         dup_name = ERROR_DUP_NAME,\r
78         bad_net_path = ERROR_BAD_NETPATH,\r
79         network_busy = ERROR_NETWORK_BUSY,\r
80         // ...\r
81         file_exists = ERROR_FILE_EXISTS,\r
82         cannot_make = ERROR_CANNOT_MAKE,\r
83         // ...\r
84         broken_pipe = ERROR_BROKEN_PIPE,\r
85         open_failed = ERROR_OPEN_FAILED,\r
86         buffer_overflow = ERROR_BUFFER_OVERFLOW,\r
87         disk_full= ERROR_DISK_FULL,\r
88         // ...\r
89         lock_failed = ERROR_LOCK_FAILED,\r
90         busy = ERROR_BUSY,\r
91         cancel_violation = ERROR_CANCEL_VIOLATION,\r
92         already_exists = ERROR_ALREADY_EXISTS\r
93         // ...\r
94 \r
95         // TODO: add more Windows errors\r
96       };\r
97 \r
98     }  // namespace windows\r
99 \r
100 # ifndef BOOST_SYSTEM_NO_DEPRECATED\r
101     namespace windows = windows_error;\r
102 # endif\r
103 \r
104     template<> struct is_error_code_enum<windows_error::windows_error_code>\r
105       { static const bool value = true; };\r
106 \r
107     namespace windows_error\r
108     {\r
109       inline error_code make_error_code( windows_error_code e )\r
110         { return error_code( e, get_system_category() ); }\r
111     }\r
112 \r
113   }  // namespace system\r
114 }  // namespace boost\r
115 \r
116 #endif  // BOOST_WINDOWS_API\r
117 \r
118 #endif  // BOOST_WINDOWS_ERROR_HPP\r