Skip to content

FileInfo

[Source]

This contains file system metadata for a path.

A symlink will report information about itself, other than the size which will be the size of the target. A broken symlink will report as much as it can and will set the broken flag.

class val FileInfo

Constructors

create

[Source]

This will raise an error if the FileStat capability isn't available or the path doesn't exist.

new val create(
  from: FilePath val)
: FileInfo val^ ?

Parameters

Returns


_descriptor

[Source]

This will raise an error if the FileStat capability isn't available or the file descriptor is invalid.

new val _descriptor(
  fd: I32 val,
  path: FilePath val)
: FileInfo val^ ?

Parameters

Returns


_relative

[Source]

new val _relative(
  fd: I32 val,
  path: FilePath val,
  from: String val)
: FileInfo val^ ?

Parameters

Returns


Public fields

let filepath: FilePath val

[Source]


let mode: FileMode val

[Source]

UNIX-style file mode.


[Source]

Number of hardlinks to this filepath.


let device: U64 val

[Source]

OS id of the device containing this filepath. Device IDs consist of a major and minor device id, denoting the type of device and the instance of this type on the system.


let inode: U64 val

[Source]

UNIX specific INODE number of filepath. Is 0 on Windows.


let uid: U32 val

[Source]

UNIX-style user ID of the owner of filepath.


let gid: U32 val

[Source]

UNIX-style user ID of the owning group of filepath.


let size: USize val

[Source]

Total size of filepath in bytes.

In case of a symlink this is the size of the target, not the symlink itself.


let access_time: (I64 val , I64 val)

[Source]

Time of last access as a tuple of seconds and nanoseconds since the epoch:

(let a_secs: I64, let a_nanos: I64) = file_info.access_time

let modified_time: (I64 val , I64 val)

[Source]

Time of last modification as tuple of seconds and nanoseconds since the epoch:

(let m_secs: I64, let m_nanos: I64) = file_info.modified_time

let change_time: (I64 val , I64 val)

[Source]

Time of the last change either the attributes (number of links, owner, group, file mode, ...) or the content of filepath as a tuple of seconds and nanoseconds since the epoch:

(let c_secs: I64, let c_nanos: I64) = file_info.change_time

On Windows this will be the file creation time.


let file: Bool val

[Source]

true if filepath points to an a regular file.


let directory: Bool val

[Source]

true if filepath points to a directory.


let pipe: Bool val

[Source]

true if filepath points to a named pipe.


[Source]

true if filepath points to a symbolic link.


let broken: Bool val

[Source]

true if filepath points to a broken symlink.