Name
SPVM::Sys::IO::Windows - IO System Call on Windows
Description
Sys::IO::Windows class in SPVM has methods to manipulate IO system calls in Windows.
Details
Symbolic Link
In this document, 'symbolic link' refers to both symbolic links and directory junctions.
Usage
use Sys::IO::Windows;
Class Methods
unlink
static method unlink : int ($path : string);
Delete a file(not a directory) or "Symbolic Link" in a symbolic link.
Note:
If $path has read-only flag, it is disabled before the deletion. If the deletion fails, the flag is restored.
Exceptions:
$path must be defined. Otherwise an exception is thrown.
If unlink function failed, an exception is thrown with eval_error_id
set to the basic type ID of the Error::System class.
rename
static method rename : int ($oldpath : string, $newpath : string);
Raname the file name from the old name $oldpath to the new name $newpath.
Note:
This method is implemented so that the beheivior is the same as Sys::IO#readlink method as possible.
Error numbers in Windows are replaced with the ones in POSIX.
Exceptions:
$oldpath must be defined. Otherwise an exception is thrown.
$newpath must be defined. Otherwise an exception is thrown.
If the rename function failed, an exception is thrown with eval_error_id
set to the basic type ID of the Error::System class.
symlink
static method symlink : int ($oldpath : string, $newpath : string);
Creates a path $newpath symbolically linked to the path $oldpath.
Note:
This method is implemented so that the beheivior is the same as Sys::IO#symlink method as possible.
Error numbers in Windows are replaced with the ones in POSIX.
win_readlink
static method win_readlink : string ($path : string);
If the file $path is a symbolic link or directory junction, returns its link text.
Exceptions:
An exception is thrown if $path does not exist, if the process do not have the appropriate permission to open $path, or if $path is not a symbolic link or a directory junction.
realpath
static method realpath : mutable string ($path : string, $resolved_path : mutable string);
Resolves symbolic link in the path $path and converts it to a canonical absolute path(but not long path format), and returns it.
$resolved_path must be undef.
is_symlink
static method is_symlink : int ($path : string);
If the file $path is a symblic link or a directory junction, returns 1; otherwise returns 0.
Excepsitons:
The path $path must be defined. Otherwise an exception is thrown.
See Also
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License