| /****************************************************************************** |
| * |
| * Copyright (C) 2018 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at: |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| ***************************************************************************** |
| * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore |
| */ |
| |
| /*****************************************************************************/ |
| /* */ |
| /* File Name : osal_error.c */ |
| /* */ |
| /* Description : This file contains all the error code mappings across*/ |
| /* platforms. */ |
| /* */ |
| /* List of Functions : get_windows_error */ |
| /* get_linux_error */ |
| /* get_ti_bios_error */ |
| /* */ |
| /* Issues / Problems : None */ |
| /* */ |
| /* Revision History : */ |
| /* */ |
| /* DD MM YYYY Author(s) Changes (Describe the changes made) */ |
| /* 30 03 2006 Ittiam Draft */ |
| /* */ |
| /*****************************************************************************/ |
| |
| /*****************************************************************************/ |
| /* File Includes */ |
| /*****************************************************************************/ |
| |
| /* System includes files */ |
| |
| #include <errno.h> |
| |
| /* User include files */ |
| #include "cast_types.h" |
| #include "osal_errno.h" |
| |
| /*****************************************************************************/ |
| /* Global Variable Definitions */ |
| /*****************************************************************************/ |
| |
| WORD32 osal_errno[] = { |
| OSAL_NOERROR, |
| OSAL_PERM, /* EPERM */ |
| OSAL_NOENT, /* ENOENT */ |
| OSAL_SRCH, /* ESRCH */ |
| OSAL_INTR, /* EINTR */ |
| OSAL_IO, /* EIO */ |
| OSAL_NXIO, /* ENXIO */ |
| OSAL_2BIG, /* E2BIG */ |
| OSAL_NOEXEC, /* ENOEXEC */ |
| OSAL_BADF, /* EBADF */ |
| OSAL_CHILD, /* ECHILD */ |
| OSAL_AGAIN, /* EAGAIN, EDEADLOCK */ |
| OSAL_NOMEM, /* ENOMEM */ |
| OSAL_ACCES, /* EACCES */ |
| OSAL_FAULT, /* EFAULT */ |
| OSAL_NOTBLK, /* ENOTBLK */ |
| OSAL_BUSY, /* EBUSY */ |
| OSAL_EXIST, /* EEXIST */ |
| OSAL_XDEV, /* EXDEV */ |
| OSAL_NODEV, /* ENODEV */ |
| OSAL_NOTDIR, /* ENOTDIR */ |
| OSAL_ISDIR, /* EISDIR */ |
| OSAL_INVAL, /* EINVAL */ |
| OSAL_NFILE, /* ENFILE */ |
| OSAL_MFILE, /* EMFILE */ |
| OSAL_NOTTY, /* ENOTTY */ |
| OSAL_TXTBSY, /* ETXTBSY */ |
| OSAL_FBIG, /* EFBIG */ |
| OSAL_NOSPC, /* ENOSPC */ |
| OSAL_SPIPE, /* ESPIPE */ |
| OSAL_ROFS, /* EROFS */ |
| OSAL_MLINK, /* EMLINK */ |
| OSAL_PIPE, /* EPIPE */ |
| OSAL_DOM, /* EDOM */ |
| OSAL_RANGE, /* ERANGE */ |
| OSAL_DEADLK, /* EDEADLK, EDEADLOCK */ |
| OSAL_NAMETOOLONG, /* ENAMETOOLONG */ |
| OSAL_NOLCK, /* ENOLCK */ |
| OSAL_NOSYS, /* ENOSYS */ |
| OSAL_NOTEMPTY, /* ENOTEMPTY */ |
| OSAL_LOOP, /* ELOOP */ |
| OSAL_NOERROR, |
| OSAL_NOMSG, /* ENOMSG */ |
| OSAL_IDRM, /* EIDRM */ |
| OSAL_CHRNG, /* ECHRNG */ |
| OSAL_L2NSYNC, /* EL2NSYNC */ |
| OSAL_L3HLT, /* EL3HLT */ |
| OSAL_L3RST, /* EL3RST */ |
| OSAL_LNRNG, /* ELNRNG */ |
| OSAL_UNATCH, /* EUNATCH */ |
| OSAL_NOCSI, /* ENOCSI */ |
| OSAL_L2HLT, /* EL2HLT */ |
| OSAL_BADE, /* EBADE */ |
| OSAL_BADR, /* EBADR */ |
| OSAL_XFULL, /* EXFULL */ |
| OSAL_NOANO, /* ENOANO */ |
| OSAL_BADRQC, /* EBADRQC */ |
| OSAL_BADSLT, /* EBADSLT */ |
| OSAL_NOERROR, |
| OSAL_BFONT, /* EBFONT */ |
| OSAL_NOSTR, /* ENOSTR */ |
| OSAL_NODATA, /* ENODATA */ |
| OSAL_TIME, /* ETIME */ |
| OSAL_NOSR, /* ENOSR */ |
| OSAL_NONET, /* ENONET */ |
| OSAL_NOPKG, /* ENOPKG */ |
| OSAL_REMOTE, /* EREMOTE */ |
| OSAL_NOLINK, /* ENOLINK */ |
| OSAL_ADV, /* EADV */ |
| OSAL_SRMNT, /* ESRMNT */ |
| OSAL_COMM, /* ECOMM */ |
| OSAL_PROTO, /* EPROTO */ |
| OSAL_MULTIHOP, /* EMULTIHOP */ |
| OSAL_DOTDOT, /* EDOTDOT */ |
| OSAL_BADMSG, /* EBADMSG */ |
| OSAL_OVERFLOW, /* EOVERFLOW */ |
| OSAL_NOTUNIQ, /* ENOTUNIQ */ |
| OSAL_BADFD, /* EBADFD */ |
| OSAL_REMCHG, /* EREMCHG */ |
| OSAL_LIBACC, /* ELIBACC */ |
| OSAL_LIBBAD, /* ELIBBAD */ |
| OSAL_LIBSCN, /* ELIBSCN */ |
| OSAL_LIBMAX, /* ELIBMAX */ |
| OSAL_LIBEXEC, /* ELIBEXEC */ |
| OSAL_ILSEQ, /* EILSEQ */ |
| OSAL_RESTART, /* ERESTART */ |
| OSAL_STRPIPE, /* ESTRPIPE */ |
| OSAL_USERS, /* EUSERS */ |
| OSAL_NOTSOCK, /* ENOTSOCK */ |
| OSAL_DESTADDRREQ, /* EDESTADDRREQ */ |
| OSAL_MSGSIZE, /* EMSGSIZE */ |
| OSAL_PROTOTYPE, /* EPROTOTYPE */ |
| OSAL_NOPROTOOPT, /* ENOPROTOOPT */ |
| OSAL_PROTONOSUPPORT, /* EPROTONOSUPPORT */ |
| OSAL_SOCKTNOSUPPORT, /* ESOCKTNOSUPPORT */ |
| OSAL_OPNOTSUPP, /* EOPNOTSUPP */ |
| OSAL_PFNOSUPPORT, /* EPFNOSUPPORT */ |
| OSAL_AFNOSUPPORT, /* EAFNOSUPPORT */ |
| OSAL_ADDRINUSE, /* EADDRINUSE */ |
| OSAL_ADDRNOTAVAIL, /* EADDRNOTAVAIL */ |
| OSAL_NETDOWN, /* ENETDOWN */ |
| OSAL_NETUNREACH, /* ENETUNREACH */ |
| OSAL_NETRESET, /* ENETRESET */ |
| OSAL_CONNABORTED, /* ECONNABORTED */ |
| OSAL_CONNRESET, /* ECONNRESET */ |
| OSAL_NOBUFS, /* ENOBUFS */ |
| OSAL_ISCONN, /* EISCONN */ |
| OSAL_NOTCONN, /* ENOTCONN */ |
| OSAL_SHUTDOWN, /* ESHUTDOWN */ |
| OSAL_TOOMANYREFS, /* ETOOMANYREFS */ |
| OSAL_TIMEDOUT, /* ETIMEDOUT */ |
| OSAL_CONNREFUSED, /* ECONNREFUSED */ |
| OSAL_HOSTDOWN, /* EHOSTDOWN */ |
| OSAL_HOSTUNREACH, /* EHOSTUNREACH */ |
| OSAL_ALREADY, /* EALREADY */ |
| OSAL_INPROGRESS, /* EINPROGRESS */ |
| OSAL_STALE, /* ESTALE */ |
| OSAL_UCLEAN, /* EUCLEAN */ |
| OSAL_NOTNAM, /* ENOTNAM */ |
| OSAL_NAVAIL, /* ENAVAIL */ |
| OSAL_ISNAM, /* EISNAM */ |
| OSAL_REMOTEIO, /* EREMOTEIO */ |
| OSAL_DQUOT, /* EDQUOT */ |
| OSAL_NOMEDIUM, /* ENOMEDIUM */ |
| OSAL_MEDIUMTYPE, /* EMEDIUMTYPE */ |
| OSAL_CANCELED, /* ECANCELED */ |
| OSAL_NOKEY, /* ENOKEY */ |
| OSAL_KEYEXPIRED, /* EKEYEXPIRED */ |
| OSAL_KEYREVOKED, /* EKEYREVOKED */ |
| OSAL_KEYREJECTED, /* EKEYREJECTED */ |
| }; |
| |
| /*****************************************************************************/ |
| /* */ |
| /* Function Name : get_linux_error */ |
| /* */ |
| /* Description : This function returns the error code for Redhat Linux */ |
| /* platform. */ |
| /* */ |
| /* Inputs : None */ |
| /* Globals : None */ |
| /* */ |
| /* Processing : Returns OSAL error code if error is a listed OSAL error */ |
| /* code. Or else returns platform depedent error code. */ |
| /* */ |
| /* Outputs : Error code */ |
| /* */ |
| /* Returns : If error is one of OSAL listed error code - OSAL_<ERROR> */ |
| /* Else system error code. */ |
| /* */ |
| /* Issues : None */ |
| /* */ |
| /* Revision History: */ |
| /* */ |
| /* DD MM YYYY Author(s) Changes (Describe the changes made) */ |
| /* 30 03 2006 Ittiam Draft */ |
| /* */ |
| /*****************************************************************************/ |
| |
| UWORD32 get_linux_error(void) |
| { |
| /* Under Linux platform, error codes 0 - 130 are supported */ |
| if(130 > errno) |
| return osal_errno[errno]; |
| |
| return errno; |
| } |