UnixLabels.LargeFile(3)

NAME
UnixLabels.LargeFile - File operations on large files.

Module
Module UnixLabels.LargeFile

Documentation

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