package core_unix

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

Module Core_unix.Open_flagsSource

Sourcetype 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
Sourceval t_of_sexp : Sexplib0.Sexp.t -> t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t

consistent with subset

include Core.Comparable.S with type t := t
include Base.Comparable.S with type t := t
include Base.Comparisons.S with type t := t
include Base.Comparisons.Infix with type t := t
Sourceval (>=) : t -> t -> bool
Sourceval (<=) : t -> t -> bool
Sourceval (=) : t -> t -> bool
Sourceval (>) : t -> t -> bool
Sourceval (<) : t -> t -> bool
Sourceval (<>) : t -> t -> bool
Sourceval equal : t -> t -> bool
Sourceval compare : t -> t -> int

compare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.

Sourceval min : t -> t -> t
Sourceval max : t -> t -> t
Sourceval ascending : t -> t -> int

ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.

Sourceval descending : t -> t -> int
Sourceval between : t -> low:t -> high:t -> bool

between t ~low ~high means low <= t <= high

Sourceval clamp_exn : t -> min:t -> max:t -> t

clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.

Raises if not (min <= max).

Sourceval clamp : t -> min:t -> max:t -> t Base.Or_error.t
include Base.Comparator.S with type t := t
Sourcetype comparator_witness
Sourceval validate_lbound : min:t Core.Maybe_bound.t -> t Validate.check
Sourceval validate_ubound : max:t Core.Maybe_bound.t -> t Validate.check
Sourceval validate_bound : min:t Core.Maybe_bound.t -> max:t Core.Maybe_bound.t -> t Validate.check
Sourceval to_flag_list : t -> t * string list
Sourceval of_int : int -> t
Sourceval to_int_exn : t -> int
Sourceval empty : t
Sourceval (+) : t -> t -> t

set union, bitwise or

Sourceval (-) : 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.

Sourceval intersect : t -> t -> t

bitwise and

Sourceval complement : t -> t

bitwise not

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

is_subset t ~of_ is t = intersect t of_

Sourcemodule Unstable : sig ... end
Sourceval 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.

Sourceval wronly : t
Sourceval rdwr : t
Sourceval creat : t

creation

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

can_read t iff t has rdonly or rdwr

Sourceval can_write : t -> bool

can_read t iff t has wronly or rdwr

OCaml

Innovation. Community. Security.