sig
  val names : string list
  val irtt : (Procfs.Net.Route.t, int) Fieldslib.Field.t
  val window : (Procfs.Net.Route.t, int) Fieldslib.Field.t
  val mtu : (Procfs.Net.Route.t, int) Fieldslib.Field.t
  val mask :
    (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t
  val metric : (Procfs.Net.Route.t, int) Fieldslib.Field.t
  val use : (Procfs.Net.Route.t, int) Fieldslib.Field.t
  val refcnt : (Procfs.Net.Route.t, int) Fieldslib.Field.t
  val flags : (Procfs.Net.Route.t, int) Fieldslib.Field.t
  val gateway :
    (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t
  val destination :
    (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t
  val iface : (Procfs.Net.Route.t, string) Fieldslib.Field.t
  val fold :
    init:'acc__ ->
    iface:('acc__ -> (Procfs.Net.Route.t, string) Fieldslib.Field.t -> 'acc__) ->
    destination:('acc__ ->
                 (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t -> 'acc__) ->
    gateway:('acc__ ->
             (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
             Fieldslib.Field.t -> 'acc__) ->
    flags:('acc__ -> (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
    refcnt:('acc__ -> (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
    use:('acc__ -> (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
    metric:('acc__ -> (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
    mask:('acc__ ->
          (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t ->
          'acc__) ->
    mtu:('acc__ -> (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
    window:('acc__ -> (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
    irtt:('acc__ -> (Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'acc__) ->
    'acc__
  val make_creator :
    iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t ->
           'compile_acc__ -> ('input__ -> string) * 'compile_acc__) ->
    destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t ->
                 'compile_acc__ ->
                 ('input__ -> Core.Std.Unix.Inet_addr.t) * 'compile_acc__) ->
    gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
             Fieldslib.Field.t ->
             'compile_acc__ ->
             ('input__ -> Core.Std.Unix.Inet_addr.t) * 'compile_acc__) ->
    flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
           'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
            'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    use:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
            'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t ->
          'compile_acc__ ->
          ('input__ -> Core.Std.Unix.Inet_addr.t) * 'compile_acc__) ->
    mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
         'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    window:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
            'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
          'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
    'compile_acc__ -> ('input__ -> Procfs.Net.Route.t) * 'compile_acc__
  val create :
    iface:string ->
    destination:Core.Std.Unix.Inet_addr.t ->
    gateway:Core.Std.Unix.Inet_addr.t ->
    flags:int ->
    refcnt:int ->
    use:int ->
    metric:int ->
    mask:Core.Std.Unix.Inet_addr.t ->
    mtu:int -> window:int -> irtt:int -> Procfs.Net.Route.t
  val iter :
    iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t -> unit) ->
    destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t -> unit) ->
    gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
             Fieldslib.Field.t -> unit) ->
    flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
    refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
    use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
    metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
    mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t ->
          unit) ->
    mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
    window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) ->
    irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> unit) -> unit
  val map :
    iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t -> string) ->
    destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) ->
    gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
             Fieldslib.Field.t -> Core.Std.Unix.Inet_addr.t) ->
    flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
    refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
    use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
    metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
    mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t ->
          Core.Std.Unix.Inet_addr.t) ->
    mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
    window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
    irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> int) ->
    Procfs.Net.Route.t
  val map_poly : (Procfs.Net.Route.t, 'x0) Fieldslib.Field.user -> 'x0 list
  val for_all :
    iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t -> bool) ->
    destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t -> bool) ->
    gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
             Fieldslib.Field.t -> bool) ->
    flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t ->
          bool) ->
    mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) -> bool
  val exists :
    iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t -> bool) ->
    destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t -> bool) ->
    gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
             Fieldslib.Field.t -> bool) ->
    flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t ->
          bool) ->
    mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) ->
    irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> bool) -> bool
  val to_list :
    iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t -> 'elem__) ->
    destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t -> 'elem__) ->
    gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
             Fieldslib.Field.t -> 'elem__) ->
    flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
    refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
    use:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
    metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
    mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t) Fieldslib.Field.t ->
          'elem__) ->
    mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
    window:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
    irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t -> 'elem__) ->
    'elem__ list
  module Direct :
    sig
      val iter :
        Procfs.Net.Route.t ->
        iface:((Procfs.Net.Route.t, string) Fieldslib.Field.t ->
               Procfs.Net.Route.t -> string -> unit) ->
        destination:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                     Fieldslib.Field.t ->
                     Procfs.Net.Route.t -> Core.Std.Unix.Inet_addr.t -> unit) ->
        gateway:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t ->
                 Procfs.Net.Route.t -> Core.Std.Unix.Inet_addr.t -> unit) ->
        flags:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
               Procfs.Net.Route.t -> int -> unit) ->
        refcnt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                Procfs.Net.Route.t -> int -> unit) ->
        use:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
             Procfs.Net.Route.t -> int -> unit) ->
        metric:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                Procfs.Net.Route.t -> int -> unit) ->
        mask:((Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
              Fieldslib.Field.t ->
              Procfs.Net.Route.t -> Core.Std.Unix.Inet_addr.t -> unit) ->
        mtu:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
             Procfs.Net.Route.t -> int -> unit) ->
        window:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                Procfs.Net.Route.t -> int -> unit) ->
        irtt:((Procfs.Net.Route.t, int) Fieldslib.Field.t ->
              Procfs.Net.Route.t -> int -> unit) ->
        unit
      val fold :
        Procfs.Net.Route.t ->
        init:'acc__ ->
        iface:('acc__ ->
               (Procfs.Net.Route.t, string) Fieldslib.Field.t ->
               Procfs.Net.Route.t -> string -> 'acc__) ->
        destination:('acc__ ->
                     (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                     Fieldslib.Field.t ->
                     Procfs.Net.Route.t ->
                     Core.Std.Unix.Inet_addr.t -> 'acc__) ->
        gateway:('acc__ ->
                 (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
                 Fieldslib.Field.t ->
                 Procfs.Net.Route.t -> Core.Std.Unix.Inet_addr.t -> 'acc__) ->
        flags:('acc__ ->
               (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
               Procfs.Net.Route.t -> int -> 'acc__) ->
        refcnt:('acc__ ->
                (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                Procfs.Net.Route.t -> int -> 'acc__) ->
        use:('acc__ ->
             (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
             Procfs.Net.Route.t -> int -> 'acc__) ->
        metric:('acc__ ->
                (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                Procfs.Net.Route.t -> int -> 'acc__) ->
        mask:('acc__ ->
              (Procfs.Net.Route.t, Core.Std.Unix.Inet_addr.t)
              Fieldslib.Field.t ->
              Procfs.Net.Route.t -> Core.Std.Unix.Inet_addr.t -> 'acc__) ->
        mtu:('acc__ ->
             (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
             Procfs.Net.Route.t -> int -> 'acc__) ->
        window:('acc__ ->
                (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
                Procfs.Net.Route.t -> int -> 'acc__) ->
        irtt:('acc__ ->
              (Procfs.Net.Route.t, int) Fieldslib.Field.t ->
              Procfs.Net.Route.t -> int -> 'acc__) ->
        'acc__
    end
end