xref: /aosp_15_r20/external/e2fsprogs/lib/e2p/errcode.c (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
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