/******************************************************************************
*
* 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;
}