module LargeFile: sig .. endFile operations on large files.
This sub-module provides 64-bit variants of the functions
Unix.LargeFile.lseek (for positioning a file descriptor),
Unix.LargeFile.truncate and Unix.LargeFile.ftruncate
(for changing the size of a file),
and Unix.LargeFile.stat, Unix.LargeFile.lstat and Unix.LargeFile.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 : Unix.file_descr -> int64 -> Unix.seek_command -> int64
See lseek.
val truncate : string -> int64 -> unit
See truncate.
val ftruncate : Unix.file_descr -> int64 -> unit
See ftruncate.
type stats = {
st_dev : int;
(* Device number
*)
st_ino : int;
(* Inode number
*)
st_kind : Unix.file_kind;
(* Kind of the file
*)
st_perm : Unix.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 : Unix.file_descr -> stats