imgtools/imglib/boostlibrary/boost/system/linux_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/linux_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_LINUX_ERROR_HPP
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    11
#define BOOST_LINUX_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
#if defined(linux) || defined(__linux) || defined(__linux__)
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    17
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    18
#include <boost/system/error_code.hpp>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    19
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    20
namespace boost
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    21
{
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    22
  namespace system
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    23
  {
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    24
    //  To construct an error_code after a API error:
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    25
    //
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    26
    //      error_code( errno, system_category )
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    27
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    28
    //  User code should use the portable "posix" enums for POSIX errors; this
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    29
    //  allows such code to be portable to non-POSIX systems. For the non-POSIX
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    30
    //  errno values that POSIX-based systems typically provide in addition to 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    31
    //  POSIX values, use the system specific enums below.
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    32
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    33
    namespace linux_error
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    34
    {
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    35
      enum linux_errno
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    36
      {
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    37
        advertise_error = EADV,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    38
        bad_exchange = EBADE,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    39
        bad_file_number = EBADFD,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    40
        bad_font_format = EBFONT,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    41
        bad_request_code = EBADRQC,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    42
        bad_request_descriptor = EBADR,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    43
        bad_slot = EBADSLT,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    44
        channel_range = ECHRNG,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    45
        communication_error = ECOMM,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    46
        dot_dot_error = EDOTDOT,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    47
        exchange_full = EXFULL,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    48
        host_down = EHOSTDOWN,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    49
        is_named_file_type= EISNAM,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    50
        key_expired = EKEYEXPIRED,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    51
        key_rejected = EKEYREJECTED,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    52
        key_revoked = EKEYREVOKED,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    53
        level2_halt= EL2HLT,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    54
        level2_no_syncronized= EL2NSYNC,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    55
        level3_halt = EL3HLT,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    56
        level3_reset = EL3RST,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    57
        link_range = ELNRNG,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    58
        medium_type = EMEDIUMTYPE,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    59
        no_anode= ENOANO,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    60
        no_block_device = ENOTBLK,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    61
        no_csi = ENOCSI,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    62
        no_key = ENOKEY,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    63
        no_medium = ENOMEDIUM,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    64
        no_network = ENONET,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    65
        no_package = ENOPKG,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    66
        not_avail = ENAVAIL,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    67
        not_named_file_type= ENOTNAM,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    68
        not_recoverable = ENOTRECOVERABLE,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    69
        not_unique = ENOTUNIQ,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    70
        owner_dead = EOWNERDEAD,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    71
        protocol_no_supported = EPFNOSUPPORT,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    72
        remote_address_changed = EREMCHG,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    73
        remote_io_error = EREMOTEIO,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    74
        remote_object = EREMOTE,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    75
        restart_needed = ERESTART,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    76
        shared_library_access = ELIBACC,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    77
        shared_library_bad = ELIBBAD,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    78
        shared_library_execute = ELIBEXEC,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    79
        shared_library_max_ = ELIBMAX,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    80
        shared_library_section= ELIBSCN,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    81
        shutdown = ESHUTDOWN,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    82
        socket_type_not_supported = ESOCKTNOSUPPORT,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    83
        srmount_error = ESRMNT,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    84
        stream_pipe_error = ESTRPIPE,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    85
        too_many_references = ETOOMANYREFS,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    86
        too_many_users = EUSERS,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    87
        unattached = EUNATCH,
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    88
        unclean = EUCLEAN
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    89
      };
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    90
    }  // namespace linux_error
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    91
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    92
# ifndef BOOST_SYSTEM_NO_DEPRECATED
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    93
    namespace Linux = linux_error;
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    94
# endif
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    95
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    96
    template<> struct is_error_code_enum<linux_error::linux_errno>
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    97
      { static const bool value = true; };
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    98
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
    99
    namespace linux_error
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   100
    {
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   101
      inline error_code make_error_code( linux_errno e )
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   102
        { return error_code( e, get_system_category() ); }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   103
    }
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   104
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   105
  }  // namespace system
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   106
}  // namespace boost 
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   107
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   108
#endif  // Linux
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   109
6d08f4a05d93 add deprecated files
jjkang
parents:
diff changeset
   110
#endif  // BOOST_LINUX_ERROR_HPP