module Fields: sig .. end
val names : string list
val close_finished : ([< `Read | `Set_and_create ], Raw_fd.T.t, unit Import.Ivar.t)
       Fieldslib.Field.t_with_perm
val num_active_syscalls : ([< `Read | `Set_and_create ], Raw_fd.T.t, int) Fieldslib.Field.t_with_perm
val watching_has_changed : ([< `Read | `Set_and_create ], Raw_fd.T.t, bool) Fieldslib.Field.t_with_perm
val watching : ([< `Read | `Set_and_create ], Raw_fd.T.t,
        Raw_fd.Watching.t Read_write.Mutable.t)
       Fieldslib.Field.t_with_perm
val state : ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
       Fieldslib.Field.t_with_perm
val have_set_nonblock : ([< `Read | `Set_and_create ], Raw_fd.T.t, bool) Fieldslib.Field.t_with_perm
val supports_nonblock : ([< `Read | `Set_and_create ], Raw_fd.T.t, bool) Fieldslib.Field.t_with_perm
val kind : ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
       Fieldslib.Field.t_with_perm
val info : ([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
       Fieldslib.Field.t_with_perm
val file_descr : ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
       Fieldslib.Field.t_with_perm
val make_creator : file_descr:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm ->
                   'a -> ('b -> Raw_fd.File_descr.t) * 'c) ->
       info:(([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> 'c -> ('b -> Core.Std.Info.t) * 'd) ->
       kind:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> 'd -> ('b -> Raw_fd.Kind.t) * 'e) ->
       supports_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'e -> ('b -> bool) * 'f) ->
       have_set_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'f -> ('b -> bool) * 'g) ->
       state:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> 'g -> ('b -> Raw_fd.State.t) * 'h) ->
       watching:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm ->
                 'h -> ('b -> Raw_fd.Watching.t Read_write.Mutable.t) * 'i) ->
       watching_has_changed:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> 'i -> ('b -> bool) * 'j) ->
       num_active_syscalls:(([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> 'j -> ('b -> int) * 'k) ->
       close_finished:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm ->
                       'k -> ('b -> unit Import.Ivar.t) * 'l) ->
       'a -> ('b -> Raw_fd.T.t) * 'l
val create : file_descr:Raw_fd.File_descr.t ->
       info:Core.Std.Info.t ->
       kind:Raw_fd.Kind.t ->
       supports_nonblock:bool ->
       have_set_nonblock:bool ->
       state:Raw_fd.State.t ->
       watching:Raw_fd.Watching.t Read_write.Mutable.t ->
       watching_has_changed:bool ->
       num_active_syscalls:int -> close_finished:unit Import.Ivar.t -> Raw_fd.T.t
val map : file_descr:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm -> Raw_fd.File_descr.t) ->
       info:(([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> Core.Std.Info.t) ->
       kind:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> Raw_fd.Kind.t) ->
       supports_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       have_set_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       state:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> Raw_fd.State.t) ->
       watching:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm ->
                 Raw_fd.Watching.t Read_write.Mutable.t) ->
       watching_has_changed:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> bool) ->
       num_active_syscalls:(([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> int) ->
       close_finished:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm -> unit Import.Ivar.t) ->
       Raw_fd.T.t
val iter : file_descr:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm -> 'a) ->
       info:(([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> 'b) ->
       kind:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> 'c) ->
       supports_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'd) ->
       have_set_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'e) ->
       state:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> 'f) ->
       watching:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm -> 'g) ->
       watching_has_changed:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> 'h) ->
       num_active_syscalls:(([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> 'i) ->
       close_finished:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm -> 'j) ->
       'j
val fold : init:'a ->
       file_descr:('a ->
                   ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm -> 'b) ->
       info:('b ->
             ([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> 'c) ->
       kind:('c ->
             ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> 'd) ->
       supports_nonblock:('d ->
                          ([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'e) ->
       have_set_nonblock:('e ->
                          ([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'f) ->
       state:('f ->
              ([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> 'g) ->
       watching:('g ->
                 ([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm -> 'h) ->
       watching_has_changed:('h ->
                             ([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> 'i) ->
       num_active_syscalls:('i ->
                            ([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> 'j) ->
       close_finished:('j ->
                       ([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm -> 'k) ->
       'k
val map_poly : ([< `Read | `Set_and_create ], Raw_fd.T.t, 'a) Fieldslib.Field.user ->
       'a list
val for_all : file_descr:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm -> bool) ->
       info:(([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> bool) ->
       kind:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> bool) ->
       supports_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       have_set_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       state:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> bool) ->
       watching:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm -> bool) ->
       watching_has_changed:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> bool) ->
       num_active_syscalls:(([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> bool) ->
       close_finished:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm -> bool) ->
       bool
val exists : file_descr:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm -> bool) ->
       info:(([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> bool) ->
       kind:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> bool) ->
       supports_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       have_set_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       state:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> bool) ->
       watching:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm -> bool) ->
       watching_has_changed:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> bool) ->
       num_active_syscalls:(([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> bool) ->
       close_finished:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm -> bool) ->
       bool
val to_list : file_descr:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.File_descr.t)
                   Fieldslib.Field.t_with_perm -> 'a) ->
       info:(([< `Read | `Set_and_create ], Raw_fd.T.t, Core.Std.Info.t)
             Fieldslib.Field.t_with_perm -> 'a) ->
       kind:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.Kind.t)
             Fieldslib.Field.t_with_perm -> 'a) ->
       supports_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'a) ->
       have_set_nonblock:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'a) ->
       state:(([< `Read | `Set_and_create ], Raw_fd.T.t, Raw_fd.State.t)
              Fieldslib.Field.t_with_perm -> 'a) ->
       watching:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                  Raw_fd.Watching.t Read_write.Mutable.t)
                 Fieldslib.Field.t_with_perm -> 'a) ->
       watching_has_changed:(([< `Read | `Set_and_create ], Raw_fd.T.t, bool)
                             Fieldslib.Field.t_with_perm -> 'a) ->
       num_active_syscalls:(([< `Read | `Set_and_create ], Raw_fd.T.t, int)
                            Fieldslib.Field.t_with_perm -> 'a) ->
       close_finished:(([< `Read | `Set_and_create ], Raw_fd.T.t,
                        unit Import.Ivar.t)
                       Fieldslib.Field.t_with_perm -> 'a) ->
       'a list
module Direct: sig .. end