xref: /aosp_15_r20/external/libhevc/encoder/osal_error.c (revision c83a76b084498d55f252f48b2e3786804cdf24b7)
1*c83a76b0SSuyog Pawar /******************************************************************************
2*c83a76b0SSuyog Pawar  *
3*c83a76b0SSuyog Pawar  * Copyright (C) 2018 The Android Open Source Project
4*c83a76b0SSuyog Pawar  *
5*c83a76b0SSuyog Pawar  * Licensed under the Apache License, Version 2.0 (the "License");
6*c83a76b0SSuyog Pawar  * you may not use this file except in compliance with the License.
7*c83a76b0SSuyog Pawar  * You may obtain a copy of the License at:
8*c83a76b0SSuyog Pawar  *
9*c83a76b0SSuyog Pawar  * http://www.apache.org/licenses/LICENSE-2.0
10*c83a76b0SSuyog Pawar  *
11*c83a76b0SSuyog Pawar  * Unless required by applicable law or agreed to in writing, software
12*c83a76b0SSuyog Pawar  * distributed under the License is distributed on an "AS IS" BASIS,
13*c83a76b0SSuyog Pawar  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*c83a76b0SSuyog Pawar  * See the License for the specific language governing permissions and
15*c83a76b0SSuyog Pawar  * limitations under the License.
16*c83a76b0SSuyog Pawar  *
17*c83a76b0SSuyog Pawar  *****************************************************************************
18*c83a76b0SSuyog Pawar  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*c83a76b0SSuyog Pawar */
20*c83a76b0SSuyog Pawar 
21*c83a76b0SSuyog Pawar /*****************************************************************************/
22*c83a76b0SSuyog Pawar /*                                                                           */
23*c83a76b0SSuyog Pawar /*  File Name         : osal_error.c                                         */
24*c83a76b0SSuyog Pawar /*                                                                           */
25*c83a76b0SSuyog Pawar /*  Description       : This file contains all the error code mappings across*/
26*c83a76b0SSuyog Pawar /*                      platforms.                                           */
27*c83a76b0SSuyog Pawar /*                                                                           */
28*c83a76b0SSuyog Pawar /*  List of Functions : get_windows_error                                    */
29*c83a76b0SSuyog Pawar /*                      get_linux_error                                      */
30*c83a76b0SSuyog Pawar /*                      get_ti_bios_error                                    */
31*c83a76b0SSuyog Pawar /*                                                                           */
32*c83a76b0SSuyog Pawar /*  Issues / Problems : None                                                 */
33*c83a76b0SSuyog Pawar /*                                                                           */
34*c83a76b0SSuyog Pawar /*  Revision History  :                                                      */
35*c83a76b0SSuyog Pawar /*                                                                           */
36*c83a76b0SSuyog Pawar /*         DD MM YYYY   Author(s)       Changes (Describe the changes made)  */
37*c83a76b0SSuyog Pawar /*         30 03 2006   Ittiam          Draft                                */
38*c83a76b0SSuyog Pawar /*                                                                           */
39*c83a76b0SSuyog Pawar /*****************************************************************************/
40*c83a76b0SSuyog Pawar 
41*c83a76b0SSuyog Pawar /*****************************************************************************/
42*c83a76b0SSuyog Pawar /* File Includes                                                             */
43*c83a76b0SSuyog Pawar /*****************************************************************************/
44*c83a76b0SSuyog Pawar 
45*c83a76b0SSuyog Pawar /* System includes files */
46*c83a76b0SSuyog Pawar 
47*c83a76b0SSuyog Pawar #include <errno.h>
48*c83a76b0SSuyog Pawar 
49*c83a76b0SSuyog Pawar /* User include files */
50*c83a76b0SSuyog Pawar #include "cast_types.h"
51*c83a76b0SSuyog Pawar #include "osal_errno.h"
52*c83a76b0SSuyog Pawar 
53*c83a76b0SSuyog Pawar /*****************************************************************************/
54*c83a76b0SSuyog Pawar /* Global Variable Definitions                                               */
55*c83a76b0SSuyog Pawar /*****************************************************************************/
56*c83a76b0SSuyog Pawar 
57*c83a76b0SSuyog Pawar WORD32 osal_errno[] = {
58*c83a76b0SSuyog Pawar     OSAL_NOERROR,
59*c83a76b0SSuyog Pawar     OSAL_PERM, /*  EPERM                   */
60*c83a76b0SSuyog Pawar     OSAL_NOENT, /*  ENOENT                  */
61*c83a76b0SSuyog Pawar     OSAL_SRCH, /*  ESRCH                   */
62*c83a76b0SSuyog Pawar     OSAL_INTR, /*  EINTR                   */
63*c83a76b0SSuyog Pawar     OSAL_IO, /*  EIO                     */
64*c83a76b0SSuyog Pawar     OSAL_NXIO, /*  ENXIO                   */
65*c83a76b0SSuyog Pawar     OSAL_2BIG, /*  E2BIG                   */
66*c83a76b0SSuyog Pawar     OSAL_NOEXEC, /*  ENOEXEC                 */
67*c83a76b0SSuyog Pawar     OSAL_BADF, /*  EBADF                   */
68*c83a76b0SSuyog Pawar     OSAL_CHILD, /*  ECHILD                  */
69*c83a76b0SSuyog Pawar     OSAL_AGAIN, /*  EAGAIN, EDEADLOCK       */
70*c83a76b0SSuyog Pawar     OSAL_NOMEM, /*  ENOMEM                  */
71*c83a76b0SSuyog Pawar     OSAL_ACCES, /*  EACCES                  */
72*c83a76b0SSuyog Pawar     OSAL_FAULT, /*  EFAULT                  */
73*c83a76b0SSuyog Pawar     OSAL_NOTBLK, /*  ENOTBLK                 */
74*c83a76b0SSuyog Pawar     OSAL_BUSY, /*  EBUSY                   */
75*c83a76b0SSuyog Pawar     OSAL_EXIST, /*  EEXIST                  */
76*c83a76b0SSuyog Pawar     OSAL_XDEV, /*  EXDEV                   */
77*c83a76b0SSuyog Pawar     OSAL_NODEV, /*  ENODEV                  */
78*c83a76b0SSuyog Pawar     OSAL_NOTDIR, /*  ENOTDIR                 */
79*c83a76b0SSuyog Pawar     OSAL_ISDIR, /*  EISDIR                  */
80*c83a76b0SSuyog Pawar     OSAL_INVAL, /*  EINVAL                  */
81*c83a76b0SSuyog Pawar     OSAL_NFILE, /*  ENFILE                  */
82*c83a76b0SSuyog Pawar     OSAL_MFILE, /*  EMFILE                  */
83*c83a76b0SSuyog Pawar     OSAL_NOTTY, /*  ENOTTY                  */
84*c83a76b0SSuyog Pawar     OSAL_TXTBSY, /*  ETXTBSY                 */
85*c83a76b0SSuyog Pawar     OSAL_FBIG, /*  EFBIG                   */
86*c83a76b0SSuyog Pawar     OSAL_NOSPC, /*  ENOSPC                  */
87*c83a76b0SSuyog Pawar     OSAL_SPIPE, /*  ESPIPE                  */
88*c83a76b0SSuyog Pawar     OSAL_ROFS, /*  EROFS                   */
89*c83a76b0SSuyog Pawar     OSAL_MLINK, /*  EMLINK                  */
90*c83a76b0SSuyog Pawar     OSAL_PIPE, /*  EPIPE                   */
91*c83a76b0SSuyog Pawar     OSAL_DOM, /*  EDOM                    */
92*c83a76b0SSuyog Pawar     OSAL_RANGE, /*  ERANGE                  */
93*c83a76b0SSuyog Pawar     OSAL_DEADLK, /*  EDEADLK, EDEADLOCK      */
94*c83a76b0SSuyog Pawar     OSAL_NAMETOOLONG, /*  ENAMETOOLONG            */
95*c83a76b0SSuyog Pawar     OSAL_NOLCK, /*  ENOLCK                  */
96*c83a76b0SSuyog Pawar     OSAL_NOSYS, /*  ENOSYS                  */
97*c83a76b0SSuyog Pawar     OSAL_NOTEMPTY, /*  ENOTEMPTY               */
98*c83a76b0SSuyog Pawar     OSAL_LOOP, /*  ELOOP                   */
99*c83a76b0SSuyog Pawar     OSAL_NOERROR,
100*c83a76b0SSuyog Pawar     OSAL_NOMSG, /*  ENOMSG                  */
101*c83a76b0SSuyog Pawar     OSAL_IDRM, /*  EIDRM                   */
102*c83a76b0SSuyog Pawar     OSAL_CHRNG, /*  ECHRNG                  */
103*c83a76b0SSuyog Pawar     OSAL_L2NSYNC, /*  EL2NSYNC                */
104*c83a76b0SSuyog Pawar     OSAL_L3HLT, /*  EL3HLT                  */
105*c83a76b0SSuyog Pawar     OSAL_L3RST, /*  EL3RST                  */
106*c83a76b0SSuyog Pawar     OSAL_LNRNG, /*  ELNRNG                  */
107*c83a76b0SSuyog Pawar     OSAL_UNATCH, /*  EUNATCH                 */
108*c83a76b0SSuyog Pawar     OSAL_NOCSI, /*  ENOCSI                  */
109*c83a76b0SSuyog Pawar     OSAL_L2HLT, /*  EL2HLT                  */
110*c83a76b0SSuyog Pawar     OSAL_BADE, /*  EBADE                   */
111*c83a76b0SSuyog Pawar     OSAL_BADR, /*  EBADR                   */
112*c83a76b0SSuyog Pawar     OSAL_XFULL, /*  EXFULL                  */
113*c83a76b0SSuyog Pawar     OSAL_NOANO, /*  ENOANO                  */
114*c83a76b0SSuyog Pawar     OSAL_BADRQC, /*  EBADRQC                 */
115*c83a76b0SSuyog Pawar     OSAL_BADSLT, /*  EBADSLT                 */
116*c83a76b0SSuyog Pawar     OSAL_NOERROR,
117*c83a76b0SSuyog Pawar     OSAL_BFONT, /*  EBFONT                  */
118*c83a76b0SSuyog Pawar     OSAL_NOSTR, /*  ENOSTR                  */
119*c83a76b0SSuyog Pawar     OSAL_NODATA, /*  ENODATA                 */
120*c83a76b0SSuyog Pawar     OSAL_TIME, /*  ETIME                   */
121*c83a76b0SSuyog Pawar     OSAL_NOSR, /*  ENOSR                   */
122*c83a76b0SSuyog Pawar     OSAL_NONET, /*  ENONET                  */
123*c83a76b0SSuyog Pawar     OSAL_NOPKG, /*  ENOPKG                  */
124*c83a76b0SSuyog Pawar     OSAL_REMOTE, /*  EREMOTE                 */
125*c83a76b0SSuyog Pawar     OSAL_NOLINK, /*  ENOLINK                 */
126*c83a76b0SSuyog Pawar     OSAL_ADV, /*  EADV                    */
127*c83a76b0SSuyog Pawar     OSAL_SRMNT, /*  ESRMNT                  */
128*c83a76b0SSuyog Pawar     OSAL_COMM, /*  ECOMM                   */
129*c83a76b0SSuyog Pawar     OSAL_PROTO, /*  EPROTO                  */
130*c83a76b0SSuyog Pawar     OSAL_MULTIHOP, /*  EMULTIHOP               */
131*c83a76b0SSuyog Pawar     OSAL_DOTDOT, /*  EDOTDOT                 */
132*c83a76b0SSuyog Pawar     OSAL_BADMSG, /*  EBADMSG                 */
133*c83a76b0SSuyog Pawar     OSAL_OVERFLOW, /*  EOVERFLOW               */
134*c83a76b0SSuyog Pawar     OSAL_NOTUNIQ, /*  ENOTUNIQ                */
135*c83a76b0SSuyog Pawar     OSAL_BADFD, /*  EBADFD                  */
136*c83a76b0SSuyog Pawar     OSAL_REMCHG, /*  EREMCHG                 */
137*c83a76b0SSuyog Pawar     OSAL_LIBACC, /*  ELIBACC                 */
138*c83a76b0SSuyog Pawar     OSAL_LIBBAD, /*  ELIBBAD                 */
139*c83a76b0SSuyog Pawar     OSAL_LIBSCN, /*  ELIBSCN                 */
140*c83a76b0SSuyog Pawar     OSAL_LIBMAX, /*  ELIBMAX                 */
141*c83a76b0SSuyog Pawar     OSAL_LIBEXEC, /*  ELIBEXEC                */
142*c83a76b0SSuyog Pawar     OSAL_ILSEQ, /*  EILSEQ                  */
143*c83a76b0SSuyog Pawar     OSAL_RESTART, /*  ERESTART                */
144*c83a76b0SSuyog Pawar     OSAL_STRPIPE, /*  ESTRPIPE                */
145*c83a76b0SSuyog Pawar     OSAL_USERS, /*  EUSERS                  */
146*c83a76b0SSuyog Pawar     OSAL_NOTSOCK, /*  ENOTSOCK                */
147*c83a76b0SSuyog Pawar     OSAL_DESTADDRREQ, /*  EDESTADDRREQ            */
148*c83a76b0SSuyog Pawar     OSAL_MSGSIZE, /*  EMSGSIZE                */
149*c83a76b0SSuyog Pawar     OSAL_PROTOTYPE, /*  EPROTOTYPE              */
150*c83a76b0SSuyog Pawar     OSAL_NOPROTOOPT, /*  ENOPROTOOPT             */
151*c83a76b0SSuyog Pawar     OSAL_PROTONOSUPPORT, /*  EPROTONOSUPPORT         */
152*c83a76b0SSuyog Pawar     OSAL_SOCKTNOSUPPORT, /*  ESOCKTNOSUPPORT         */
153*c83a76b0SSuyog Pawar     OSAL_OPNOTSUPP, /*  EOPNOTSUPP              */
154*c83a76b0SSuyog Pawar     OSAL_PFNOSUPPORT, /*  EPFNOSUPPORT            */
155*c83a76b0SSuyog Pawar     OSAL_AFNOSUPPORT, /*  EAFNOSUPPORT            */
156*c83a76b0SSuyog Pawar     OSAL_ADDRINUSE, /*  EADDRINUSE              */
157*c83a76b0SSuyog Pawar     OSAL_ADDRNOTAVAIL, /*  EADDRNOTAVAIL           */
158*c83a76b0SSuyog Pawar     OSAL_NETDOWN, /*  ENETDOWN                */
159*c83a76b0SSuyog Pawar     OSAL_NETUNREACH, /*  ENETUNREACH             */
160*c83a76b0SSuyog Pawar     OSAL_NETRESET, /*  ENETRESET               */
161*c83a76b0SSuyog Pawar     OSAL_CONNABORTED, /*  ECONNABORTED            */
162*c83a76b0SSuyog Pawar     OSAL_CONNRESET, /*  ECONNRESET              */
163*c83a76b0SSuyog Pawar     OSAL_NOBUFS, /*  ENOBUFS                 */
164*c83a76b0SSuyog Pawar     OSAL_ISCONN, /*  EISCONN                 */
165*c83a76b0SSuyog Pawar     OSAL_NOTCONN, /*  ENOTCONN                */
166*c83a76b0SSuyog Pawar     OSAL_SHUTDOWN, /*  ESHUTDOWN               */
167*c83a76b0SSuyog Pawar     OSAL_TOOMANYREFS, /*  ETOOMANYREFS            */
168*c83a76b0SSuyog Pawar     OSAL_TIMEDOUT, /*  ETIMEDOUT               */
169*c83a76b0SSuyog Pawar     OSAL_CONNREFUSED, /*  ECONNREFUSED            */
170*c83a76b0SSuyog Pawar     OSAL_HOSTDOWN, /*  EHOSTDOWN               */
171*c83a76b0SSuyog Pawar     OSAL_HOSTUNREACH, /*  EHOSTUNREACH            */
172*c83a76b0SSuyog Pawar     OSAL_ALREADY, /*  EALREADY                */
173*c83a76b0SSuyog Pawar     OSAL_INPROGRESS, /*  EINPROGRESS             */
174*c83a76b0SSuyog Pawar     OSAL_STALE, /*  ESTALE                  */
175*c83a76b0SSuyog Pawar     OSAL_UCLEAN, /*  EUCLEAN                 */
176*c83a76b0SSuyog Pawar     OSAL_NOTNAM, /*  ENOTNAM                 */
177*c83a76b0SSuyog Pawar     OSAL_NAVAIL, /*  ENAVAIL                 */
178*c83a76b0SSuyog Pawar     OSAL_ISNAM, /*  EISNAM                  */
179*c83a76b0SSuyog Pawar     OSAL_REMOTEIO, /*  EREMOTEIO               */
180*c83a76b0SSuyog Pawar     OSAL_DQUOT, /*  EDQUOT                  */
181*c83a76b0SSuyog Pawar     OSAL_NOMEDIUM, /*  ENOMEDIUM               */
182*c83a76b0SSuyog Pawar     OSAL_MEDIUMTYPE, /*  EMEDIUMTYPE             */
183*c83a76b0SSuyog Pawar     OSAL_CANCELED, /*  ECANCELED               */
184*c83a76b0SSuyog Pawar     OSAL_NOKEY, /*  ENOKEY                  */
185*c83a76b0SSuyog Pawar     OSAL_KEYEXPIRED, /*  EKEYEXPIRED             */
186*c83a76b0SSuyog Pawar     OSAL_KEYREVOKED, /*  EKEYREVOKED             */
187*c83a76b0SSuyog Pawar     OSAL_KEYREJECTED, /*  EKEYREJECTED            */
188*c83a76b0SSuyog Pawar };
189*c83a76b0SSuyog Pawar 
190*c83a76b0SSuyog Pawar /*****************************************************************************/
191*c83a76b0SSuyog Pawar /*                                                                           */
192*c83a76b0SSuyog Pawar /*  Function Name : get_linux_error                                          */
193*c83a76b0SSuyog Pawar /*                                                                           */
194*c83a76b0SSuyog Pawar /*  Description   : This function returns the error code for Redhat Linux    */
195*c83a76b0SSuyog Pawar /*                  platform.                                                */
196*c83a76b0SSuyog Pawar /*                                                                           */
197*c83a76b0SSuyog Pawar /*  Inputs        : None                                                     */
198*c83a76b0SSuyog Pawar /*  Globals       : None                                                     */
199*c83a76b0SSuyog Pawar /*                                                                           */
200*c83a76b0SSuyog Pawar /*  Processing    : Returns OSAL error code if error is a listed OSAL error  */
201*c83a76b0SSuyog Pawar /*                  code. Or else returns platform depedent error code.      */
202*c83a76b0SSuyog Pawar /*                                                                           */
203*c83a76b0SSuyog Pawar /*  Outputs       : Error code                                               */
204*c83a76b0SSuyog Pawar /*                                                                           */
205*c83a76b0SSuyog Pawar /*  Returns       : If error is one of OSAL listed error code - OSAL_<ERROR> */
206*c83a76b0SSuyog Pawar /*                  Else system error code.                                  */
207*c83a76b0SSuyog Pawar /*                                                                           */
208*c83a76b0SSuyog Pawar /*  Issues        : None                                                     */
209*c83a76b0SSuyog Pawar /*                                                                           */
210*c83a76b0SSuyog Pawar /*  Revision History:                                                        */
211*c83a76b0SSuyog Pawar /*                                                                           */
212*c83a76b0SSuyog Pawar /*         DD MM YYYY   Author(s)       Changes (Describe the changes made)  */
213*c83a76b0SSuyog Pawar /*         30 03 2006   Ittiam          Draft                                */
214*c83a76b0SSuyog Pawar /*                                                                           */
215*c83a76b0SSuyog Pawar /*****************************************************************************/
216*c83a76b0SSuyog Pawar 
get_linux_error(void)217*c83a76b0SSuyog Pawar UWORD32 get_linux_error(void)
218*c83a76b0SSuyog Pawar {
219*c83a76b0SSuyog Pawar     /* Under Linux platform, error codes 0 - 130 are supported */
220*c83a76b0SSuyog Pawar     if(130 > errno)
221*c83a76b0SSuyog Pawar         return osal_errno[errno];
222*c83a76b0SSuyog Pawar 
223*c83a76b0SSuyog Pawar     return errno;
224*c83a76b0SSuyog Pawar }
225