Module Unix.LargeFile


module LargeFile: sig .. end
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 : Unix.file_descr -> int64 -> Unix.seek_command -> int64
val truncate : string -> int64 -> unit
val ftruncate : Unix.file_descr -> int64 -> unit

type stats = {
   st_dev : int; (*Device number*)
   st_ino : int; (*Inode number*)
   st_kind : Unix.file_kind; (*Kind of the file*)
   st_perm : Unix.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 : Unix.file_descr -> stats