Changes for version 0.25_02 - 2022-11-11

  • Incompatible Changes
    • The definitions of the following methods in the Sys::IO::Stat class are changed.
      • Before
        • method st_dev : int (); method st_ino : int (); method st_nlink : int (); method st_rdev : int ();
      • After
        • method st_dev : long (); method st_ino : long (); method st_nlink : long (); method st_rdev : long ();
    • The stat and lstat methods in the Sys::IO class are moved to the Sys::IO::Stat class.
  • New Features
    • Added the following methods to the Sys::IO::Stat class. static method fstat_raw : int ($fd : int, $stat : Sys::IO::Stat);
      • static method fstat : int ($fd : int, $stat : Sys::IO::Stat);
    • Added the following methods to the Sys::IO class.
      • static method readline : mutable string ($stream : Sys::IO::FileStream);
      • static method ftruncate : int ($fd : int, $length : long);
      • static method ungetc : int ($c : int, $stream : Sys::IO::FileStream);
      • static method fsync : int ($fd : int);
      • static method freopen : Sys::IO::FileStream ($path : string, $mode : string, $stream : Sys::IO::FileStream);
      • static method setvbuf : int ($stream : Sys::IO::FileStream, $buf : mutable string, $mode : int, $size : int);
      • static method setbuf : void ($stream : Sys::IO::FileStream, $buf : mutable string);
      • static method setbuffer : void ($stream : Sys::IO::FileStream, $buf : mutable string, $size : int);
      • static method setlinebuf : void ($stream : Sys::IO::FileStream);
      • static method stdin : Sys::IO::FileStream ()
      • static method stdout : Sys::IO::FileStream ()
      • static method stderr : Sys::IO::FileStream ()
    • Added the following methods to the Sys::IO::Constant class.
      • static method STDIN_FILENO : int ();
      • static method STDOUT_FILENO : int ();
      • static method STDERR_FILENO : int ();
      • static method BUFSIZ : int ();
      • static method _IONBF : int ();
      • static method _IOLBF : int ();
      • static method _IOFBF : int ();
    • Added the offset argument to the following methods.
      • Before
        • static method read : int ($fd : int, $buf : mutable string, $count : int); static method write : int ($fd : int, $buf : string, $count : int); static method fread : int ($ptr : mutable string, $size : int, $nmemb : int, $stream : Sys::IO::FileStream); static method fgets : mutable string ($s : mutable string, $size : int, $stream : Sys::IO::FileStream); static method fwrite : int ($ptr : string, $size : int, $nmemb : int, $stream : Sys::IO::FileStream);
      • After
        • static method read : int ($fd : int, $buf : mutable string, $count : int, $buf_offset = 0 : int); static method write : int ($fd : int, $buf : string, $count : int, $buf_offset = 0 : int); static method fread : int ($ptr : mutable string, $size : int, $nmemb : int, $stream : Sys::IO::FileStream, $ptr_offset = 0 : int); static method fgets : mutable string ($s : mutable string, $size : int, $stream : Sys::IO::FileStream, $s_offset = 0 : int); static method fwrite : int ($ptr : string, $size : int, $nmemb : int, $stream : Sys::IO::FileStream, $ptr_offset = 0 : int);
  • Exception Message Improvement
    • Improved exception messages in the Sys::IO class.
  • Bug Fix
    • Fixed the bug that the stat method in the Sys::IO doesn't work well in 32bit system. This method is moved to the Sys::IO::Stat class in this release.
    • Fixed the bug that the lstat method in the Sys::IO doesn't work well in 32bit system. This method is moved to the Sys::IO::Stat class in this release.

Modules

System Calls for File IO, User, Process, Signal, 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
The stat Functions and The struct stat in C language
struct utimbuf in C language
ioctl System Call
Constant values for ioctl.
Poll System Call
Constant values for Poll.
Array of struct pollfd in C language
Process System Call
Constant Values for Process
Select System Call
Constant values for Select.
fd_set Type in C Language
Signal System Call
Sys::Signal::Constant is a SPVM module
Sys::Signal::Handler is a SPVM module
Signal Handler that Represents SIG_DFL in C language.
Signal Handler that Represents SIG_IGN in C language
Signal Handler to Monitor Signals
Signal Handler that is unknwon.
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
Time System Call
Constant Values for Time
struct timeval in C language
struct timespec in C language
struct timeval in C language
struct timezone in C language
struct tms in C language
User System Call
Entry of Group Database
Entry of Password Database