imgtools/imglib/boostlibrary/boost/system/windows_error.hpp
changeset 600 6d08f4a05d93
equal deleted inserted replaced
599:fa7a3cc6effd 600:6d08f4a05d93
       
     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, get_system_category() ); }
       
   111     }
       
   112 
       
   113   }  // namespace system
       
   114 }  // namespace boost
       
   115 
       
   116 #endif  // BOOST_WINDOWS_API
       
   117 
       
   118 #endif  // BOOST_WINDOWS_ERROR_HPP