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