Changes for version 0.09 - 2022-10-07

  • New Features
    • Add the clone method to the Sys::Socket::Sockaddr class.
      • method clone : Sys::Socket::Sockaddr ()
    • Add the clone method to the Sys::Socket::Sockaddr::In class.
      • method clone : Sys::Socket::Sockaddr::In ()
    • Add the clone method to the Sys::Socket::Sockaddr::In6 class.
      • method clone : Sys::Socket::Sockaddr::In6 ()
    • Add the clone method to the Sys::Socket::Sockaddr::Un class.
      • method clone : Sys::Socket::Sockaddr::Un ()
    • Add the clone method to the Sys::Socket::Sockaddr::Storage class.
      • method clone : Sys::Socket::Sockaddr::Storage ()
    • Sys::Socket::Sockaddr has Cloneable interface.
    • Added the accessor methods to the Sys::Socket::Addrinfo class.
      • method ai_flags : int ();
      • method set_ai_flags : void ($ai_flags : int);
      • method ai_family : int ();
      • method set_ai_family : void ($ai_family : int);
      • method ai_socktype : int ();
      • method set_ai_socktype : void ($ai_socktype : int);
      • method ai_protocol : int ();
      • method set_ai_protocol : void ($ai_protocol : int);
      • method copy_ai_addr : Sys::Socket::Sockaddr ();
      • method copy_ai_canonname : string ();
    • Added the Sys::Socket::AddrinfoLinkedList class.
      • Add the following methods to the Sys::Socket::Constant class.
        • static method NI_MAXHOST : int ();
        • static method NI_MAXSERV : int ();
  • Bug Fix With Incompatible Changes
    • Fixed the bug that the set_sin6_flowinfo method in the Sys::Socket::Sockaddr::In6 class didn't have the argument.
      • Before
        • method set_sin6_flowinfo : void ()
      • After
        • method set_sin6_flowinfo : void ($flowinfo : int)
    • Fixed the bug that the set_sin6_scope_id in the Sys::Socket::Sockaddr::In6 class didn't have the argument.
      • Before
        • method set_sin6_scope_id : void ()
      • After
        • method set_sin6_scope_id : void ($scope_id : int)
  • Prerequirement Changes
    • Need SPVM 0.9654+.
  • Incompativle Changes
    • The definition of the getaddrinfo_raw and getaddrinfo methods in the Sys::Socket
      • Before
        • static method getaddrinfo_raw : int ($node : string, $service : string, $hints : Sys::Socket::Addrinfo, $res : Sys::Socket::Addrinfo[]); static method getaddrinfo : int ($node : string, $service : string, $hints : Sys::Socket::Addrinfo, $res : Sys::Socket::Addrinfo[]);
      • After
        • static method getaddrinfo_raw : int ($node : string, $service : string, $hints : Sys::Socket::Addrinfo, $res : Sys::Socket::AddrinfoLinkedList[]); static method getaddrinfo : int ($node : string, $service : string, $hints : Sys::Socket::Addrinfo, $res : Sys::Socket::AddrinfoLinkedList[]);
    • Removed the POLLNORM method in the Sys::IO::Constant.
      • static method POLLNORM : int ();
  • Bug Fix
    • Fixed the bug that the poll constant values in the Sys::IO::Constant was not used.
    • Fixed the but that the return value of the WSAPoll method in the Sys::Socket class was wrong.
  • Document Fix
    • Add the doc of the poll constant methods of Sys::IO::Constant.
      • =head2 POLLERR
        • static method POLLERR : int ();
      • Get the constant value of C<POLLERR>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLHUP
        • static method POLLHUP : int ();
      • Get the constant value of C<POLLHUP>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLIN
        • static method POLLIN : int ();
      • Get the constant value of C<POLLIN>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLNVAL
        • static method POLLNVAL : int ();
      • Get the constant value of C<POLLNVAL>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLOUT
        • static method POLLOUT : int ();
      • Get the constant value of C<POLLOUT>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLPRI
        • static method POLLPRI : int ();
      • Get the constant value of C<POLLPRI>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLRDBAND
        • static method POLLRDBAND : int ();
      • Get the constant value of C<POLLRDBAND>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLRDNORM
        • static method POLLRDNORM : int ();
      • Get the constant value of C<POLLRDNORM>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLWRBAND
        • static method POLLWRBAND : int ();
      • Get the constant value of C<POLLWRBAND>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
      • =head2 POLLWRNORM
        • static method POLLWRNORM : int ();
      • Get the constant value of C<POLLWRNORM>. If the system doesn't define this constant, an exception will be thrown. The error code is set to the class id of the L<Error::NotSupported|SPVM::Error::NotSupported> class.
    • Fixed the document bug that Sys::IO::PollfdArray was called Sys::Poll::PollfdArray.

Modules

System Calls such as File IO, User, Process, Socket,
File Tests
IO System Call
Constant values for IO.
the class for the DIR type in C language.
struct dirent in C language
the class for the FILE type in C language.
struct flock in C language
Array of struct pollfd in C language
struct stat in C language
struct utimbuf in C language
Process System Call
Sys::Process::Constant is a SPVM module
Sys::Process::Tms is a SPVM module
Socket System Call
struct addrinfo in C language
Sys::Socket::AddrinfoLinkedList is a SPVM module
Socket Constant Values
The address is not a valid network address.
struct in6_addr in C language
struct in_addr in C language
struct ip_mreq in C language
struct ip_mreq_source in C language
struct ipv6_mreq in C language
struct sockaddr in C language
struct sockaddr_in in C language
struct sockaddr_in6 in C language
Interface for Sys::Socket::Sockaddr
struct sockaddr_storage in C language
struct sockaddr_un in C language
User System Call
Entry of Group Database
Entry of Password Database