search

Module UnixLabels.LargeFile

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 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 : UnixLabels.file_descr -> stats