The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/compat/linux/common/linux_errno.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: linux_errno.c,v 1.12 2001/11/13 02:08:49 lukem Exp $   */
    2 
    3 /*-
    4  * Copyright (c) 1995 The NetBSD Foundation, Inc.
    5  * All rights reserved.
    6  *
    7  * This code is derived from software contributed to The NetBSD Foundation
    8  * by Frank van der Linden.
    9  *
   10  * Redistribution and use in source and binary forms, with or without
   11  * modification, are permitted provided that the following conditions
   12  * are met:
   13  * 1. Redistributions of source code must retain the above copyright
   14  *    notice, this list of conditions and the following disclaimer.
   15  * 2. Redistributions in binary form must reproduce the above copyright
   16  *    notice, this list of conditions and the following disclaimer in the
   17  *    documentation and/or other materials provided with the distribution.
   18  * 3. All advertising materials mentioning features or use of this software
   19  *    must display the following acknowledgement:
   20  *      This product includes software developed by the NetBSD
   21  *      Foundation, Inc. and its contributors.
   22  * 4. Neither the name of The NetBSD Foundation nor the names of its
   23  *    contributors may be used to endorse or promote products derived
   24  *    from this software without specific prior written permission.
   25  *
   26  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   27  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   28  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   29  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   30  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   31  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   32  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   33  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   34  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   35  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   36  * POSSIBILITY OF SUCH DAMAGE.
   37  */
   38 
   39 #include <sys/cdefs.h>
   40 __KERNEL_RCSID(0, "$NetBSD: linux_errno.c,v 1.12 2001/11/13 02:08:49 lukem Exp $");
   41 
   42 #include <compat/linux/common/linux_errno.h>
   43 
   44 /*
   45  * This list is used to translate NetBSD errnos to linux errnos
   46  * when returning from a system call. (NetBSD system call->linux program)
   47  */
   48 const int native_to_linux_errno[] = {
   49         0,
   50         LINUX_SCERR_SIGN LINUX_EPERM,
   51         LINUX_SCERR_SIGN LINUX_ENOENT,
   52         LINUX_SCERR_SIGN LINUX_ESRCH,
   53         LINUX_SCERR_SIGN LINUX_EINTR,
   54         LINUX_SCERR_SIGN LINUX_EIO,
   55         LINUX_SCERR_SIGN LINUX_ENXIO,
   56         LINUX_SCERR_SIGN LINUX_E2BIG,
   57         LINUX_SCERR_SIGN LINUX_ENOEXEC,
   58         LINUX_SCERR_SIGN LINUX_EBADF,
   59         LINUX_SCERR_SIGN LINUX_ECHILD,
   60         LINUX_SCERR_SIGN LINUX_EDEADLK,
   61         LINUX_SCERR_SIGN LINUX_ENOMEM,
   62         LINUX_SCERR_SIGN LINUX_EACCES,
   63         LINUX_SCERR_SIGN LINUX_EFAULT,
   64         LINUX_SCERR_SIGN LINUX_ENOTBLK,
   65         LINUX_SCERR_SIGN LINUX_EBUSY,
   66         LINUX_SCERR_SIGN LINUX_EEXIST,
   67         LINUX_SCERR_SIGN LINUX_EXDEV,
   68         LINUX_SCERR_SIGN LINUX_ENODEV,
   69         LINUX_SCERR_SIGN LINUX_ENOTDIR,
   70         LINUX_SCERR_SIGN LINUX_EISDIR,
   71         LINUX_SCERR_SIGN LINUX_EINVAL,
   72         LINUX_SCERR_SIGN LINUX_ENFILE,
   73         LINUX_SCERR_SIGN LINUX_EMFILE,
   74         LINUX_SCERR_SIGN LINUX_ENOTTY,
   75         LINUX_SCERR_SIGN LINUX_ETXTBSY,
   76         LINUX_SCERR_SIGN LINUX_EFBIG,
   77         LINUX_SCERR_SIGN LINUX_ENOSPC,
   78         LINUX_SCERR_SIGN LINUX_ESPIPE,
   79         LINUX_SCERR_SIGN LINUX_EROFS,
   80         LINUX_SCERR_SIGN LINUX_EMLINK,
   81         LINUX_SCERR_SIGN LINUX_EPIPE,
   82         LINUX_SCERR_SIGN LINUX_EDOM,
   83         LINUX_SCERR_SIGN LINUX_ERANGE,
   84         LINUX_SCERR_SIGN LINUX_EAGAIN,
   85         LINUX_SCERR_SIGN LINUX_EINPROGRESS,
   86         LINUX_SCERR_SIGN LINUX_EALREADY,
   87         LINUX_SCERR_SIGN LINUX_ENOTSOCK,
   88         LINUX_SCERR_SIGN LINUX_EDESTADDRREQ,
   89         LINUX_SCERR_SIGN LINUX_EMSGSIZE,
   90         LINUX_SCERR_SIGN LINUX_EPROTOTYPE,
   91         LINUX_SCERR_SIGN LINUX_ENOPROTOOPT,
   92         LINUX_SCERR_SIGN LINUX_EPROTONOSUPPORT,
   93         LINUX_SCERR_SIGN LINUX_ESOCKTNOSUPPORT,
   94         LINUX_SCERR_SIGN LINUX_EOPNOTSUPP,
   95         LINUX_SCERR_SIGN LINUX_EPFNOSUPPORT,
   96         LINUX_SCERR_SIGN LINUX_EAFNOSUPPORT,
   97         LINUX_SCERR_SIGN LINUX_EADDRINUSE,
   98         LINUX_SCERR_SIGN LINUX_EADDRNOTAVAIL,
   99         LINUX_SCERR_SIGN LINUX_ENETDOWN,
  100         LINUX_SCERR_SIGN LINUX_ENETUNREACH,
  101         LINUX_SCERR_SIGN LINUX_ENETRESET,
  102         LINUX_SCERR_SIGN LINUX_ECONNABORTED,
  103         LINUX_SCERR_SIGN LINUX_ECONNRESET,
  104         LINUX_SCERR_SIGN LINUX_ENOBUFS,
  105         LINUX_SCERR_SIGN LINUX_EISCONN,
  106         LINUX_SCERR_SIGN LINUX_ENOTCONN,
  107         LINUX_SCERR_SIGN LINUX_ESHUTDOWN,
  108         LINUX_SCERR_SIGN LINUX_ETOOMANYREFS,
  109         LINUX_SCERR_SIGN LINUX_ETIMEDOUT,
  110         LINUX_SCERR_SIGN LINUX_ECONNREFUSED,
  111         LINUX_SCERR_SIGN LINUX_ELOOP,
  112         LINUX_SCERR_SIGN LINUX_ENAMETOOLONG,
  113         LINUX_SCERR_SIGN LINUX_EHOSTDOWN,
  114         LINUX_SCERR_SIGN LINUX_EHOSTUNREACH,
  115         LINUX_SCERR_SIGN LINUX_ENOTEMPTY,
  116         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (EPROCLIM) */
  117         LINUX_SCERR_SIGN LINUX_EUSERS,
  118         LINUX_SCERR_SIGN LINUX_EDQUOT,
  119         LINUX_SCERR_SIGN LINUX_ESTALE,
  120         LINUX_SCERR_SIGN LINUX_EREMOTE,
  121         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (EBADRPC) */
  122         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (ERPCMISMATCH) */
  123         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (EPROGUNAVAIL) */
  124         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (EPROGMISMATCH) */
  125         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (EPROCUNAVAIL) */
  126         LINUX_SCERR_SIGN LINUX_ENOLCK,
  127         LINUX_SCERR_SIGN LINUX_ENOSYS,
  128         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (EFTYPE) */
  129         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (EAUTH) */
  130         LINUX_SCERR_SIGN LINUX_ENOSYS,          /* not mapped (ENEEDAUTH) */
  131         LINUX_SCERR_SIGN LINUX_EIDRM,
  132         LINUX_SCERR_SIGN LINUX_ENOMSG,          /* 83 */
  133 
  134         /*
  135          * The rest of the list consists of errors that only
  136          * Linux has. They can be used to map them on to
  137          * themselves, so Linux emulating syscalls can return
  138          * these values.
  139          */
  140 
  141         LINUX_SCERR_SIGN LINUX_ECHRNG,
  142         LINUX_SCERR_SIGN LINUX_EL2NSYNC,
  143         LINUX_SCERR_SIGN LINUX_EL3HLT,
  144         LINUX_SCERR_SIGN LINUX_EL3RST,
  145         LINUX_SCERR_SIGN LINUX_ELNRNG,
  146         LINUX_SCERR_SIGN LINUX_EUNATCH,
  147         LINUX_SCERR_SIGN LINUX_ENOCSI,
  148         LINUX_SCERR_SIGN LINUX_EL2HLT,
  149         LINUX_SCERR_SIGN LINUX_EBADE,
  150         LINUX_SCERR_SIGN LINUX_EBADR,
  151         LINUX_SCERR_SIGN LINUX_EXFULL,
  152         LINUX_SCERR_SIGN LINUX_ENOANO,
  153         LINUX_SCERR_SIGN LINUX_EBADRQC,
  154         LINUX_SCERR_SIGN LINUX_EBADSLT,
  155         LINUX_SCERR_SIGN LINUX_EDEADLOCK,
  156         LINUX_SCERR_SIGN LINUX_EBFONT,
  157         LINUX_SCERR_SIGN LINUX_ENOSTR,
  158         LINUX_SCERR_SIGN LINUX_ENODATA,
  159         LINUX_SCERR_SIGN LINUX_ETIME,
  160         LINUX_SCERR_SIGN LINUX_ENOSR,
  161         LINUX_SCERR_SIGN LINUX_ENONET,
  162         LINUX_SCERR_SIGN LINUX_ENOPKG,
  163         LINUX_SCERR_SIGN LINUX_ENOLINK,
  164         LINUX_SCERR_SIGN LINUX_EADV,
  165         LINUX_SCERR_SIGN LINUX_ESRMNT,
  166         LINUX_SCERR_SIGN LINUX_ECOMM,
  167         LINUX_SCERR_SIGN LINUX_EPROTO,
  168         LINUX_SCERR_SIGN LINUX_EMULTIHOP,
  169         LINUX_SCERR_SIGN LINUX_EDOTDOT,
  170         LINUX_SCERR_SIGN LINUX_EBADMSG,
  171         LINUX_SCERR_SIGN LINUX_EOVERFLOW,
  172         LINUX_SCERR_SIGN LINUX_ENOTUNIQ,
  173         LINUX_SCERR_SIGN LINUX_EBADFD,
  174         LINUX_SCERR_SIGN LINUX_EREMCHG,
  175         LINUX_SCERR_SIGN LINUX_ELIBACC,
  176         LINUX_SCERR_SIGN LINUX_ELIBBAD,
  177         LINUX_SCERR_SIGN LINUX_ELIBSCN,
  178         LINUX_SCERR_SIGN LINUX_ELIBMAX,
  179         LINUX_SCERR_SIGN LINUX_ELIBEXEC,
  180         LINUX_SCERR_SIGN LINUX_EILSEQ,
  181         LINUX_SCERR_SIGN LINUX_ERESTART,
  182         LINUX_SCERR_SIGN LINUX_ESTRPIPE,
  183         LINUX_SCERR_SIGN LINUX_EUCLEAN,
  184         LINUX_SCERR_SIGN LINUX_ENOTNAM,
  185         LINUX_SCERR_SIGN LINUX_ENAVAIL,
  186         LINUX_SCERR_SIGN LINUX_EISNAM,
  187         LINUX_SCERR_SIGN LINUX_EREMOTEIO,
  188 };

Cache object: d57f3181613763c644610b31724f6123


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.