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