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