module LargeFile: sig .. end
File operations on large files.
This sub-module provides 64-bit variants of the functions
UnixLabels.LargeFile.lseek
(for positioning a file descriptor),
UnixLabels.LargeFile.truncate
and UnixLabels.LargeFile.ftruncate
(for changing the size of a file),
and UnixLabels.LargeFile.stat
, UnixLabels.LargeFile.lstat
and UnixLabels.LargeFile.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 : UnixLabels.file_descr -> int64 -> mode:UnixLabels.seek_command -> int64
See lseek
.
val truncate : string -> len:int64 -> unit
See truncate
.
val ftruncate : UnixLabels.file_descr -> len:int64 -> unit
See ftruncate
.
type stats = Unix.LargeFile.stats = {
|
st_dev : int; |
(* | Device number | *) |
|
st_ino : int; |
(* | Inode number | *) |
|
st_kind : UnixLabels.file_kind; |
(* | Kind of the file | *) |
|
st_perm : UnixLabels.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 : UnixLabels.file_descr -> stats