Module Uring.Statx

type t

A statx struct.

type kind = [
  1. | `Unknown
  2. | `Fifo
  3. | `Character_special
  4. | `Directory
  5. | `Block_device
  6. | `Regular_file
  7. | `Socket
]
val pp_kind : kind Fmt.t

pp_kind kind formats a human readable kind

val create : unit -> t

Use create to make a statx result buffer to pass to statx.

module Flags : sig ... end
module Attr : sig ... end
module Mask : sig ... end

The mask flags tell the kernel which fields the statx invocation wants. The caller must verify the field has actually been filled in with a value before using it. The kernel never refuses values specified in the mask, but may choose to not set the mask in the returned buffer from statx.

val blksize : t -> Stdlib.Int64.t
val attributes : t -> Attr.t

The attributes set on the file.

val uid : t -> Stdlib.Int64.t
val gid : t -> Stdlib.Int64.t
val ino : t -> Stdlib.Int64.t
val size : t -> Stdlib.Int64.t
val blocks : t -> Stdlib.Int64.t
val attributes_mask : t -> Attr.t

The set of attributes supported by the filesystem holding the file.

val rdev : t -> Stdlib.Int64.t
val dev : t -> Stdlib.Int64.t
val mask : t -> Mask.t

The set of fields the kernel actually filled in.

val mnt_id : t -> Stdlib.Int64.t
val dio_mem_align : t -> Stdlib.Int64.t
val dio_offset_align : t -> Stdlib.Int64.t
val atime_sec : t -> int64
val btime_sec : t -> int64
val ctime_sec : t -> int64
val mtime_sec : t -> int64
val atime_nsec : t -> int
val btime_nsec : t -> int
val ctime_nsec : t -> int
val mtime_nsec : t -> int
val mode : t -> int
val perm : t -> int
val kind : t -> kind