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