Reason
  • Docs
  • Try
  • API
  • Community
  • Blog
  • Languages iconEnglish
    • 日本語
    • Deutsch
    • Español
    • Français
    • 한국어
    • Português (Brasil)
    • Русский
    • Українська
    • 中文
    • 繁體中文
    • Help Translate
  • GitHub
 Up  

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.

let lseek: (Unix.file_descr, int64, Unix.seek_command) => int64;
let truncate: (string, int64) => unit;
let 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
*)
}
let stat: string => stats;
let lstat: string => stats;
let fstat: Unix.file_descr => stats;