summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--c/src/exec/libcsupport/src/libio.c7
-rw-r--r--c/src/lib/libc/libio.c7
-rw-r--r--c/src/lib/libc/syscalls.c6
-rw-r--r--cpukit/libcsupport/src/libio.c7
4 files changed, 20 insertions, 7 deletions
diff --git a/c/src/exec/libcsupport/src/libio.c b/c/src/exec/libcsupport/src/libio.c
index 83253a7903..4ac3666a1e 100644
--- a/c/src/exec/libcsupport/src/libio.c
+++ b/c/src/exec/libcsupport/src/libio.c
@@ -155,9 +155,12 @@ rtems_libio_init(void)
rtems_assoc_t errno_assoc[] = {
{ "OK", RTEMS_SUCCESSFUL, 0 },
- { "TIMEOUT", RTEMS_TIMEOUT, ETIME },
+ { "BUSY", RTEMS_RESOURCE_IN_USE, EBUSY },
+ { "INVALID NAME", RTEMS_INVALID_NAME, EINVAL },
+ { "NOT IMPLEMENTED", RTEMS_NOT_IMPLEMENTED, ENOSYS },
+ { "TIMEOUT", RTEMS_TIMEOUT, ETIMEDOUT },
{ "NO MEMORY", RTEMS_NO_MEMORY, ENOMEM },
- { "NO DEVICE", RTEMS_UNSATISFIED, ENOSYS },
+ { "NO DEVICE", RTEMS_UNSATISFIED, ENODEV },
{ "INVALID NUMBER", RTEMS_INVALID_NUMBER, EBADF},
{ "NOT RESOURCE OWNER", RTEMS_NOT_OWNER_OF_RESOURCE, EPERM},
{ "IO ERROR", RTEMS_IO_ERROR, EIO},
diff --git a/c/src/lib/libc/libio.c b/c/src/lib/libc/libio.c
index 83253a7903..4ac3666a1e 100644
--- a/c/src/lib/libc/libio.c
+++ b/c/src/lib/libc/libio.c
@@ -155,9 +155,12 @@ rtems_libio_init(void)
rtems_assoc_t errno_assoc[] = {
{ "OK", RTEMS_SUCCESSFUL, 0 },
- { "TIMEOUT", RTEMS_TIMEOUT, ETIME },
+ { "BUSY", RTEMS_RESOURCE_IN_USE, EBUSY },
+ { "INVALID NAME", RTEMS_INVALID_NAME, EINVAL },
+ { "NOT IMPLEMENTED", RTEMS_NOT_IMPLEMENTED, ENOSYS },
+ { "TIMEOUT", RTEMS_TIMEOUT, ETIMEDOUT },
{ "NO MEMORY", RTEMS_NO_MEMORY, ENOMEM },
- { "NO DEVICE", RTEMS_UNSATISFIED, ENOSYS },
+ { "NO DEVICE", RTEMS_UNSATISFIED, ENODEV },
{ "INVALID NUMBER", RTEMS_INVALID_NUMBER, EBADF},
{ "NOT RESOURCE OWNER", RTEMS_NOT_OWNER_OF_RESOURCE, EPERM},
{ "IO ERROR", RTEMS_IO_ERROR, EIO},
diff --git a/c/src/lib/libc/syscalls.c b/c/src/lib/libc/syscalls.c
index 1c17bfa184..5f4d552db1 100644
--- a/c/src/lib/libc/syscalls.c
+++ b/c/src/lib/libc/syscalls.c
@@ -53,12 +53,16 @@ int __rtems_fstat(int _fd, struct stat* _sbuf)
_sbuf->st_mode = S_IFCHR;
} else {
switch (rtems_file_descriptor_type (_fd)) {
+ case RTEMS_FILE_DESCRIPTOR_TYPE_FILE:
+ _sbuf->st_mode = S_IFREG;
+ break;
+
case RTEMS_FILE_DESCRIPTOR_TYPE_SOCKET:
_sbuf->st_mode = S_IFSOCK;
break;
default:
- puts( "__rtems_fstat -- unknown socket type" );
+ puts( "__rtems_fstat -- unknown file descriptor type" );
assert( 0 );
}
}
diff --git a/cpukit/libcsupport/src/libio.c b/cpukit/libcsupport/src/libio.c
index 83253a7903..4ac3666a1e 100644
--- a/cpukit/libcsupport/src/libio.c
+++ b/cpukit/libcsupport/src/libio.c
@@ -155,9 +155,12 @@ rtems_libio_init(void)
rtems_assoc_t errno_assoc[] = {
{ "OK", RTEMS_SUCCESSFUL, 0 },
- { "TIMEOUT", RTEMS_TIMEOUT, ETIME },
+ { "BUSY", RTEMS_RESOURCE_IN_USE, EBUSY },
+ { "INVALID NAME", RTEMS_INVALID_NAME, EINVAL },
+ { "NOT IMPLEMENTED", RTEMS_NOT_IMPLEMENTED, ENOSYS },
+ { "TIMEOUT", RTEMS_TIMEOUT, ETIMEDOUT },
{ "NO MEMORY", RTEMS_NO_MEMORY, ENOMEM },
- { "NO DEVICE", RTEMS_UNSATISFIED, ENOSYS },
+ { "NO DEVICE", RTEMS_UNSATISFIED, ENODEV },
{ "INVALID NUMBER", RTEMS_INVALID_NUMBER, EBADF},
{ "NOT RESOURCE OWNER", RTEMS_NOT_OWNER_OF_RESOURCE, EPERM},
{ "IO ERROR", RTEMS_IO_ERROR, EIO},