mirror of
https://github.com/mirage/qubes-mirage-firewall.git
synced 2024-12-27 08:09:31 -05:00
22 lines
751 B
OCaml
22 lines
751 B
OCaml
(* Copyright (C) 2015, Thomas Leonard <thomas.leonard@unikernel.com>
|
|
See the README file for details. *)
|
|
|
|
(** The link from us to NetVM (and, through that, to the outside world). *)
|
|
|
|
open Fw_utils
|
|
|
|
module Make (R: Mirage_random.S)(Clock : Mirage_clock.MCLOCK)(Time : Mirage_time.S) : sig
|
|
type t
|
|
|
|
val connect : Dao.network_config -> t Lwt.t
|
|
(** Connect to our NetVM (gateway). *)
|
|
|
|
val interface : t -> interface
|
|
(** The network interface to NetVM. *)
|
|
|
|
val listen : t -> (unit -> int64) -> (Udp_packet.t * Cstruct.t) Lwt_mvar.t -> Router.t -> unit Lwt.t
|
|
(** Handle incoming frames from NetVM. *)
|
|
|
|
val send_dns_client_query: t -> src_port:int-> dst:Ipaddr.V4.t -> dst_port:int -> Cstruct.t -> (unit, [`Msg of string]) result Lwt.t
|
|
end
|