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