diff --git a/src/UDP.ml b/src/UDP.ml index 278f97d5..a7ed5cfe 100644 --- a/src/UDP.ml +++ b/src/UDP.ml @@ -134,6 +134,7 @@ struct type t = [ | `PARTIAL | `MMSG_CHUNK + | `MMSG_FREE ] end @@ -186,6 +187,7 @@ let recv_start ?(allocate = Buffer.create) udp callback = [] |> convert_flag C.Types.UDP.Flag.partial `PARTIAL |> convert_flag C.Types.UDP.Flag.mmsg_chunk `MMSG_CHUNK + |> convert_flag C.Types.UDP.Flag.mmsg_free `MMSG_FREE in Error.catch_exceptions callback (Result.Ok (buffer, sockaddr, flags)) end diff --git a/src/UDP.mli b/src/UDP.mli index ebcd5ef5..6096383d 100644 --- a/src/UDP.mli +++ b/src/UDP.mli @@ -135,6 +135,7 @@ sig type t = [ | `PARTIAL | `MMSG_CHUNK + | `MMSG_FREE ] end diff --git a/src/c/luv_c_type_descriptions.ml b/src/c/luv_c_type_descriptions.ml index 618b33ff..0caf1c7d 100644 --- a/src/c/luv_c_type_descriptions.ml +++ b/src/c/luv_c_type_descriptions.ml @@ -613,6 +613,7 @@ struct let partial = constant "UV_UDP_PARTIAL" int let reuseaddr = constant "UV_UDP_REUSEADDR" int let mmsg_chunk = constant "UV_UDP_MMSG_CHUNK" int + let mmsg_free = constant "UV_UDP_MMSG_FREE" int let recvmmsg = constant "UV_UDP_RECVMMSG" int end