OsConstants.java revision b974666d79ebc392b37ec1ae83aae57ae6331c08
1/* 2 * Copyright (C) 2011 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package libcore.io; 18 19public final class OsConstants { 20 private OsConstants() { } 21 22 public static boolean S_ISBLK(int mode) { return (mode & S_IFMT) == S_IFBLK; } 23 public static boolean S_ISCHR(int mode) { return (mode & S_IFMT) == S_IFCHR; } 24 public static boolean S_ISDIR(int mode) { return (mode & S_IFMT) == S_IFDIR; } 25 public static boolean S_ISFIFO(int mode) { return (mode & S_IFMT) == S_IFIFO; } 26 public static boolean S_ISREG(int mode) { return (mode & S_IFMT) == S_IFREG; } 27 public static boolean S_ISLNK(int mode) { return (mode & S_IFMT) == S_IFLNK; } 28 public static boolean S_ISSOCK(int mode) { return (mode & S_IFMT) == S_IFSOCK; } 29 30 public static int WEXITSTATUS(int status) { return (status & 0xff00) >> 8; } 31 public static boolean WCOREDUMP(int status) { return (status & 0x80) != 0; } 32 public static int WTERMSIG(int status) { return status & 0x7f; } 33 public static int WSTOPSIG(int status) { return WEXITSTATUS(status); } 34 public static boolean WIFEXITED(int status) { return (WTERMSIG(status) == 0); } 35 public static boolean WIFSTOPPED(int status) { return (WTERMSIG(status) == 0x7f); } 36 public static boolean WIFSIGNALED(int status) { return (WTERMSIG(status + 1) >= 2); } 37 38 public static final int AF_INET = placeholder(); 39 public static final int AF_INET6 = placeholder(); 40 public static final int AF_UNIX = placeholder(); 41 public static final int AF_UNSPEC = placeholder(); 42 public static final int E2BIG = placeholder(); 43 public static final int EACCES = placeholder(); 44 public static final int EADDRINUSE = placeholder(); 45 public static final int EADDRNOTAVAIL = placeholder(); 46 public static final int EAFNOSUPPORT = placeholder(); 47 public static final int EAGAIN = placeholder(); 48 public static final int EALREADY = placeholder(); 49 public static final int EBADF = placeholder(); 50 public static final int EBADMSG = placeholder(); 51 public static final int EBUSY = placeholder(); 52 public static final int ECANCELED = placeholder(); 53 public static final int ECHILD = placeholder(); 54 public static final int ECONNABORTED = placeholder(); 55 public static final int ECONNREFUSED = placeholder(); 56 public static final int ECONNRESET = placeholder(); 57 public static final int EDEADLK = placeholder(); 58 public static final int EDESTADDRREQ = placeholder(); 59 public static final int EDOM = placeholder(); 60 public static final int EDQUOT = placeholder(); 61 public static final int EEXIST = placeholder(); 62 public static final int EFAULT = placeholder(); 63 public static final int EFBIG = placeholder(); 64 public static final int EHOSTUNREACH = placeholder(); 65 public static final int EIDRM = placeholder(); 66 public static final int EILSEQ = placeholder(); 67 public static final int EINPROGRESS = placeholder(); 68 public static final int EINTR = placeholder(); 69 public static final int EINVAL = placeholder(); 70 public static final int EIO = placeholder(); 71 public static final int EISCONN = placeholder(); 72 public static final int EISDIR = placeholder(); 73 public static final int ELOOP = placeholder(); 74 public static final int EMFILE = placeholder(); 75 public static final int EMLINK = placeholder(); 76 public static final int EMSGSIZE = placeholder(); 77 public static final int EMULTIHOP = placeholder(); 78 public static final int ENAMETOOLONG = placeholder(); 79 public static final int ENETDOWN = placeholder(); 80 public static final int ENETRESET = placeholder(); 81 public static final int ENETUNREACH = placeholder(); 82 public static final int ENFILE = placeholder(); 83 public static final int ENOBUFS = placeholder(); 84 public static final int ENODATA = placeholder(); 85 public static final int ENODEV = placeholder(); 86 public static final int ENOENT = placeholder(); 87 public static final int ENOEXEC = placeholder(); 88 public static final int ENOLCK = placeholder(); 89 public static final int ENOLINK = placeholder(); 90 public static final int ENOMEM = placeholder(); 91 public static final int ENOMSG = placeholder(); 92 public static final int ENOPROTOOPT = placeholder(); 93 public static final int ENOSPC = placeholder(); 94 public static final int ENOSR = placeholder(); 95 public static final int ENOSTR = placeholder(); 96 public static final int ENOSYS = placeholder(); 97 public static final int ENOTCONN = placeholder(); 98 public static final int ENOTDIR = placeholder(); 99 public static final int ENOTEMPTY = placeholder(); 100 public static final int ENOTSOCK = placeholder(); 101 public static final int ENOTSUP = placeholder(); 102 public static final int ENOTTY = placeholder(); 103 public static final int ENXIO = placeholder(); 104 public static final int EOPNOTSUPP = placeholder(); 105 public static final int EOVERFLOW = placeholder(); 106 public static final int EPERM = placeholder(); 107 public static final int EPIPE = placeholder(); 108 public static final int EPROTO = placeholder(); 109 public static final int EPROTONOSUPPORT = placeholder(); 110 public static final int EPROTOTYPE = placeholder(); 111 public static final int ERANGE = placeholder(); 112 public static final int EROFS = placeholder(); 113 public static final int ESPIPE = placeholder(); 114 public static final int ESRCH = placeholder(); 115 public static final int ESTALE = placeholder(); 116 public static final int ETIME = placeholder(); 117 public static final int ETIMEDOUT = placeholder(); 118 public static final int ETXTBSY = placeholder(); 119 public static final int EWOULDBLOCK = placeholder(); 120 public static final int EXDEV = placeholder(); 121 public static final int EXIT_FAILURE = placeholder(); 122 public static final int EXIT_SUCCESS = placeholder(); 123 public static final int FD_CLOEXEC = placeholder(); 124 public static final int FIONREAD = placeholder(); 125 public static final int F_DUPFD = placeholder(); 126 public static final int F_GETFD = placeholder(); 127 public static final int F_GETFL = placeholder(); 128 public static final int F_GETLK = placeholder(); 129 public static final int F_GETLK64 = placeholder(); 130 public static final int F_GETOWN = placeholder(); 131 public static final int F_OK = placeholder(); 132 public static final int F_RDLCK = placeholder(); 133 public static final int F_SETFD = placeholder(); 134 public static final int F_SETFL = placeholder(); 135 public static final int F_SETLK = placeholder(); 136 public static final int F_SETLK64 = placeholder(); 137 public static final int F_SETLKW = placeholder(); 138 public static final int F_SETLKW64 = placeholder(); 139 public static final int F_SETOWN = placeholder(); 140 public static final int F_UNLCK = placeholder(); 141 public static final int F_WRLCK = placeholder(); 142 public static final int IPPROTO_ICMP = placeholder(); 143 public static final int IPPROTO_IP = placeholder(); 144 public static final int IPPROTO_IPV6 = placeholder(); 145 public static final int IPPROTO_RAW = placeholder(); 146 public static final int IPPROTO_TCP = placeholder(); 147 public static final int IPPROTO_UDP = placeholder(); 148 public static final int IPV6_CHECKSUM = placeholder(); 149 public static final int IPV6_MULTICAST_HOPS = placeholder(); 150 public static final int IPV6_MULTICAST_IF = placeholder(); 151 public static final int IPV6_MULTICAST_LOOP = placeholder(); 152 public static final int IPV6_RECVDSTOPTS = placeholder(); 153 public static final int IPV6_RECVHOPLIMIT = placeholder(); 154 public static final int IPV6_RECVHOPOPTS = placeholder(); 155 public static final int IPV6_RECVPKTINFO = placeholder(); 156 public static final int IPV6_RECVRTHDR = placeholder(); 157 public static final int IPV6_RECVTCLASS = placeholder(); 158 public static final int IPV6_TCLASS = placeholder(); 159 public static final int IPV6_UNICAST_HOPS = placeholder(); 160 public static final int IPV6_V6ONLY = placeholder(); 161 public static final int IP_MULTICAST_IF = placeholder(); 162 public static final int IP_MULTICAST_LOOP = placeholder(); 163 public static final int IP_MULTICAST_TTL = placeholder(); 164 public static final int IP_TOS = placeholder(); 165 public static final int IP_TTL = placeholder(); 166 public static final int MAP_FIXED = placeholder(); 167 public static final int MAP_PRIVATE = placeholder(); 168 public static final int MAP_SHARED = placeholder(); 169 public static final int MCAST_JOIN_GROUP = placeholder(); 170 public static final int MCAST_LEAVE_GROUP = placeholder(); 171 public static final int MCL_CURRENT = placeholder(); 172 public static final int MCL_FUTURE = placeholder(); 173 public static final int MSG_CTRUNC = placeholder(); 174 public static final int MSG_DONTROUTE = placeholder(); 175 public static final int MSG_EOR = placeholder(); 176 public static final int MSG_OOB = placeholder(); 177 public static final int MSG_PEEK = placeholder(); 178 public static final int MSG_TRUNC = placeholder(); 179 public static final int MSG_WAITALL = placeholder(); 180 public static final int MS_ASYNC = placeholder(); 181 public static final int MS_INVALIDATE = placeholder(); 182 public static final int MS_SYNC = placeholder(); 183 public static final int O_ACCMODE = placeholder(); 184 public static final int O_APPEND = placeholder(); 185 public static final int O_CREAT = placeholder(); 186 public static final int O_EXCL = placeholder(); 187 public static final int O_NOCTTY = placeholder(); 188 public static final int O_NONBLOCK = placeholder(); 189 public static final int O_RDONLY = placeholder(); 190 public static final int O_RDWR = placeholder(); 191 public static final int O_SYNC = placeholder(); 192 public static final int O_TRUNC = placeholder(); 193 public static final int O_WRONLY = placeholder(); 194 public static final int PROT_EXEC = placeholder(); 195 public static final int PROT_NONE = placeholder(); 196 public static final int PROT_READ = placeholder(); 197 public static final int PROT_WRITE = placeholder(); 198 public static final int R_OK = placeholder(); 199 public static final int SEEK_CUR = placeholder(); 200 public static final int SEEK_END = placeholder(); 201 public static final int SEEK_SET = placeholder(); 202 public static final int SHUT_RD = placeholder(); 203 public static final int SHUT_RDWR = placeholder(); 204 public static final int SHUT_WR = placeholder(); 205 public static final int SOCK_DGRAM = placeholder(); 206 public static final int SOCK_RAW = placeholder(); 207 public static final int SOCK_SEQPACKET = placeholder(); 208 public static final int SOCK_STREAM = placeholder(); 209 public static final int SOL_SOCKET = placeholder(); 210 public static final int SO_BINDTODEVICE = placeholder(); 211 public static final int SO_BROADCAST = placeholder(); 212 public static final int SO_DEBUG = placeholder(); 213 public static final int SO_DONTROUTE = placeholder(); 214 public static final int SO_ERROR = placeholder(); 215 public static final int SO_KEEPALIVE = placeholder(); 216 public static final int SO_LINGER = placeholder(); 217 public static final int SO_OOBINLINE = placeholder(); 218 public static final int SO_RCVBUF = placeholder(); 219 public static final int SO_RCVLOWAT = placeholder(); 220 public static final int SO_RCVTIMEO = placeholder(); 221 public static final int SO_REUSEADDR = placeholder(); 222 public static final int SO_SNDBUF = placeholder(); 223 public static final int SO_SNDLOWAT = placeholder(); 224 public static final int SO_SNDTIMEO = placeholder(); 225 public static final int SO_TYPE = placeholder(); 226 public static final int STDERR_FILENO = placeholder(); 227 public static final int STDIN_FILENO = placeholder(); 228 public static final int STDOUT_FILENO = placeholder(); 229 public static final int S_IFBLK = placeholder(); 230 public static final int S_IFCHR = placeholder(); 231 public static final int S_IFDIR = placeholder(); 232 public static final int S_IFIFO = placeholder(); 233 public static final int S_IFLNK = placeholder(); 234 public static final int S_IFMT = placeholder(); 235 public static final int S_IFREG = placeholder(); 236 public static final int S_IFSOCK = placeholder(); 237 public static final int S_IRGRP = placeholder(); 238 public static final int S_IROTH = placeholder(); 239 public static final int S_IRUSR = placeholder(); 240 public static final int S_IRWXG = placeholder(); 241 public static final int S_IRWXO = placeholder(); 242 public static final int S_IRWXU = placeholder(); 243 public static final int S_ISGID = placeholder(); 244 public static final int S_ISUID = placeholder(); 245 public static final int S_ISVTX = placeholder(); 246 public static final int S_IWGRP = placeholder(); 247 public static final int S_IWOTH = placeholder(); 248 public static final int S_IWUSR = placeholder(); 249 public static final int S_IXGRP = placeholder(); 250 public static final int S_IXOTH = placeholder(); 251 public static final int S_IXUSR = placeholder(); 252 public static final int TCP_NODELAY = placeholder(); 253 public static final int WCONTINUED = placeholder(); 254 public static final int WEXITED = placeholder(); 255 public static final int WNOHANG = placeholder(); 256 public static final int WNOWAIT = placeholder(); 257 public static final int WSTOPPED = placeholder(); 258 public static final int WUNTRACED = placeholder(); 259 public static final int W_OK = placeholder(); 260 public static final int X_OK = placeholder(); 261 public static final int _SC_2_CHAR_TERM = placeholder(); 262 public static final int _SC_2_C_BIND = placeholder(); 263 public static final int _SC_2_C_DEV = placeholder(); 264 public static final int _SC_2_C_VERSION = placeholder(); 265 public static final int _SC_2_FORT_DEV = placeholder(); 266 public static final int _SC_2_FORT_RUN = placeholder(); 267 public static final int _SC_2_LOCALEDEF = placeholder(); 268 public static final int _SC_2_SW_DEV = placeholder(); 269 public static final int _SC_2_UPE = placeholder(); 270 public static final int _SC_2_VERSION = placeholder(); 271 public static final int _SC_AIO_LISTIO_MAX = placeholder(); 272 public static final int _SC_AIO_MAX = placeholder(); 273 public static final int _SC_AIO_PRIO_DELTA_MAX = placeholder(); 274 public static final int _SC_ARG_MAX = placeholder(); 275 public static final int _SC_ASYNCHRONOUS_IO = placeholder(); 276 public static final int _SC_ATEXIT_MAX = placeholder(); 277 public static final int _SC_AVPHYS_PAGES = placeholder(); 278 public static final int _SC_BC_BASE_MAX = placeholder(); 279 public static final int _SC_BC_DIM_MAX = placeholder(); 280 public static final int _SC_BC_SCALE_MAX = placeholder(); 281 public static final int _SC_BC_STRING_MAX = placeholder(); 282 public static final int _SC_CHILD_MAX = placeholder(); 283 public static final int _SC_CLK_TCK = placeholder(); 284 public static final int _SC_COLL_WEIGHTS_MAX = placeholder(); 285 public static final int _SC_DELAYTIMER_MAX = placeholder(); 286 public static final int _SC_EXPR_NEST_MAX = placeholder(); 287 public static final int _SC_FSYNC = placeholder(); 288 public static final int _SC_GETGR_R_SIZE_MAX = placeholder(); 289 public static final int _SC_GETPW_R_SIZE_MAX = placeholder(); 290 public static final int _SC_IOV_MAX = placeholder(); 291 public static final int _SC_JOB_CONTROL = placeholder(); 292 public static final int _SC_LINE_MAX = placeholder(); 293 public static final int _SC_LOGIN_NAME_MAX = placeholder(); 294 public static final int _SC_MAPPED_FILES = placeholder(); 295 public static final int _SC_MEMLOCK = placeholder(); 296 public static final int _SC_MEMLOCK_RANGE = placeholder(); 297 public static final int _SC_MEMORY_PROTECTION = placeholder(); 298 public static final int _SC_MESSAGE_PASSING = placeholder(); 299 public static final int _SC_MQ_OPEN_MAX = placeholder(); 300 public static final int _SC_MQ_PRIO_MAX = placeholder(); 301 public static final int _SC_NGROUPS_MAX = placeholder(); 302 public static final int _SC_NPROCESSORS_CONF = placeholder(); 303 public static final int _SC_NPROCESSORS_ONLN = placeholder(); 304 public static final int _SC_OPEN_MAX = placeholder(); 305 public static final int _SC_PAGESIZE = placeholder(); 306 public static final int _SC_PAGE_SIZE = placeholder(); 307 public static final int _SC_PASS_MAX = placeholder(); 308 public static final int _SC_PHYS_PAGES = placeholder(); 309 public static final int _SC_PRIORITIZED_IO = placeholder(); 310 public static final int _SC_PRIORITY_SCHEDULING = placeholder(); 311 public static final int _SC_REALTIME_SIGNALS = placeholder(); 312 public static final int _SC_RE_DUP_MAX = placeholder(); 313 public static final int _SC_RTSIG_MAX = placeholder(); 314 public static final int _SC_SAVED_IDS = placeholder(); 315 public static final int _SC_SEMAPHORES = placeholder(); 316 public static final int _SC_SEM_NSEMS_MAX = placeholder(); 317 public static final int _SC_SEM_VALUE_MAX = placeholder(); 318 public static final int _SC_SHARED_MEMORY_OBJECTS = placeholder(); 319 public static final int _SC_SIGQUEUE_MAX = placeholder(); 320 public static final int _SC_STREAM_MAX = placeholder(); 321 public static final int _SC_SYNCHRONIZED_IO = placeholder(); 322 public static final int _SC_THREADS = placeholder(); 323 public static final int _SC_THREAD_ATTR_STACKADDR = placeholder(); 324 public static final int _SC_THREAD_ATTR_STACKSIZE = placeholder(); 325 public static final int _SC_THREAD_DESTRUCTOR_ITERATIONS = placeholder(); 326 public static final int _SC_THREAD_KEYS_MAX = placeholder(); 327 public static final int _SC_THREAD_PRIORITY_SCHEDULING = placeholder(); 328 public static final int _SC_THREAD_PRIO_INHERIT = placeholder(); 329 public static final int _SC_THREAD_PRIO_PROTECT = placeholder(); 330 public static final int _SC_THREAD_SAFE_FUNCTIONS = placeholder(); 331 public static final int _SC_THREAD_STACK_MIN = placeholder(); 332 public static final int _SC_THREAD_THREADS_MAX = placeholder(); 333 public static final int _SC_TIMERS = placeholder(); 334 public static final int _SC_TIMER_MAX = placeholder(); 335 public static final int _SC_TTY_NAME_MAX = placeholder(); 336 public static final int _SC_TZNAME_MAX = placeholder(); 337 public static final int _SC_VERSION = placeholder(); 338 public static final int _SC_XBS5_ILP32_OFF32 = placeholder(); 339 public static final int _SC_XBS5_ILP32_OFFBIG = placeholder(); 340 public static final int _SC_XBS5_LP64_OFF64 = placeholder(); 341 public static final int _SC_XBS5_LPBIG_OFFBIG = placeholder(); 342 public static final int _SC_XOPEN_CRYPT = placeholder(); 343 public static final int _SC_XOPEN_ENH_I18N = placeholder(); 344 public static final int _SC_XOPEN_LEGACY = placeholder(); 345 public static final int _SC_XOPEN_REALTIME = placeholder(); 346 public static final int _SC_XOPEN_REALTIME_THREADS = placeholder(); 347 public static final int _SC_XOPEN_SHM = placeholder(); 348 public static final int _SC_XOPEN_UNIX = placeholder(); 349 public static final int _SC_XOPEN_VERSION = placeholder(); 350 public static final int _SC_XOPEN_XCU_VERSION = placeholder(); 351 352 public static String errnoName(int errno) { 353 if (errno == E2BIG) { 354 return "E2BIG"; 355 } 356 if (errno == EACCES) { 357 return "EACCES"; 358 } 359 if (errno == EADDRINUSE) { 360 return "EADDRINUSE"; 361 } 362 if (errno == EADDRNOTAVAIL) { 363 return "EADDRNOTAVAIL"; 364 } 365 if (errno == EAFNOSUPPORT) { 366 return "EAFNOSUPPORT"; 367 } 368 if (errno == EAGAIN) { 369 return "EAGAIN"; 370 } 371 if (errno == EALREADY) { 372 return "EALREADY"; 373 } 374 if (errno == EBADF) { 375 return "EBADF"; 376 } 377 if (errno == EBADMSG) { 378 return "EBADMSG"; 379 } 380 if (errno == EBUSY) { 381 return "EBUSY"; 382 } 383 if (errno == ECANCELED) { 384 return "ECANCELED"; 385 } 386 if (errno == ECHILD) { 387 return "ECHILD"; 388 } 389 if (errno == ECONNABORTED) { 390 return "ECONNABORTED"; 391 } 392 if (errno == ECONNREFUSED) { 393 return "ECONNREFUSED"; 394 } 395 if (errno == ECONNRESET) { 396 return "ECONNRESET"; 397 } 398 if (errno == EDEADLK) { 399 return "EDEADLK"; 400 } 401 if (errno == EDESTADDRREQ) { 402 return "EDESTADDRREQ"; 403 } 404 if (errno == EDOM) { 405 return "EDOM"; 406 } 407 if (errno == EDQUOT) { 408 return "EDQUOT"; 409 } 410 if (errno == EEXIST) { 411 return "EEXIST"; 412 } 413 if (errno == EFAULT) { 414 return "EFAULT"; 415 } 416 if (errno == EFBIG) { 417 return "EFBIG"; 418 } 419 if (errno == EHOSTUNREACH) { 420 return "EHOSTUNREACH"; 421 } 422 if (errno == EIDRM) { 423 return "EIDRM"; 424 } 425 if (errno == EILSEQ) { 426 return "EILSEQ"; 427 } 428 if (errno == EINPROGRESS) { 429 return "EINPROGRESS"; 430 } 431 if (errno == EINTR) { 432 return "EINTR"; 433 } 434 if (errno == EINVAL) { 435 return "EINVAL"; 436 } 437 if (errno == EIO) { 438 return "EIO"; 439 } 440 if (errno == EISCONN) { 441 return "EISCONN"; 442 } 443 if (errno == EISDIR) { 444 return "EISDIR"; 445 } 446 if (errno == ELOOP) { 447 return "ELOOP"; 448 } 449 if (errno == EMFILE) { 450 return "EMFILE"; 451 } 452 if (errno == EMLINK) { 453 return "EMLINK"; 454 } 455 if (errno == EMSGSIZE) { 456 return "EMSGSIZE"; 457 } 458 if (errno == EMULTIHOP) { 459 return "EMULTIHOP"; 460 } 461 if (errno == ENAMETOOLONG) { 462 return "ENAMETOOLONG"; 463 } 464 if (errno == ENETDOWN) { 465 return "ENETDOWN"; 466 } 467 if (errno == ENETRESET) { 468 return "ENETRESET"; 469 } 470 if (errno == ENETUNREACH) { 471 return "ENETUNREACH"; 472 } 473 if (errno == ENFILE) { 474 return "ENFILE"; 475 } 476 if (errno == ENOBUFS) { 477 return "ENOBUFS"; 478 } 479 if (errno == ENODATA) { 480 return "ENODATA"; 481 } 482 if (errno == ENODEV) { 483 return "ENODEV"; 484 } 485 if (errno == ENOENT) { 486 return "ENOENT"; 487 } 488 if (errno == ENOEXEC) { 489 return "ENOEXEC"; 490 } 491 if (errno == ENOLCK) { 492 return "ENOLCK"; 493 } 494 if (errno == ENOLINK) { 495 return "ENOLINK"; 496 } 497 if (errno == ENOMEM) { 498 return "ENOMEM"; 499 } 500 if (errno == ENOMSG) { 501 return "ENOMSG"; 502 } 503 if (errno == ENOPROTOOPT) { 504 return "ENOPROTOOPT"; 505 } 506 if (errno == ENOSPC) { 507 return "ENOSPC"; 508 } 509 if (errno == ENOSR) { 510 return "ENOSR"; 511 } 512 if (errno == ENOSTR) { 513 return "ENOSTR"; 514 } 515 if (errno == ENOSYS) { 516 return "ENOSYS"; 517 } 518 if (errno == ENOTCONN) { 519 return "ENOTCONN"; 520 } 521 if (errno == ENOTDIR) { 522 return "ENOTDIR"; 523 } 524 if (errno == ENOTEMPTY) { 525 return "ENOTEMPTY"; 526 } 527 if (errno == ENOTSOCK) { 528 return "ENOTSOCK"; 529 } 530 if (errno == ENOTSUP) { 531 return "ENOTSUP"; 532 } 533 if (errno == ENOTTY) { 534 return "ENOTTY"; 535 } 536 if (errno == ENXIO) { 537 return "ENXIO"; 538 } 539 if (errno == EOPNOTSUPP) { 540 return "EOPNOTSUPP"; 541 } 542 if (errno == EOVERFLOW) { 543 return "EOVERFLOW"; 544 } 545 if (errno == EPERM) { 546 return "EPERM"; 547 } 548 if (errno == EPIPE) { 549 return "EPIPE"; 550 } 551 if (errno == EPROTO) { 552 return "EPROTO"; 553 } 554 if (errno == EPROTONOSUPPORT) { 555 return "EPROTONOSUPPORT"; 556 } 557 if (errno == EPROTOTYPE) { 558 return "EPROTOTYPE"; 559 } 560 if (errno == ERANGE) { 561 return "ERANGE"; 562 } 563 if (errno == EROFS) { 564 return "EROFS"; 565 } 566 if (errno == ESPIPE) { 567 return "ESPIPE"; 568 } 569 if (errno == ESRCH) { 570 return "ESRCH"; 571 } 572 if (errno == ESTALE) { 573 return "ESTALE"; 574 } 575 if (errno == ETIME) { 576 return "ETIME"; 577 } 578 if (errno == ETIMEDOUT) { 579 return "ETIMEDOUT"; 580 } 581 if (errno == ETXTBSY) { 582 return "ETXTBSY"; 583 } 584 if (errno == EWOULDBLOCK) { 585 return "EWOULDBLOCK"; 586 } 587 if (errno == EXDEV) { 588 return "EXDEV"; 589 } 590 return null; 591 } 592 593 private static native void initConstants(); 594 595 // A hack to avoid these constants being inlined by javac... 596 private static int placeholder() { return 0; } 597 // ...because we want to initialize them at runtime. 598 static { 599 initConstants(); 600 } 601} 602