# Copyright (c) 2023 Yuki Kimoto # MIT License class Sys::Socket::Sockaddr::In extends Sys::Socket::Sockaddr : pointer { version_from Sys; use Sys::Socket::In_addr; # Class methods native static method new : Sys::Socket::Sockaddr::In (); # Instance methods native method DESTROY : void (); method sa_family : int () { my $sin_family = $self->sin_family; return $sin_family; } native method sin_family : int (); native method set_sin_family : void ($family : int); native method sin_addr : Sys::Socket::In_addr (); native method set_sin_addr : void ($address : Sys::Socket::In_addr); native method sin_port : int (); native method set_sin_port : void ($port : int); native method size : int (); method clone : Sys::Socket::Sockaddr::In () { my $clone = Sys::Socket::Sockaddr::In->new; $clone->set_sin_family($self->sin_family); $clone->set_sin_addr($self->sin_addr); $clone->set_sin_port($self->sin_port); return $clone; } }