LibCore: Add syscall wrapper for close()

This commit is contained in:
Andreas Kling 2021-11-23 12:05:56 +01:00
parent adb9b86807
commit 4bf08e4d52
2 changed files with 9 additions and 0 deletions

View file

@ -10,6 +10,7 @@
#include <fcntl.h>
#include <stdarg.h>
#include <sys/mman.h>
#include <unistd.h>
#define HANDLE_SYSCALL_RETURN_VALUE(syscall_name, rc, success_value) \
if ((rc) < 0) { \
@ -115,4 +116,11 @@ ErrorOr<int> open(StringView path, int options, ...)
#endif
}
ErrorOr<void> close(int fd)
{
if (::close(fd) < 0)
return Error::from_syscall("close"sv, -errno);
return {};
}
}

View file

@ -23,5 +23,6 @@ ErrorOr<int> fcntl(int fd, int command, ...);
ErrorOr<void*> mmap(void* address, size_t, int protection, int flags, int fd, off_t, size_t alignment = 0, StringView name = {});
ErrorOr<void> munmap(void* address, size_t);
ErrorOr<int> open(StringView path, int options, ...);
ErrorOr<void> close(int fd);
}