Module Core_unix.Native_file

This sub-module provides the normal OCaml Unix functions that deal with file size using native ints. These are here because, in general, you should be using 64bit file operations so that large files aren't an issue. If you have a real need to use potentially 31bit file operations (and you should be dubious of such a need) you can open this module

type stats = Unix.stats = {
st_dev : int;

Device number

st_ino : int;

Inode number

st_kind : file_kind;

Kind of the file

st_perm : file_perm;

Access rights

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 : int;

Size in bytes

st_atime : float;

Last access time

st_mtime : float;

Last modification time

st_ctime : float;

Last status change time

}

The informations returned by the UnixLabels.stat calls.

val sexp_of_stats : stats -> Ppx_sexp_conv_lib.Sexp.t
val stats_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> stats
val stat : string -> stats

Return the information for the named file.

val lstat : string -> stats

Same as UnixLabels.stat, but in case the file is a symbolic link, return the information for the link itself.

val fstat : File_descr.t -> stats

Return the information for the file associated with the given descriptor.

val lseek : File_descr.t -> int -> mode:seek_command -> int
val truncate : string -> len:int -> unit
val ftruncate : File_descr.t -> len:int -> unit