1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 15:38:10 +00:00

Kernel: Use u64 instead of size_t for File::can_write offset

This ensures offsets will not be truncated on large files on i686.
This commit is contained in:
Idan Horowitz 2022-01-25 20:19:35 +02:00
parent 9ce537d703
commit 664ca58746
40 changed files with 40 additions and 40 deletions

View file

@ -115,7 +115,7 @@ ErrorOr<size_t> ConsolePort::read(OpenFileDescription& desc, u64, UserOrKernelBu
return bytes_copied; return bytes_copied;
} }
bool ConsolePort::can_write(const OpenFileDescription&, size_t) const bool ConsolePort::can_write(const OpenFileDescription&, u64) const
{ {
return m_console.get_queue(m_transmit_queue).has_free_slots() && m_transmit_buffer->has_space(); return m_console.get_queue(m_transmit_queue).has_free_slots() && m_transmit_buffer->has_space();
} }

View file

@ -39,7 +39,7 @@ private:
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<NonnullRefPtr<OpenFileDescription>> open(int options) override; virtual ErrorOr<NonnullRefPtr<OpenFileDescription>> open(int options) override;

View file

@ -32,7 +32,7 @@ public:
// ^CharacterDevice // ^CharacterDevice
virtual bool can_read(const OpenFileDescription&, u64) const override { return false; } virtual bool can_read(const OpenFileDescription&, u64) const override { return false; }
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
virtual ErrorOr<void> ioctl(OpenFileDescription&, unsigned, Userspace<void*>) override; virtual ErrorOr<void> ioctl(OpenFileDescription&, unsigned, Userspace<void*>) override;
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;

View file

@ -29,7 +29,7 @@ public:
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
virtual StringView purpose() const override { return class_name(); } virtual StringView purpose() const override { return class_name(); }

View file

@ -22,7 +22,7 @@ public:
// ^CharacterDevice // ^CharacterDevice
virtual bool can_read(const Kernel::OpenFileDescription&, u64) const override; virtual bool can_read(const Kernel::OpenFileDescription&, u64) const override;
virtual bool can_write(const Kernel::OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const Kernel::OpenFileDescription&, u64) const override { return true; }
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, Kernel::UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, Kernel::UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const Kernel::UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const Kernel::UserOrKernelBuffer&, size_t) override;
virtual StringView class_name() const override { return "Console"sv; } virtual StringView class_name() const override { return "Console"sv; }

View file

@ -25,7 +25,7 @@ private:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return Error::from_errno(ENOTSUP); } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return Error::from_errno(ENOTSUP); }
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override { return false; } virtual bool can_write(const OpenFileDescription&, u64) const override { return false; }
virtual StringView class_name() const override { return "DeviceControlDevice"sv; } virtual StringView class_name() const override { return "DeviceControlDevice"sv; }
}; };

View file

@ -24,7 +24,7 @@ private:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
virtual StringView class_name() const override { return "FullDevice"sv; } virtual StringView class_name() const override { return "FullDevice"sv; }
}; };

View file

@ -28,7 +28,7 @@ public:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; }
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
// ^HIDDevice // ^HIDDevice
virtual Type instrument_type() const override { return Type::Keyboard; } virtual Type instrument_type() const override { return Type::Keyboard; }

View file

@ -26,7 +26,7 @@ public:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; }
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
// ^HIDDevice // ^HIDDevice
virtual Type instrument_type() const override { return Type::Mouse; } virtual Type instrument_type() const override { return Type::Mouse; }

View file

@ -31,7 +31,7 @@ protected:
virtual StringView class_name() const override { return "KCOVDevice"sv; } virtual StringView class_name() const override { return "KCOVDevice"sv; }
virtual bool can_read(const OpenFileDescription&, u64) const override final { return true; } virtual bool can_read(const OpenFileDescription&, u64) const override final { return true; }
virtual bool can_write(const OpenFileDescription&, size_t) const override final { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override final { return true; }
virtual void start_request(AsyncBlockDeviceRequest& request) override final { request.complete(AsyncDeviceRequest::Failure); } virtual void start_request(AsyncBlockDeviceRequest& request) override final { request.complete(AsyncDeviceRequest::Failure); }
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return EINVAL; } virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return EINVAL; }
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; }

View file

@ -26,7 +26,7 @@ private:
virtual StringView class_name() const override { return "MemoryDevice"sv; } virtual StringView class_name() const override { return "MemoryDevice"sv; }
virtual bool can_read(const OpenFileDescription&, u64) const override { return true; } virtual bool can_read(const OpenFileDescription&, u64) const override { return true; }
virtual bool can_write(const OpenFileDescription&, size_t) const override { return false; } virtual bool can_write(const OpenFileDescription&, u64) const override { return false; }
virtual bool is_seekable() const override { return true; } virtual bool is_seekable() const override { return true; }
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; }

View file

@ -23,7 +23,7 @@ private:
// ^CharacterDevice // ^CharacterDevice
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual StringView class_name() const override { return "NullDevice"sv; } virtual StringView class_name() const override { return "NullDevice"sv; }
virtual bool is_seekable() const override { return true; } virtual bool is_seekable() const override { return true; }

View file

@ -24,7 +24,7 @@ private:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
virtual StringView class_name() const override { return "RandomDevice"sv; } virtual StringView class_name() const override { return "RandomDevice"sv; }
}; };

View file

@ -77,7 +77,7 @@ ErrorOr<size_t> SerialDevice::read(OpenFileDescription&, u64, UserOrKernelBuffer
}); });
} }
bool SerialDevice::can_write(const OpenFileDescription&, size_t) const bool SerialDevice::can_write(const OpenFileDescription&, u64) const
{ {
return (get_line_status() & EmptyTransmitterHoldingRegister) != 0; return (get_line_status() & EmptyTransmitterHoldingRegister) != 0;
} }

View file

@ -22,7 +22,7 @@ public:
// ^CharacterDevice // ^CharacterDevice
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
void put_char(char); void put_char(char);

View file

@ -24,7 +24,7 @@ private:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
virtual StringView class_name() const override { return "ZeroDevice"sv; } virtual StringView class_name() const override { return "ZeroDevice"sv; }
}; };

View file

@ -26,7 +26,7 @@ private:
virtual StringView class_name() const override { return "AnonymousFile"sv; } virtual StringView class_name() const override { return "AnonymousFile"sv; }
virtual ErrorOr<NonnullOwnPtr<KString>> pseudo_path(const OpenFileDescription&) const override; virtual ErrorOr<NonnullOwnPtr<KString>> pseudo_path(const OpenFileDescription&) const override;
virtual bool can_read(const OpenFileDescription&, u64) const override { return false; } virtual bool can_read(const OpenFileDescription&, u64) const override { return false; }
virtual bool can_write(const OpenFileDescription&, size_t) const override { return false; } virtual bool can_write(const OpenFileDescription&, u64) const override { return false; }
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return ENOTSUP; } virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return ENOTSUP; }
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return ENOTSUP; } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return ENOTSUP; }

View file

@ -104,7 +104,7 @@ bool FIFO::can_read(const OpenFileDescription&, u64) const
return !m_buffer->is_empty() || !m_writers; return !m_buffer->is_empty() || !m_writers;
} }
bool FIFO::can_write(const OpenFileDescription&, size_t) const bool FIFO::can_write(const OpenFileDescription&, u64) const
{ {
return m_buffer->space_for_writing() || !m_readers; return m_buffer->space_for_writing() || !m_readers;
} }

View file

@ -44,7 +44,7 @@ private:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<struct stat> stat() const override; virtual ErrorOr<struct stat> stat() const override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual ErrorOr<NonnullOwnPtr<KString>> pseudo_path(const OpenFileDescription&) const override; virtual ErrorOr<NonnullOwnPtr<KString>> pseudo_path(const OpenFileDescription&) const override;
virtual StringView class_name() const override { return "FIFO"sv; } virtual StringView class_name() const override { return "FIFO"sv; }
virtual bool is_fifo() const override { return true; } virtual bool is_fifo() const override { return true; }

View file

@ -82,7 +82,7 @@ public:
virtual ErrorOr<void> close(); virtual ErrorOr<void> close();
virtual bool can_read(const OpenFileDescription&, u64) const = 0; virtual bool can_read(const OpenFileDescription&, u64) const = 0;
virtual bool can_write(const OpenFileDescription&, size_t) const = 0; virtual bool can_write(const OpenFileDescription&, u64) const = 0;
virtual ErrorOr<void> attach(OpenFileDescription&); virtual ErrorOr<void> attach(OpenFileDescription&);
virtual void detach(OpenFileDescription&); virtual void detach(OpenFileDescription&);

View file

@ -28,7 +28,7 @@ public:
Inode& inode() { return *m_inode; } Inode& inode() { return *m_inode; }
virtual bool can_read(const OpenFileDescription&, u64) const override { return true; } virtual bool can_read(const OpenFileDescription&, u64) const override { return true; }
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;

View file

@ -47,7 +47,7 @@ public:
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
// Can't write to an inode watcher. // Can't write to an inode watcher.
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EIO; } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EIO; }
virtual ErrorOr<void> close() override; virtual ErrorOr<void> close() override;

View file

@ -34,7 +34,7 @@ public:
private: private:
// ^File // ^File
virtual bool can_read(const OpenFileDescription&, u64) const override final { return true; } virtual bool can_read(const OpenFileDescription&, u64) const override final { return true; }
virtual bool can_write(const OpenFileDescription&, size_t) const override final { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override final { return true; }
virtual void start_request(AsyncBlockDeviceRequest& request) override final { request.complete(AsyncDeviceRequest::Failure); } virtual void start_request(AsyncBlockDeviceRequest& request) override final { request.complete(AsyncDeviceRequest::Failure); }
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return EINVAL; } virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return EINVAL; }
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return EINVAL; }

View file

@ -170,7 +170,7 @@ bool IPv4Socket::can_read(const OpenFileDescription&, u64) const
return m_can_read; return m_can_read;
} }
bool IPv4Socket::can_write(const OpenFileDescription&, size_t) const bool IPv4Socket::can_write(const OpenFileDescription&, u64) const
{ {
return true; return true;
} }

View file

@ -38,7 +38,7 @@ public:
virtual void get_local_address(sockaddr*, socklen_t*) override; virtual void get_local_address(sockaddr*, socklen_t*) override;
virtual void get_peer_address(sockaddr*, socklen_t*) override; virtual void get_peer_address(sockaddr*, socklen_t*) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> sendto(OpenFileDescription&, const UserOrKernelBuffer&, size_t, int, Userspace<const sockaddr*>, socklen_t) override; virtual ErrorOr<size_t> sendto(OpenFileDescription&, const UserOrKernelBuffer&, size_t, int, Userspace<const sockaddr*>, socklen_t) override;
virtual ErrorOr<size_t> recvfrom(OpenFileDescription&, UserOrKernelBuffer&, size_t, int flags, Userspace<sockaddr*>, Userspace<socklen_t*>, Time&) override; virtual ErrorOr<size_t> recvfrom(OpenFileDescription&, UserOrKernelBuffer&, size_t, int flags, Userspace<sockaddr*>, Userspace<socklen_t*>, Time&) override;
virtual ErrorOr<void> setsockopt(int level, int option, Userspace<const void*>, socklen_t) override; virtual ErrorOr<void> setsockopt(int level, int option, Userspace<const void*>, socklen_t) override;

View file

@ -280,7 +280,7 @@ bool LocalSocket::has_attached_peer(const OpenFileDescription& description) cons
return false; return false;
} }
bool LocalSocket::can_write(const OpenFileDescription& description, size_t) const bool LocalSocket::can_write(const OpenFileDescription& description, u64) const
{ {
auto role = this->role(description); auto role = this->role(description);
if (role == Role::Accepted) if (role == Role::Accepted)

View file

@ -43,7 +43,7 @@ public:
virtual ErrorOr<void> attach(OpenFileDescription&) override; virtual ErrorOr<void> attach(OpenFileDescription&) override;
virtual void detach(OpenFileDescription&) override; virtual void detach(OpenFileDescription&) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> sendto(OpenFileDescription&, const UserOrKernelBuffer&, size_t, int, Userspace<const sockaddr*>, socklen_t) override; virtual ErrorOr<size_t> sendto(OpenFileDescription&, const UserOrKernelBuffer&, size_t, int, Userspace<const sockaddr*>, socklen_t) override;
virtual ErrorOr<size_t> recvfrom(OpenFileDescription&, UserOrKernelBuffer&, size_t, int flags, Userspace<sockaddr*>, Userspace<socklen_t*>, Time&) override; virtual ErrorOr<size_t> recvfrom(OpenFileDescription&, UserOrKernelBuffer&, size_t, int flags, Userspace<sockaddr*>, Userspace<socklen_t*>, Time&) override;
virtual ErrorOr<void> getsockopt(OpenFileDescription&, int level, int option, Userspace<void*>, Userspace<socklen_t*>) override; virtual ErrorOr<void> getsockopt(OpenFileDescription&, int level, int option, Userspace<void*>, Userspace<socklen_t*>) override;

View file

@ -614,7 +614,7 @@ void TCPSocket::retransmit_packets()
}); });
} }
bool TCPSocket::can_write(const OpenFileDescription& file_description, size_t size) const bool TCPSocket::can_write(const OpenFileDescription& file_description, u64 size) const
{ {
if (!IPv4Socket::can_write(file_description, size)) if (!IPv4Socket::can_write(file_description, size))
return false; return false;

View file

@ -159,7 +159,7 @@ public:
virtual ErrorOr<void> close() override; virtual ErrorOr<void> close() override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
static NetworkOrdered<u16> compute_tcp_checksum(IPv4Address const& source, IPv4Address const& destination, TCPPacket const&, u16 payload_size); static NetworkOrdered<u16> compute_tcp_checksum(IPv4Address const& source, IPv4Address const& destination, TCPPacket const&, u16 payload_size);

View file

@ -68,7 +68,7 @@ ErrorOr<size_t> DiskPartition::write(OpenFileDescription& fd, u64 offset, const
return m_device.strong_ref()->write(fd, offset + adjust, inbuf, len); return m_device.strong_ref()->write(fd, offset + adjust, inbuf, len);
} }
bool DiskPartition::can_write(const OpenFileDescription& fd, size_t offset) const bool DiskPartition::can_write(const OpenFileDescription& fd, u64 offset) const
{ {
unsigned adjust = m_metadata.start_block() * block_size(); unsigned adjust = m_metadata.start_block() * block_size();
dbgln_if(OFFD_DEBUG, "DiskPartition::can_write offset={}, adjust={}", offset, adjust); dbgln_if(OFFD_DEBUG, "DiskPartition::can_write offset={}, adjust={}", offset, adjust);

View file

@ -26,7 +26,7 @@ public:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
const DiskPartitionMetadata& metadata() const; const DiskPartitionMetadata& metadata() const;

View file

@ -180,7 +180,7 @@ StringView StorageDevice::early_storage_name() const
return m_early_storage_device_name->view(); return m_early_storage_device_name->view();
} }
bool StorageDevice::can_write(const OpenFileDescription&, size_t offset) const bool StorageDevice::can_write(const OpenFileDescription&, u64 offset) const
{ {
return offset < (max_addressable_block() * block_size()); return offset < (max_addressable_block() * block_size());
} }

View file

@ -40,7 +40,7 @@ public:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual void prepare_for_unplug() { m_partitions.clear(); } virtual void prepare_for_unplug() { m_partitions.clear(); }
// FIXME: Remove this method after figuring out another scheme for naming. // FIXME: Remove this method after figuring out another scheme for naming.

View file

@ -79,7 +79,7 @@ bool MasterPTY::can_read(const OpenFileDescription&, u64) const
return !m_buffer->is_empty(); return !m_buffer->is_empty();
} }
bool MasterPTY::can_write(const OpenFileDescription&, size_t) const bool MasterPTY::can_write(const OpenFileDescription&, u64) const
{ {
return true; return true;
} }

View file

@ -34,7 +34,7 @@ private:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual ErrorOr<void> close() override; virtual ErrorOr<void> close() override;
virtual bool is_master_pty() const override { return true; } virtual bool is_master_pty() const override { return true; }
virtual ErrorOr<void> ioctl(OpenFileDescription&, unsigned request, Userspace<void*> arg) override; virtual ErrorOr<void> ioctl(OpenFileDescription&, unsigned request, Userspace<void*> arg) override;

View file

@ -27,7 +27,7 @@ public:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return 0; } virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return 0; }
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return 0; } virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return 0; }
virtual bool can_read(const OpenFileDescription&, u64) const override { return true; } virtual bool can_read(const OpenFileDescription&, u64) const override { return true; }
virtual bool can_write(const OpenFileDescription&, size_t) const override { return true; } virtual bool can_write(const OpenFileDescription&, u64) const override { return true; }
void notify_master_destroyed(Badge<MasterPTY>, unsigned index); void notify_master_destroyed(Badge<MasterPTY>, unsigned index);

View file

@ -85,7 +85,7 @@ ErrorOr<size_t> SlavePTY::on_tty_write(const UserOrKernelBuffer& data, size_t si
return m_master->on_slave_write(data, size); return m_master->on_slave_write(data, size);
} }
bool SlavePTY::can_write(const OpenFileDescription&, size_t) const bool SlavePTY::can_write(const OpenFileDescription&, u64) const
{ {
return m_master->can_write_from_slave(); return m_master->can_write_from_slave();
} }

View file

@ -34,7 +34,7 @@ private:
// ^CharacterDevice // ^CharacterDevice
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual StringView class_name() const override { return "SlavePTY"sv; } virtual StringView class_name() const override { return "SlavePTY"sv; }
virtual ErrorOr<void> close() override; virtual ErrorOr<void> close() override;

View file

@ -147,7 +147,7 @@ bool TTY::can_read(const OpenFileDescription&, u64) const
return !m_input_buffer.is_empty(); return !m_input_buffer.is_empty();
} }
bool TTY::can_write(const OpenFileDescription&, size_t) const bool TTY::can_write(const OpenFileDescription&, u64) const
{ {
return true; return true;
} }

View file

@ -24,7 +24,7 @@ public:
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override; virtual ErrorOr<size_t> write(OpenFileDescription&, u64, const UserOrKernelBuffer&, size_t) override;
virtual bool can_read(const OpenFileDescription&, u64) const override; virtual bool can_read(const OpenFileDescription&, u64) const override;
virtual bool can_write(const OpenFileDescription&, size_t) const override; virtual bool can_write(const OpenFileDescription&, u64) const override;
virtual ErrorOr<void> ioctl(OpenFileDescription&, unsigned request, Userspace<void*> arg) override final; virtual ErrorOr<void> ioctl(OpenFileDescription&, unsigned request, Userspace<void*> arg) override final;
virtual ErrorOr<NonnullOwnPtr<KString>> pseudo_path(const OpenFileDescription&) const override; virtual ErrorOr<NonnullOwnPtr<KString>> pseudo_path(const OpenFileDescription&) const override;