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
.
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 minor number *) |
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