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