模組 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; (*

Inode 號碼

*)
   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