.TH "UnixLabels.LargeFile" 3o 2020-01-30 OCamldoc "OCaml library"
.SH NAME
UnixLabels.LargeFile \- File operations on large files.
.SH Module
Module   UnixLabels.LargeFile
.SH Documentation
.sp
Module
.BI "LargeFile"
 : 
.B sig  end

.sp
File operations on large files\&.
This sub\-module provides 64\-bit variants of the functions
.B UnixLabels\&.lseek
(for positioning a file descriptor),
.B UnixLabels\&.truncate
and 
.B UnixLabels\&.ftruncate
(for changing the size of a file),
and 
.B UnixLabels\&.stat
, 
.B UnixLabels\&.lstat
and 
.B UnixLabels\&.fstat
(for obtaining information on files)\&.  These alternate functions represent
positions and sizes by 64\-bit integers (type 
.B int64
) instead of
regular integers (type 
.B int
), thus allowing operating on files
whose sizes are greater than 
.B max_int
\&.

.sp

.sp
.sp

.I val lseek 
: 
.B UnixLabels.file_descr -> int64 -> mode:UnixLabels.seek_command -> int64
.sp

.sp

.I val truncate 
: 
.B string -> len:int64 -> unit
.sp

.sp

.I val ftruncate 
: 
.B UnixLabels.file_descr -> len:int64 -> unit
.sp

.sp
.I type stats 
= 
.B Unix.LargeFile.stats
= {
 st_dev : 
.B int
;  (* Device number
 *) 
 st_ino : 
.B int
;  (* Inode number
 *) 
 st_kind : 
.B UnixLabels.file_kind
;  (* Kind of the file
 *) 
 st_perm : 
.B UnixLabels.file_perm
;  (* Access rights
 *) 
 st_nlink : 
.B int
;  (* Number of links
 *) 
 st_uid : 
.B int
;  (* User id of the owner
 *) 
 st_gid : 
.B int
;  (* Group ID of the file\&'s group
 *) 
 st_rdev : 
.B int
;  (* Device ID (if special file)
 *) 
 st_size : 
.B int64
;  (* Size in bytes
 *) 
 st_atime : 
.B float
;  (* Last access time
 *) 
 st_mtime : 
.B float
;  (* Last modification time
 *) 
 st_ctime : 
.B float
;  (* Last status change time
 *) 
 }

.sp

.sp

.I val stat 
: 
.B string -> stats
.sp

.sp

.I val lstat 
: 
.B string -> stats
.sp

.sp

.I val fstat 
: 
.B UnixLabels.file_descr -> stats
.sp

.sp
