1*6a54128fSAndroid Build Coastguard Worker /*
2*6a54128fSAndroid Build Coastguard Worker * errcode.c - convert an error code to a string
3*6a54128fSAndroid Build Coastguard Worker */
4*6a54128fSAndroid Build Coastguard Worker
5*6a54128fSAndroid Build Coastguard Worker #include "config.h"
6*6a54128fSAndroid Build Coastguard Worker #include <stdio.h>
7*6a54128fSAndroid Build Coastguard Worker #include <stdlib.h>
8*6a54128fSAndroid Build Coastguard Worker #include <string.h>
9*6a54128fSAndroid Build Coastguard Worker
10*6a54128fSAndroid Build Coastguard Worker #include "e2p.h"
11*6a54128fSAndroid Build Coastguard Worker
12*6a54128fSAndroid Build Coastguard Worker static const char *err_string[] = {
13*6a54128fSAndroid Build Coastguard Worker "",
14*6a54128fSAndroid Build Coastguard Worker "UNKNOWN", /* 1 */
15*6a54128fSAndroid Build Coastguard Worker "EIO", /* 2 */
16*6a54128fSAndroid Build Coastguard Worker "ENOMEM", /* 3 */
17*6a54128fSAndroid Build Coastguard Worker "EFSBADCRC", /* 4 */
18*6a54128fSAndroid Build Coastguard Worker "EFSCORRUPTED", /* 5 */
19*6a54128fSAndroid Build Coastguard Worker "ENOSPC", /* 6 */
20*6a54128fSAndroid Build Coastguard Worker "ENOKEY", /* 7 */
21*6a54128fSAndroid Build Coastguard Worker "EROFS", /* 8 */
22*6a54128fSAndroid Build Coastguard Worker "EFBIG", /* 9 */
23*6a54128fSAndroid Build Coastguard Worker "EEXIST", /* 10 */
24*6a54128fSAndroid Build Coastguard Worker "ERANGE", /* 11 */
25*6a54128fSAndroid Build Coastguard Worker "EOVERFLOW", /* 12 */
26*6a54128fSAndroid Build Coastguard Worker "EBUSY", /* 13 */
27*6a54128fSAndroid Build Coastguard Worker "ENOTDIR", /* 14 */
28*6a54128fSAndroid Build Coastguard Worker "ENOTEMPTY", /* 15 */
29*6a54128fSAndroid Build Coastguard Worker "ESHUTDOWN", /* 16 */
30*6a54128fSAndroid Build Coastguard Worker "EFAULT", /* 17 */
31*6a54128fSAndroid Build Coastguard Worker };
32*6a54128fSAndroid Build Coastguard Worker
33*6a54128fSAndroid Build Coastguard Worker #define ARRAY_SIZE(array) \
34*6a54128fSAndroid Build Coastguard Worker (sizeof(array) / sizeof(array[0]))
35*6a54128fSAndroid Build Coastguard Worker
36*6a54128fSAndroid Build Coastguard Worker /* Return the name of an encoding or NULL */
e2p_errcode2str(unsigned int err)37*6a54128fSAndroid Build Coastguard Worker const char *e2p_errcode2str(unsigned int err)
38*6a54128fSAndroid Build Coastguard Worker {
39*6a54128fSAndroid Build Coastguard Worker static char buf[32];
40*6a54128fSAndroid Build Coastguard Worker
41*6a54128fSAndroid Build Coastguard Worker if (err < ARRAY_SIZE(err_string))
42*6a54128fSAndroid Build Coastguard Worker return err_string[err];
43*6a54128fSAndroid Build Coastguard Worker
44*6a54128fSAndroid Build Coastguard Worker sprintf(buf, "UNKNOWN_ERRCODE_%u", err);
45*6a54128fSAndroid Build Coastguard Worker return buf;
46*6a54128fSAndroid Build Coastguard Worker }
47*6a54128fSAndroid Build Coastguard Worker
48*6a54128fSAndroid Build Coastguard Worker
49