mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-11 18:20:43 +09:00
Kernel+LibC: Turn errno codes into a strongly typed enum
..and allow implicit creation of KResult and KResultOr from ErrnoCode. This means that kernel functions that return those types can finally do "return EINVAL;" and it will just work. There's a handful of functions that still deal with signed integers that should be converted to return KResults.
This commit is contained in:
parent
e279b45aed
commit
19d3f8cab7
Notes:
sideshowbarker
2024-07-18 23:01:53 +09:00
Author: https://github.com/awesomekling
Commit: 19d3f8cab7
48 changed files with 591 additions and 506 deletions
|
@ -115,13 +115,13 @@ public:
|
|||
virtual KResultOr<size_t> write(FileDescription&, size_t, const UserOrKernelBuffer&, size_t) = 0;
|
||||
virtual int ioctl(FileDescription&, unsigned request, FlatPtr arg);
|
||||
virtual KResultOr<Region*> mmap(Process&, FileDescription&, VirtualAddress preferred_vaddr, size_t offset, size_t size, int prot, bool shared);
|
||||
virtual KResult stat(::stat&) const { return KResult(-EBADF); }
|
||||
virtual KResult stat(::stat&) const { return EBADF; }
|
||||
|
||||
virtual String absolute_path(const FileDescription&) const = 0;
|
||||
|
||||
virtual KResult truncate(u64) { return KResult(-EINVAL); }
|
||||
virtual KResult chown(FileDescription&, uid_t, gid_t) { return KResult(-EBADF); }
|
||||
virtual KResult chmod(FileDescription&, mode_t) { return KResult(-EBADF); }
|
||||
virtual KResult truncate(u64) { return EINVAL; }
|
||||
virtual KResult chown(FileDescription&, uid_t, gid_t) { return EBADF; }
|
||||
virtual KResult chmod(FileDescription&, mode_t) { return EBADF; }
|
||||
|
||||
virtual const char* class_name() const = 0;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue