# Copyright (c) 2023 Yuki Kimoto # MIT License class Sys::Socket::Sockaddr::In6 extends Sys::Socket::Sockaddr : pointer { version_from Sys; use Sys::Socket::In6_addr; # Class methods native static method new : Sys::Socket::Sockaddr::In6 (); # Instance methods native method DESTROY : void (); method sa_family : int () { my $sin6_family = $self->sin6_family; return $sin6_family; } native method sin6_family : int (); native method set_sin6_family : void ($family : int); native method sin6_flowinfo : int (); native method set_sin6_flowinfo : void ($flowinfo : int); native method sin6_scope_id : int (); native method set_sin6_scope_id : void ($scope_id : int); native method sin6_addr : Sys::Socket::In6_addr (); native method set_sin6_addr : void ($address : Sys::Socket::In6_addr); native method sin6_port : int (); native method set_sin6_port : void ($port : int); native method size : int (); method clone : Sys::Socket::Sockaddr::In6 () { my $clone = Sys::Socket::Sockaddr::In6->new; $clone->set_sin6_family($self->sin6_family); $clone->set_sin6_flowinfo($self->sin6_flowinfo); $clone->set_sin6_scope_id($self->sin6_scope_id); $clone->set_sin6_addr($self->sin6_addr); $clone->set_sin6_port($self->sin6_port); return $clone; } }