Module Unix.LargeFile
File operations on large files. This sub-module provides 64-bit variants of the functions Unix.lseek
(for positioning a file descriptor), Unix.truncate
and Unix.ftruncate
(for changing the size of a file), and Unix.stat
, Unix.lstat
and Unix.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 -> seek_command -> int64
See
Unix.lseek
.
val truncate : string -> int64 -> unit
See
Unix.truncate
.
val ftruncate : file_descr -> int64 -> unit
See
Unix.ftruncate
.
type 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