summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libcsupport/src')
-rw-r--r--cpukit/libcsupport/src/sup_fs_deviceerrno.c75
-rw-r--r--cpukit/libcsupport/src/sup_fs_deviceio.c13
2 files changed, 7 insertions, 81 deletions
diff --git a/cpukit/libcsupport/src/sup_fs_deviceerrno.c b/cpukit/libcsupport/src/sup_fs_deviceerrno.c
deleted file mode 100644
index b03b32329a..0000000000
--- a/cpukit/libcsupport/src/sup_fs_deviceerrno.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * @file
- *
- * @brief IMFS Device Node Handlers
- * @ingroup Device IO Handler
- *
- * This file contains the set of handlers used to map operations on
- * IMFS device nodes onto calls to the RTEMS Classic API IO Manager.
- */
-
-/*
- * COPYRIGHT (c) 1989-2008.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
- #include "config.h"
-#endif
-
-#include <rtems/deviceio.h>
-
-#include <errno.h>
-
-static const int status_code_to_errno [RTEMS_STATUS_CODES_LAST + 1] = {
- [RTEMS_SUCCESSFUL] = 0,
- [RTEMS_TASK_EXITTED] = EIO,
- [RTEMS_MP_NOT_CONFIGURED] = EIO,
- [RTEMS_INVALID_NAME] = EINVAL,
- [RTEMS_INVALID_ID] = EIO,
- [RTEMS_TOO_MANY] = EIO,
- [RTEMS_TIMEOUT] = ETIMEDOUT,
- [RTEMS_OBJECT_WAS_DELETED] = EIO,
- [RTEMS_INVALID_SIZE] = EIO,
- [RTEMS_INVALID_ADDRESS] = EIO,
- [RTEMS_INVALID_NUMBER] = EBADF,
- [RTEMS_NOT_DEFINED] = EIO,
- [RTEMS_RESOURCE_IN_USE] = EBUSY,
- [RTEMS_UNSATISFIED] = ENODEV,
- [RTEMS_INCORRECT_STATE] = EIO,
- [RTEMS_ALREADY_SUSPENDED] = EIO,
- [RTEMS_ILLEGAL_ON_SELF] = EIO,
- [RTEMS_ILLEGAL_ON_REMOTE_OBJECT] = EIO,
- [RTEMS_CALLED_FROM_ISR] = EIO,
- [RTEMS_INVALID_PRIORITY] = EIO,
- [RTEMS_INVALID_CLOCK] = EINVAL,
- [RTEMS_INVALID_NODE] = EINVAL,
- [RTEMS_NOT_CONFIGURED] = ENOSYS,
- [RTEMS_NOT_OWNER_OF_RESOURCE] = EPERM,
- [RTEMS_NOT_IMPLEMENTED] = ENOSYS,
- [RTEMS_INTERNAL_ERROR] = EIO,
- [RTEMS_NO_MEMORY] = ENOMEM,
- [RTEMS_IO_ERROR] = EIO,
- [RTEMS_PROXY_BLOCKING] = EIO
-};
-
-int rtems_deviceio_errno(rtems_status_code sc)
-{
- if (sc == RTEMS_SUCCESSFUL) {
- return 0;
- } else {
- int eno = EINVAL;
-
- if ((unsigned) sc <= RTEMS_STATUS_CODES_LAST) {
- eno = status_code_to_errno [sc];
- }
-
- errno = eno;
-
- return -1;
- }
-}
diff --git a/cpukit/libcsupport/src/sup_fs_deviceio.c b/cpukit/libcsupport/src/sup_fs_deviceio.c
index 67e035301a..6407e637fc 100644
--- a/cpukit/libcsupport/src/sup_fs_deviceio.c
+++ b/cpukit/libcsupport/src/sup_fs_deviceio.c
@@ -6,7 +6,7 @@
*/
/*
- * COPYRIGHT (c) 1989-2012.
+ * COPYRIGHT (c) 1989-2013.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -19,6 +19,7 @@
#endif
#include <rtems/deviceio.h>
+#include <rtems/rtems/status.h>
int rtems_deviceio_open(
rtems_libio_t *iop,
@@ -38,7 +39,7 @@ int rtems_deviceio_open(
status = rtems_io_open( major, minor, &args );
- return rtems_deviceio_errno( status );
+ return rtems_status_code_to_errno( status );
}
int rtems_deviceio_close(
@@ -56,7 +57,7 @@ int rtems_deviceio_close(
status = rtems_io_close( major, minor, &args );
- return rtems_deviceio_errno( status );
+ return rtems_status_code_to_errno( status );
}
ssize_t rtems_deviceio_read(
@@ -83,7 +84,7 @@ ssize_t rtems_deviceio_read(
return (ssize_t) args.bytes_moved;
} else {
- return rtems_deviceio_errno( status );
+ return rtems_status_code_to_errno( status );
}
}
@@ -111,7 +112,7 @@ ssize_t rtems_deviceio_write(
return (ssize_t) args.bytes_moved;
} else {
- return rtems_deviceio_errno( status );
+ return rtems_status_code_to_errno( status );
}
}
@@ -134,6 +135,6 @@ int rtems_deviceio_control(
if ( status == RTEMS_SUCCESSFUL ) {
return args.ioctl_return;
} else {
- return rtems_deviceio_errno(status);
+ return rtems_status_code_to_errno(status);
}
}