Unix.LargeFile(3o)

NAME
Unix.LargeFile - File operations on large files.

Module
Module Unix.LargeFile

Documentation

Module LargeFile
 : sig end

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

See lseek .

val truncate : string -> int64 -> unit

See truncate .

val ftruncate : Unix.file_descr -> int64 -> unit

See ftruncate .

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