The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Name

SPVM::Sys::IO::Windows - IO System Call on Windows

Description

The SPVM::Sys::IO::Windows class in SPVM has methods to manipulate IO system calls in Windows.

Usage

  use Sys::IO::Windows;

Class Methods

static method unlink : int ($pathname : string);

Delete a file.

Note:

This method is implemented so that the beheivior is the same as the readlink in the Sys::IO class as possible.

If the file given by the path name $pathname is read-only, the flag is disabled before the file deletion. If the file deletion failed, the flag is restored.

This method can delete both symlinks and directory junctions.

Error numbers in Windows are replaced with the ones in POSIX.

Exceptions:

$pathname must be defined. Otherwise an exception is thrown.

If the 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 the readlink in the Sys::IO class 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.

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 the symlink in the Sys::IO class as possible.

Error numbers in Windows are replaced with the ones in POSIX.

static method readlink : int ($path : string, $buf : mutable string, $bufsiz : int);

Calls the readlink function implemented for Windows.

Note:

This method is implemented so that the beheivior is the same as the readlink in the Sys::IO class as possible.

Symbolic links and directory junctions in Windows are manipulated as symbolic links.

Error numbers in Windows are replaced with the ones in POSIX.

lstat

static method lstat : int ($path : string, $stat : Sys::IO::Stat);

Calls the lstat function implemented for Windows.

Note:

This method is implemented so that the beheivior is the same as the lstat in the Sys::IO class as possible..

Symbolic links and directory junctions in Windows are manipulated as symbolic links.

Error numbers in Windows are replaced with the ones in POSIX.

Exceptions:

$path must be defined. Otherwise an exception is thrown.

$stat must be defined. Otherwise an exception is thrown.

If the lstat function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System class.

Copyright & License

Copyright (c) 2023 Yuki Kimoto

MIT License