sig
module Clock :
sig
type t = Core.Linux_ext.Timerfd.Clock.t
val realtime : t
val monotonic : t
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int
val bin_t : t Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_t : t Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_t : t Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_t : t Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_t : t Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_t : t Core_kernel.Std.Bin_prot.Type_class.writer
end
module Flags :
sig
type t = Core.Linux_ext.Timerfd.Flags.t
val of_int : int -> t
val to_int_exn : t -> int
val equal : t -> t -> bool
val empty : t
val ( + ) : t -> t -> t
val ( - ) : t -> t -> t
val intersect : t -> t -> t
val complement : t -> t
val is_empty : t -> bool
val do_intersect : t -> t -> bool
val are_disjoint : t -> t -> bool
val nonblock : t
val cloexec : t
val sexp_of_t : t -> Sexplib.Sexp.t
end
type t = Core.Linux_ext.Timerfd.t
val create : (?flags:Flags.t -> Clock.t -> t) Core_kernel.Std.Or_error.t
val set : t -> [ `After of Core.Span.t | `At of Core.Time.t ] -> unit
val set_repeating :
?initial:[ `After of Core.Span.t | `At of Core.Time.t ] ->
t -> Core.Span.t -> unit
val clear : t -> unit
type repeat =
Core.Linux_ext.Timerfd.repeat = {
fire_after : Core.Span.t;
interval : Core.Span.t;
}
val get :
t -> [ `Fire_after of Core.Span.t | `Not_armed | `Repeat of repeat ]
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int
val bin_t : t Core_kernel.Std.Bin_prot.Type_class.t
val bin_read_t : t Core_kernel.Std.Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Core_kernel.Std.Bin_prot.Read.reader
val bin_reader_t : t Core_kernel.Std.Bin_prot.Type_class.reader
val bin_size_t : t Core_kernel.Std.Bin_prot.Size.sizer
val bin_write_t : t Core_kernel.Std.Bin_prot.Write.writer
val bin_writer_t : t Core_kernel.Std.Bin_prot.Type_class.writer
end