Module UnixLabels.LargeFile
File operations on large files. This sub-module provides 64-bit variants of the functions UnixLabels.lseek
(for positioning a file descriptor), UnixLabels.truncate
and UnixLabels.ftruncate
(for changing the size of a file), and UnixLabels.stat
, UnixLabels.lstat
and UnixLabels.fstat
(for obtaining information on files). These alternate functions represent positions and sizes by 64-bit integers (type int64
) instead of regular integers (type int
), thus allowing operating on files whose sizes are greater than max_int
.
val lseek : file_descr -> int64 -> mode:seek_command -> int64
val truncate : string -> len:int64 -> unit
val ftruncate : file_descr -> len:int64 -> unit
type stats
= Unix.LargeFile.stats
=
{
st_dev : int;
Device number
st_ino : int;
Inode number
st_kind : file_kind;
Kind of the file
st_perm : file_perm;
Access rights
st_nlink : int;
Number of links
st_uid : int;
User id of the owner
st_gid : int;
Group ID of the file's group
st_rdev : int;
Device ID (if special file)
st_size : int64;
Size in bytes
st_atime : float;
Last access time
st_mtime : float;
Last modification time
st_ctime : float;
Last status change time
}
val stat : string -> stats
val lstat : string -> stats
val fstat : file_descr -> stats