mirror of
https://github.com/RGBCube/serenity
synced 2025-05-20 13:55:08 +00:00
IPv4: Implement bind() for TCP and UDP sockets.
We can't accept connections just yet, but this patch makes it possible to bind() to a given source address/port.
This commit is contained in:
parent
6a5d92f0ad
commit
abb5c890e0
6 changed files with 34 additions and 2 deletions
|
@ -203,3 +203,12 @@ bool TCPSocket::protocol_is_disconnected() const
|
|||
{
|
||||
return m_state == State::Disconnecting || m_state == State::Disconnected;
|
||||
}
|
||||
|
||||
KResult TCPSocket::protocol_bind()
|
||||
{
|
||||
LOCKER(sockets_by_port().lock());
|
||||
if (sockets_by_port().resource().contains(source_port()))
|
||||
return KResult(-EADDRINUSE);
|
||||
sockets_by_port().resource().set(source_port(), this);
|
||||
return KSuccess;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue