diff options
Diffstat (limited to 'c/src')
-rw-r--r-- | c/src/exec/libcsupport/src/libio.c | 7 | ||||
-rw-r--r-- | c/src/lib/libc/libio.c | 7 | ||||
-rw-r--r-- | c/src/lib/libc/syscalls.c | 6 |
3 files changed, 15 insertions, 5 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 ); } } |