BatUnix.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
val ftruncate : file_descr -> 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_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 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