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