模块 UnixLabels.LargeFile

module LargeFile: sig .. end

大型文件的文件操作。此子模块提供了函数 UnixLabels.LargeFile.lseek(用于定位文件描述符)、UnixLabels.LargeFile.truncateUnixLabels.LargeFile.ftruncate(用于更改文件大小)以及 UnixLabels.LargeFile.statUnixLabels.LargeFile.lstatUnixLabels.LargeFile.fstat(用于获取文件信息)的 64 位变体。这些替代函数使用 64 位整数(类型 int64)而不是普通整数(类型 int)来表示位置和大小,从而允许操作大小大于 max_int 的文件。


val lseek : UnixLabels.file_descr -> int64 -> mode:UnixLabels.seek_command -> int64

参见 lseek

val truncate : string -> len:int64 -> unit

参见 truncate

val ftruncate : UnixLabels.file_descr -> len:int64 -> unit

参见 ftruncate

type stats = Unix.LargeFile.stats = {
   st_dev : int; (*

设备号

*)
   st_ino : int; (*

索引节点号

*)
   st_kind : UnixLabels.file_kind; (*

文件类型

*)
   st_perm : UnixLabels.file_perm; (*

访问权限

*)
   st_nlink : int; (*

链接数

*)
   st_uid : int; (*

所有者用户 ID

*)
   st_gid : int; (*

文件所属组的组 ID

*)
   st_rdev : int; (*

设备 ID(如果为特殊文件)

*)
   st_size : int64; (*

大小(以字节为单位)

*)
   st_atime : float; (*

最后访问时间

*)
   st_mtime : float; (*

最后修改时间

*)
   st_ctime : float; (*

最后状态更改时间

*)
}
val stat : string -> stats
val lstat : string -> stats
val fstat : UnixLabels.file_descr -> stats