| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 | | /* |  |  * YAFFS: Yet another FFS. A NAND-flash specific file system. |  |  * |  |  * Copyright (C) 2002-2011 Aleph One Ltd. |  |  *   for Toby Churchill Ltd and Brightstar Engineering |  |  * |  |  * Created by Timothy Manning <timothy@yaffs.net> |  |  * |  |  * This program is free software; you can redistribute it and/or modify |  |  * it under the terms of the GNU General Public License version 2 as |  |  * published by the Free Software Foundation. |  |  */ |  |   |  | #include "yaffsfs.h" |  |   |  | struct error_entry { |  |     int code; |  |     const char *text; |  | }; |  |   |  | static const struct error_entry error_list[] = { |  |     { ENOMEM , "ENOMEM" }, |  |     { EBUSY , "EBUSY"}, |  |     { ENODEV , "ENODEV"}, |  |     { EINVAL , "EINVAL"}, |  |     { EBADF , "EBADF"}, |  |     { EACCES , "EACCES"}, |  |     { EXDEV , "EXDEV" }, |  |     { ENOENT , "ENOENT"}, |  |     { ENOSPC , "ENOSPC"}, |  |     { ERANGE , "ERANGE"}, |  |     { ENODATA, "ENODATA"}, |  |     { ENOTEMPTY, "ENOTEMPTY"}, |  |     { ENAMETOOLONG, "ENAMETOOLONG"}, |  |     { ENOMEM , "ENOMEM"}, |  |     { EEXIST , "EEXIST"}, |  |     { ENOTDIR , "ENOTDIR"}, |  |     { EISDIR , "EISDIR"}, |  |     { ENFILE, "ENFILE"}, |  |     { EROFS, "EROFS"}, |  |     { EFAULT, "EFAULT"}, |  |     { 0, NULL } |  | }; |  |   |  | const char *yaffs_error_to_str(int err) |  | { |  |     const struct error_entry *e = error_list; |  |   |  |     if (err < 0) |  |         err = -err; |  |   |  |     while (e->code && e->text) { |  |         if (err == e->code) |  |             return e->text; |  |         e++; |  |     } |  |     return "Unknown error code"; |  | } | 
 |