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_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