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.

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