package core_unix

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t

Open_flags.t represents the file access mode and file status flags flags associated with a file description, as set by openfile and fcntl_setfl, and retrieved by fcntl_getfl.

Since this type is not actually used by openfile, many of the flags here are meaningless. creat, excl, trunc, noctty only make sense at opening time, and can't be retrieved or configured with fcntl.

We deliberately omit cloexec because cloexec actually isn't reported by fcntl_getfl.

include Flags.S with type t := t
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
include Typerep_lib.Typerepable.S with type t := t
val typerep_of_t : t Typerep_lib.Std_internal.Typerep.t
val typename_of_t : t Typerep_lib.Typename.t

consistent with subset

include Core.Comparable.S with type t := t
include Base.Comparable.S with type t := t
val (>=) : t -> t -> bool
val (<=) : t -> t -> bool
val (=) : t -> t -> bool
val (>) : t -> t -> bool
val (<) : t -> t -> bool
val (<>) : t -> t -> bool
val equal : t -> t -> bool
val compare : t -> t -> int
val min : t -> t -> t
val max : t -> t -> t
val ascending : t -> t -> int
val descending : t -> t -> int
val between : t -> low:t -> high:t -> bool
val clamp_exn : t -> min:t -> max:t -> t
val clamp : t -> min:t -> max:t -> t Base__.Or_error.t
type comparator_witness
val comparator : (t, comparator_witness) Base__Comparator.comparator
val validate_lbound : min:t Core.Maybe_bound.t -> t Validate.check
val validate_ubound : max:t Core.Maybe_bound.t -> t Validate.check
val validate_bound : min:t Core.Maybe_bound.t -> max:t Core.Maybe_bound.t -> t Validate.check
module Replace_polymorphic_compare : sig ... end
val to_flag_list : t -> t * string list
val of_int : int -> t
val to_int_exn : t -> int
val empty : t
val (+) : t -> t -> t

set union, bitwise or

val (-) : t -> t -> t

set difference. Although we use operators + and -, they do not satisfy the usual arithmetic equations, e.g. x - y = x + (empty - y) does not hold.

val intersect : t -> t -> t

bitwise and

val complement : t -> t

bitwise not

val is_empty : t -> bool
val do_intersect : t -> t -> bool
val are_disjoint : t -> t -> bool
val is_subset : t -> of_:t -> bool

is_subset t ~of_ is t = intersect t of_

module Unstable : sig ... end
val rdonly : t

access mode.

These three flags are not individual bits like flags usually are. The access mode is represented by the lower two bits of the Open_flags.t. A particular Open_flags.t should include exactly one access mode. Combining different Open_flags.t's using flags operations (e.g +) is only sensible if they have the same access mode.

val wronly : t
val rdwr : t
val creat : t

creation

val excl : t
val noctty : t
val trunc : t
val append : t
val nonblock : t
val dsync : t
val sync : t
val rsync : t
val direct : t
val can_read : t -> bool

can_read t iff t has rdonly or rdwr

val can_write : t -> bool

can_read t iff t has wronly or rdwr

OCaml

Innovation. Community. Security.