Name
SPVM::Sys::IO::Stat - The stat Functions and The struct stat in C language
Usage
use Sys::IO::Stat;
my $file = "foo.txt";
my $stat = Sys::IO::Stat->new($file);
my $st_mode = $stat->st_mode;
my $st_size = $stat->st_size;
# More native
my $stat = Sys::IO::Stat->new;
Sys::IO::Stat->stat($file, $stat);
Sys::IO::Stat->lstat($file, $stat);
Description
Sys::IO::Stat
is the class for the struct stat
in C language
.
This is a pointer class.
Class Methods
new
static method new : Sys::IO::Stat ($path : string = undef, $options : object[] = undef);
Creates a new Sys::IO::Stat
object.
If $path is specified, "stat" is called.
stat
static method stat : int ($path : string, $stat : Sys::IO::Stat);
These functions return information about a file. No permissions are required on the file itself, but-in the case of stat() and lstat() - execute (search) permission is required on all of the directories in path that lead to the file.
stat() stats the file pointed to by path and fills in buf.
See the stat function in Linux.
The stat is Sys::IO::Stat object.
lstat
static method lstat : int ($path : string, $stat : Sys::IO::Stat);
These functions return information about a file. No permissions are required on the file itself, but-in the case of stat() and lstat() - execute (search) permission is required on all of the directories in path that lead to the file.
lstat() is identical to stat(), except that if path is a symbolic link, then the link itself is stat-ed, not the file that it refers to.
See the lstat function in Linux.
The stat is Sys::IO::Stat object.
fstat
static method fstat : int ($fd : int, $stat : Sys::IO::Stat);
fstat() is identical to stat(), except that the file to be stat-ed is specified by the file descriptor fd.
See fstat(2) - Linux man page in Linux.
The $stat
is a Sys::IO::Stat object.
Instance Methods
DESTROY
method DESTROY : void ();
The destructor.
st_dev
method st_dev : int ();
Gets st_dev
.
st_ino
method st_ino : int ();
Gets st_ino
.
st_mode
method st_mode : int ();
Gets st_mode
.
st_nlink
method st_nlink : int ();
Gets st_nlink
.
st_uid
method st_uid : int ();
Gets st_uid
.
st_gid
method st_gid : int ();
Gets st_gid
.
st_rdev
method st_rdev : int ();
Gets st_rdev
.
st_size
method st_size : long ();
Gets st_size
.
st_blksize
method st_blksize : long ();
Gets st_blksize
.
st_blocks
method st_blocks : long ();
Gets st_blocks
.
st_mtime
method st_mtime : long ();
Gets st_mtime
.
st_atime
method st_atime : long ();
Gets st_atime
.
st_ctime
method st_ctime : long ();
Gets st_ctime
.
st_mtim_tv_nsec
method st_mtim_tv_nsec : long ();
Gets st_mtim.tv_nsec
.
st_atim_tv_nsec
method st_atim_tv_nsec : long ();
Gets st_atim.tv_nsec
.
st_ctim_tv_nsec
method st_ctim_tv_nsec : long ();
Gets st_ctim.tv_nsec
.
A
method A : double ();
C
method C : double ();
M
method M : double ();
O
method O : int ();
S
method S : int ();
b
method b : int ();
c
method c : int ();
d
method d : int ();
e
method e : int ();
f
method f : int ();
g
method g : int ();
k
method k : int ();
l
method l : int ();
o
method o : int ();
p
method p : int ();
s
method s : long ();
u
method u : int ();
z
method z : int ();
cando
method cando : int ($mode : int, $effective : int);
r
method r : int ();
w
method w : int ();
x
method x : int ();
R
method R : int ();
W
method W : int ();
X
method X : int ();
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License