diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2022-08-29 12:19:40 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2022-09-21 14:11:03 -0400 |
commit | 517a63c2c48e5aaabe57de079e2d7f0bea09429b (patch) | |
tree | 2042e8a1a578cf61c31a257ab71c5bdaea2c9f32 /gdbsupport | |
parent | b872057a63c53106e4bf6033a52d53b988f30dfd (diff) | |
download | gdb-517a63c2c48e5aaabe57de079e2d7f0bea09429b.zip gdb-517a63c2c48e5aaabe57de079e2d7f0bea09429b.tar.gz gdb-517a63c2c48e5aaabe57de079e2d7f0bea09429b.tar.bz2 |
gdbsupport: move fileio_errno_to_host to fileio.{h,cc} and rename
gdb_bfd.c and remote.c contain identical implementations of a
fileio_error -> errno function. Factor that out to
gdbsupport/fileio.{h,cc}.
Rename it fileio_error_to_host, for symmetry with host_to_fileio_error.
Change-Id: Ib9b8807683de2f809c94a5303e708acc2251a0df
Diffstat (limited to 'gdbsupport')
-rw-r--r-- | gdbsupport/fileio.cc | 53 | ||||
-rw-r--r-- | gdbsupport/fileio.h | 4 |
2 files changed, 57 insertions, 0 deletions
diff --git a/gdbsupport/fileio.cc b/gdbsupport/fileio.cc index db7c1a7..60a08f6 100644 --- a/gdbsupport/fileio.cc +++ b/gdbsupport/fileio.cc @@ -78,6 +78,59 @@ host_to_fileio_error (int error) /* See fileio.h. */ int +fileio_error_to_host (fileio_error errnum) +{ + switch (errnum) + { + case FILEIO_EPERM: + return EPERM; + case FILEIO_ENOENT: + return ENOENT; + case FILEIO_EINTR: + return EINTR; + case FILEIO_EIO: + return EIO; + case FILEIO_EBADF: + return EBADF; + case FILEIO_EACCES: + return EACCES; + case FILEIO_EFAULT: + return EFAULT; + case FILEIO_EBUSY: + return EBUSY; + case FILEIO_EEXIST: + return EEXIST; + case FILEIO_ENODEV: + return ENODEV; + case FILEIO_ENOTDIR: + return ENOTDIR; + case FILEIO_EISDIR: + return EISDIR; + case FILEIO_EINVAL: + return EINVAL; + case FILEIO_ENFILE: + return ENFILE; + case FILEIO_EMFILE: + return EMFILE; + case FILEIO_EFBIG: + return EFBIG; + case FILEIO_ENOSPC: + return ENOSPC; + case FILEIO_ESPIPE: + return ESPIPE; + case FILEIO_EROFS: + return EROFS; + case FILEIO_ENOSYS: + return ENOSYS; + case FILEIO_ENAMETOOLONG: + return ENAMETOOLONG; + } + return -1; +} + +/* See fileio.h. */ + +int fileio_to_host_openflags (int fileio_open_flags, int *open_flags_p) { int open_flags = 0; diff --git a/gdbsupport/fileio.h b/gdbsupport/fileio.h index 6a5297c..203e671 100644 --- a/gdbsupport/fileio.h +++ b/gdbsupport/fileio.h @@ -139,6 +139,10 @@ struct fio_timeval extern fileio_error host_to_fileio_error (int error); +/* Convert a File-I/O error number to a host-format errno value. */ + +extern int fileio_error_to_host (fileio_error errnum); + /* Convert File-I/O open flags FFLAGS to host format, storing the result in *FLAGS. Return 0 on success, -1 on error. */ |