Rashed Abdel-Tawab | 4db47f4 | 2019-09-06 10:38:22 -0700 | [diff] [blame] | 1 | # -*- buffer-read-only: t -*- |
| 2 | # |
| 3 | # This file is auto-generated by ext/Errno/Errno_pm.PL. |
| 4 | # ***ANY*** changes here will be lost. |
| 5 | # |
| 6 | |
| 7 | package Errno; |
| 8 | require Exporter; |
| 9 | use strict; |
| 10 | |
| 11 | our $VERSION = "1.28"; |
| 12 | $VERSION = eval $VERSION; |
| 13 | our @ISA = 'Exporter'; |
| 14 | |
| 15 | my %err; |
| 16 | |
| 17 | BEGIN { |
| 18 | %err = ( |
| 19 | EPERM => 1, |
| 20 | ENOENT => 2, |
| 21 | ESRCH => 3, |
| 22 | EINTR => 4, |
| 23 | EIO => 5, |
| 24 | ENXIO => 6, |
| 25 | E2BIG => 7, |
| 26 | ENOEXEC => 8, |
| 27 | EBADF => 9, |
| 28 | ECHILD => 10, |
| 29 | EAGAIN => 11, |
| 30 | EWOULDBLOCK => 11, |
| 31 | ENOMEM => 12, |
| 32 | EACCES => 13, |
| 33 | EFAULT => 14, |
| 34 | ENOTBLK => 15, |
| 35 | EBUSY => 16, |
| 36 | EEXIST => 17, |
| 37 | EXDEV => 18, |
| 38 | ENODEV => 19, |
| 39 | ENOTDIR => 20, |
| 40 | EISDIR => 21, |
| 41 | EINVAL => 22, |
| 42 | ENFILE => 23, |
| 43 | EMFILE => 24, |
| 44 | ENOTTY => 25, |
| 45 | ETXTBSY => 26, |
| 46 | EFBIG => 27, |
| 47 | ENOSPC => 28, |
| 48 | ESPIPE => 29, |
| 49 | EROFS => 30, |
| 50 | EMLINK => 31, |
| 51 | EPIPE => 32, |
| 52 | EDOM => 33, |
| 53 | ERANGE => 34, |
| 54 | EDEADLK => 35, |
| 55 | EDEADLOCK => 35, |
| 56 | ENAMETOOLONG => 36, |
| 57 | ENOLCK => 37, |
| 58 | ENOSYS => 38, |
| 59 | ENOTEMPTY => 39, |
| 60 | ELOOP => 40, |
| 61 | ENOMSG => 42, |
| 62 | EIDRM => 43, |
| 63 | ECHRNG => 44, |
| 64 | EL2NSYNC => 45, |
| 65 | EL3HLT => 46, |
| 66 | EL3RST => 47, |
| 67 | ELNRNG => 48, |
| 68 | EUNATCH => 49, |
| 69 | ENOCSI => 50, |
| 70 | EL2HLT => 51, |
| 71 | EBADE => 52, |
| 72 | EBADR => 53, |
| 73 | EXFULL => 54, |
| 74 | ENOANO => 55, |
| 75 | EBADRQC => 56, |
| 76 | EBADSLT => 57, |
| 77 | EBFONT => 59, |
| 78 | ENOSTR => 60, |
| 79 | ENODATA => 61, |
| 80 | ETIME => 62, |
| 81 | ENOSR => 63, |
| 82 | ENONET => 64, |
| 83 | ENOPKG => 65, |
| 84 | EREMOTE => 66, |
| 85 | ENOLINK => 67, |
| 86 | EADV => 68, |
| 87 | ESRMNT => 69, |
| 88 | ECOMM => 70, |
| 89 | EPROTO => 71, |
| 90 | EMULTIHOP => 72, |
| 91 | EDOTDOT => 73, |
| 92 | EBADMSG => 74, |
| 93 | EOVERFLOW => 75, |
| 94 | ENOTUNIQ => 76, |
| 95 | EBADFD => 77, |
| 96 | EREMCHG => 78, |
| 97 | ELIBACC => 79, |
| 98 | ELIBBAD => 80, |
| 99 | ELIBSCN => 81, |
| 100 | ELIBMAX => 82, |
| 101 | ELIBEXEC => 83, |
| 102 | EILSEQ => 84, |
| 103 | ERESTART => 85, |
| 104 | ESTRPIPE => 86, |
| 105 | EUSERS => 87, |
| 106 | ENOTSOCK => 88, |
| 107 | EDESTADDRREQ => 89, |
| 108 | EMSGSIZE => 90, |
| 109 | EPROTOTYPE => 91, |
| 110 | ENOPROTOOPT => 92, |
| 111 | EPROTONOSUPPORT => 93, |
| 112 | ESOCKTNOSUPPORT => 94, |
| 113 | ENOTSUP => 95, |
| 114 | EOPNOTSUPP => 95, |
| 115 | EPFNOSUPPORT => 96, |
| 116 | EAFNOSUPPORT => 97, |
| 117 | EADDRINUSE => 98, |
| 118 | EADDRNOTAVAIL => 99, |
| 119 | ENETDOWN => 100, |
| 120 | ENETUNREACH => 101, |
| 121 | ENETRESET => 102, |
| 122 | ECONNABORTED => 103, |
| 123 | ECONNRESET => 104, |
| 124 | ENOBUFS => 105, |
| 125 | EISCONN => 106, |
| 126 | ENOTCONN => 107, |
| 127 | ESHUTDOWN => 108, |
| 128 | ETOOMANYREFS => 109, |
| 129 | ETIMEDOUT => 110, |
| 130 | ECONNREFUSED => 111, |
| 131 | EHOSTDOWN => 112, |
| 132 | EHOSTUNREACH => 113, |
| 133 | EALREADY => 114, |
| 134 | EINPROGRESS => 115, |
| 135 | ESTALE => 116, |
| 136 | EUCLEAN => 117, |
| 137 | ENOTNAM => 118, |
| 138 | ENAVAIL => 119, |
| 139 | EISNAM => 120, |
| 140 | EREMOTEIO => 121, |
| 141 | EDQUOT => 122, |
| 142 | ENOMEDIUM => 123, |
| 143 | EMEDIUMTYPE => 124, |
| 144 | ECANCELED => 125, |
| 145 | ENOKEY => 126, |
| 146 | EKEYEXPIRED => 127, |
| 147 | EKEYREVOKED => 128, |
| 148 | EKEYREJECTED => 129, |
| 149 | EOWNERDEAD => 130, |
| 150 | ENOTRECOVERABLE => 131, |
| 151 | ERFKILL => 132, |
| 152 | EHWPOISON => 133, |
| 153 | ); |
| 154 | # Generate proxy constant subroutines for all the values. |
| 155 | # Well, almost all the values. Unfortunately we can't assume that at this |
| 156 | # point that our symbol table is empty, as code such as if the parser has |
| 157 | # seen code such as C<exists &Errno::EINVAL>, it will have created the |
| 158 | # typeglob. |
| 159 | # Doing this before defining @EXPORT_OK etc means that even if a platform is |
| 160 | # crazy enough to define EXPORT_OK as an error constant, everything will |
| 161 | # still work, because the parser will upgrade the PCS to a real typeglob. |
| 162 | # We rely on the subroutine definitions below to update the internal caches. |
| 163 | # Don't use %each, as we don't want a copy of the value. |
| 164 | foreach my $name (keys %err) { |
| 165 | if ($Errno::{$name}) { |
| 166 | # We expect this to be reached fairly rarely, so take an approach |
| 167 | # which uses the least compile time effort in the common case: |
| 168 | eval "sub $name() { $err{$name} }; 1" or die $@; |
| 169 | } else { |
| 170 | $Errno::{$name} = \$err{$name}; |
| 171 | } |
| 172 | } |
| 173 | } |
| 174 | |
| 175 | our @EXPORT_OK = keys %err; |
| 176 | |
| 177 | our %EXPORT_TAGS = ( |
| 178 | POSIX => [qw( |
| 179 | E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY |
| 180 | EBADF EBUSY ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK |
| 181 | EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH |
| 182 | EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK |
| 183 | EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS |
| 184 | ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS ENOTBLK |
| 185 | ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM |
| 186 | EPFNOSUPPORT EPIPE EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART |
| 187 | EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT |
| 188 | ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV |
| 189 | )], |
| 190 | ); |
| 191 | |
| 192 | sub TIEHASH { bless \%err } |
| 193 | |
| 194 | sub FETCH { |
| 195 | my (undef, $errname) = @_; |
| 196 | return "" unless exists $err{$errname}; |
| 197 | my $errno = $err{$errname}; |
| 198 | return $errno == $! ? $errno : 0; |
| 199 | } |
| 200 | |
| 201 | sub STORE { |
| 202 | require Carp; |
| 203 | Carp::confess("ERRNO hash is read only!"); |
| 204 | } |
| 205 | |
| 206 | # This is the true return value |
| 207 | *CLEAR = *DELETE = \*STORE; # Typeglob aliasing uses less space |
| 208 | |
| 209 | sub NEXTKEY { |
| 210 | each %err; |
| 211 | } |
| 212 | |
| 213 | sub FIRSTKEY { |
| 214 | my $s = scalar keys %err; # initialize iterator |
| 215 | each %err; |
| 216 | } |
| 217 | |
| 218 | sub EXISTS { |
| 219 | my (undef, $errname) = @_; |
| 220 | exists $err{$errname}; |
| 221 | } |
| 222 | |
| 223 | sub _tie_it { |
| 224 | tie %{$_[0]}, __PACKAGE__; |
| 225 | } |
| 226 | |
| 227 | __END__ |
| 228 | |
| 229 | # ex: set ro: |