Up
Module
Fd
=
Raw_fd
Signature
val
debug : bool
module
File_descr
=
Core.Std.Unix.File_descr
module
Kind
: sig .. end
module
State
: sig .. end
type
ready_to_result = [
| `Ready
| `Bad_fd
| `Closed
| `Interrupted
]
val
sexp_of_ready_to_result :
ready_to_result
->
Sexplib.Sexp.t
module
Watching
: sig .. end
module
T
: sig .. end
include
T
type
t = {
file_descr
:
File_descr.t
;
mutable
info
:
Core.Std.Info.t
;
mutable
kind
:
Kind.t
;
mutable
supports_nonblock
: bool
;
mutable
have_set_nonblock
: bool
;
mutable
state
:
State.t
;
watching
:
Watching.t
Read_write.Mutable.t
;
mutable
watching_has_changed
: bool
;
mutable
num_active_syscalls
: int
;
close_finished
: unit
Import.Ivar.t
;
}
val
sexp_of_t :
t
->
Sexplib.Sexp.t
val
close_finished :
t
-> unit
Import.Ivar.t
val
num_active_syscalls :
t
-> int
val
set_num_active_syscalls :
t
-> int -> unit
val
watching_has_changed :
t
-> bool
val
set_watching_has_changed :
t
-> bool -> unit
val
watching :
t
->
Watching.t
Read_write.Mutable.t
val
state :
t
->
State.t
val
set_state :
t
->
State.t
-> unit
val
have_set_nonblock :
t
-> bool
val
set_have_set_nonblock :
t
-> bool -> unit
val
supports_nonblock :
t
-> bool
val
set_supports_nonblock :
t
-> bool -> unit
val
kind :
t
->
Kind.t
val
set_kind :
t
->
Kind.t
-> unit
val
info :
t
->
Core.Std.Info.t
val
set_info :
t
->
Core.Std.Info.t
-> unit
val
file_descr :
t
->
File_descr.t
module
Fields
: sig .. end
val
equal :
t
->
t
-> bool
val
invariant :
t
-> unit
val
to_int :
t
-> int
val
create : ?avoid_nonblock_if_possible:bool ->
Kind.t
->
File_descr.t
->
Core.Std.Info.t
->
t
val
inc_num_active_syscalls :
t
-> [>
| `Already_closed
| `Ok
]
val
set_state :
t
->
State.t
-> unit
val
is_open :
t
-> bool
val
is_closed :
t
-> bool
val
set_nonblock_if_necessary : ?nonblocking:bool ->
t
-> unit
val
with_file_descr_exn : ?nonblocking:bool ->
t
-> (
File_descr.t
-> 'a) -> 'a
val
with_file_descr : ?nonblocking:bool ->
t
-> (
File_descr.t
-> 'a) -> [>
| `Already_closed
| `Error
of
exn
| `Ok
of
'a
]
val
syscall : ?nonblocking:bool ->
t
-> (
File_descr.t
-> 'a) -> [>
| `Already_closed
| `Error
of
exn
| `Ok
of
'a
]
val
syscall_exn : ?nonblocking:bool ->
t
-> (
File_descr.t
-> 'a) -> 'a
val
syscall_result_exn : ?nonblocking:bool ->
t
-> 'a -> (
File_descr.t
-> 'a -> 'b
Syscall.Syscall_result.t
) -> 'b
Syscall.Syscall_result.t