Displaying 15 results from an estimated 15 matches for "ocaml_closuredecl_to_string".
2019 Aug 13
0
[PATCH libnbd 5/6] generator: Implement OClosure.
...n, Some "0", None
) optargs in
let args = args @ optargs in
@@ -4756,6 +4774,8 @@ and ocaml_ret_to_string = function
| RUInt -> "int"
and ocaml_optarg_to_string = function
+ | OClosure { cbname; cbargs } ->
+ sprintf "?%s:(%s)" cbname (ocaml_closuredecl_to_string cbargs)
| OFlags (n, { flag_prefix }) -> sprintf "?%s:%s.t list" n flag_prefix
and ocaml_closuredecl_to_string cbargs =
@@ -4794,6 +4814,7 @@ let ocaml_name_of_arg = function
| UInt64 n -> n
let ocaml_name_of_optarg = function
+ | OClosure { cbname } -> cbname
| O...
2019 Aug 13
0
[PATCH libnbd v2 1/3] generator: Implement OClosure.
...n, Some "0", None
) optargs in
let args = args @ optargs in
@@ -4767,6 +4786,8 @@ and ocaml_ret_to_string = function
| RUInt -> "int"
and ocaml_optarg_to_string = function
+ | OClosure { cbname; cbargs } ->
+ sprintf "?%s:(%s)" cbname (ocaml_closuredecl_to_string cbargs)
| OFlags (n, { flag_prefix }) -> sprintf "?%s:%s.t list" n flag_prefix
and ocaml_closuredecl_to_string cbargs =
@@ -4805,6 +4826,7 @@ let ocaml_name_of_arg = function
| UInt64 n -> n
let ocaml_name_of_optarg = function
+ | OClosure { cbname } -> cbname
| O...
2019 Aug 10
0
[PATCH libnbd 6/9] generator: Add non-optional Flags type.
...osure { cbname } -> cbname
| Enum (n, _) -> n
+ | Flags (n, _) -> n
| Int n -> n
| Int64 n -> n
| Path n -> n
@@ -4706,6 +4723,7 @@ and ocaml_arg_to_string = function
| Closure { cbargs } ->
sprintf "(%s)" (ocaml_closuredecl_to_string cbargs)
| Enum (_, { enum_prefix }) -> sprintf "%s.t" enum_prefix
+ | Flags (_, { flag_prefix }) -> sprintf "%s.t" flag_prefix
| Int _ -> "int"
| Int64 _ -> "int64"
| Path _ -> "string"
@@ -4753,6 +4771,7 @@ let ocaml_nam...
2020 Sep 11
0
[libnbd PATCH v2 2/5] generator: Refactor filtering of accepted OFlags
...git a/generator/OCaml.ml b/generator/OCaml.ml
index 43b3679..28acb50 100644
--- a/generator/OCaml.ml
+++ b/generator/OCaml.ml
@@ -72,7 +72,7 @@ and ocaml_ret_to_string = function
and ocaml_optarg_to_string = function
| OClosure { cbname; cbargs } ->
sprintf "?%s:(%s)" cbname (ocaml_closuredecl_to_string cbargs)
- | OFlags (n, { flag_prefix }) -> sprintf "?%s:%s.t list" n flag_prefix
+ | OFlags (n, { flag_prefix }, _) -> sprintf "?%s:%s.t list" n flag_prefix
and ocaml_closuredecl_to_string cbargs =
let cbargs = List.map ocaml_cbarg_to_string cbargs in
@@ -112,7 +112...
2019 Aug 13
7
[PATCH libnbd v2 0/3] Implement OClosures.
v1 was here:
https://www.redhat.com/archives/libguestfs/2019-August/msg00168.html
I pushed uncontroversial patches 1-4
v2:
- The implementation of OClosure (new patch 1) in Python is fixed.
- Patch 2 (old patch 5) is unchanged.
- I added a new API for removing debug callbacks. I think this
approach has some advantages over using OClosure.
- I didn't yet do any work on changing the
2019 Oct 04
0
[PATCH libnbd 3/4] api: Add nbd_connect_socket.
...| Fd n | Int n -> n, None, None
| Int64 n -> n, None, None
| Path n -> n, None, None
| SockAddrAndLen (n, _) -> n, None, None
@@ -5431,6 +5469,7 @@ and ocaml_arg_to_string = function
| Closure { cbargs } ->
sprintf "(%s)" (ocaml_closuredecl_to_string cbargs)
| Enum (_, { enum_prefix }) -> sprintf "%s.t" enum_prefix
+ | Fd _ -> "Unix.file_descr"
| Flags (_, { flag_prefix }) -> sprintf "%s.t" flag_prefix
| Int _ -> "int"
| Int64 _ -> "int64"
@@ -5482,6 +5521,7 @@ let oc...
2019 Aug 10
0
[PATCH libnbd 3/9] generator: Add Enum type for enumerated types / unions.
...-> cbname
+ | Enum (n, _) -> n
| Int n -> n
| Int64 n -> n
| Path n -> n
@@ -4640,6 +4688,7 @@ and ocaml_arg_to_string = function
| BytesPersistOut _ -> "Buffer.t"
| Closure { cbargs } ->
sprintf "(%s)" (ocaml_closuredecl_to_string cbargs)
+ | Enum (_, { enum_prefix }) -> sprintf "%s.t" enum_prefix
| Int _ -> "int"
| Int64 _ -> "int64"
| Path _ -> "string"
@@ -4686,6 +4735,7 @@ let ocaml_name_of_arg = function
| BytesPersistIn (n, len) -> n
| BytesPersistO...
2019 Aug 09
0
[PATCH libnbd 1/2] generator: Handle closure args (cbargs) specially.
...s"
| OCamlArg (BytesPersistOut _) -> "Buffer.t"
| OCamlArg (Closure { cbargs }) ->
- sprintf "(%s)"
- (ocaml_fundecl_to_string (List.map (fun a -> OCamlArg a) cbargs)
- RInt)
+ sprintf "(%s)" (ocaml_closuredecl_to_string cbargs)
| OCamlArg (Flags _) -> assert false (* see above *)
| OCamlArg (Int _) -> "int"
| OCamlArg (Int64 _) -> "int64"
- | OCamlArg (Mutable arg) -> ocaml_arg_to_string (OCamlArg arg) ^ " ref"
| OCamlArg (Path _) -> "string"
|...
2019 Aug 09
4
[PATCH libnbd 0/2] generator: Preparatory changes to the generator.
These are some simplifications to the generator. They don't probably
make much sense on their own, but they are preparatory to better
handling of enums, and or'd lists of flags.
Rich.
2019 Aug 09
0
[PATCH libnbd 2/2] generator: Change handling of Flags to be a true optional argument.
...losure { cbargs }) ->
+ | Bool _ -> "bool"
+ | BytesIn _ -> "bytes"
+ | BytesPersistIn _ -> "Buffer.t"
+ | BytesOut _ -> "bytes"
+ | BytesPersistOut _ -> "Buffer.t"
+ | Closure { cbargs } ->
sprintf "(%s)" (ocaml_closuredecl_to_string cbargs)
- | OCamlArg (Flags _) -> assert false (* see above *)
- | OCamlArg (Int _) -> "int"
- | OCamlArg (Int64 _) -> "int64"
- | OCamlArg (Path _) -> "string"
- | OCamlArg (SockAddrAndLen _) -> "string" (* XXX not impl *)
- | OCamlArg (...
2019 Aug 10
17
[PATCH libnbd 0/9] Add Enum and Flags types.
This largish series adds several new features to the generator.
Enum maps to enumerated types (like enum in C). The only current use
for this is replacing the nbd_set_tls (nbd, 0/1/2) parameter with
LIBNBD_TLS_DISABLE, LIBNBD_TLS_ALLOW, LIBNBD_TLS_REQUIRE (and natural
equivalents in other programming languages).
Flags maps to any uint32_t bitmask. It is basically a non-optional,
generalized
2019 Aug 10
0
[PATCH libnbd 2/9] generator: Generalize OFlags.
...^ def) optargs in
@@ -4628,7 +4661,7 @@ and ocaml_ret_to_string = function
| RUInt -> "int"
and ocaml_optarg_to_string = function
- | OFlags n -> sprintf "?%s:int32 list" n
+ | OFlags (n, { flag_prefix }) -> sprintf "?%s:%s.t list" n flag_prefix
and ocaml_closuredecl_to_string cbargs =
let cbargs = List.map ocaml_cbarg_to_string cbargs in
@@ -4664,7 +4697,7 @@ let ocaml_name_of_arg = function
| UInt64 n -> n
let ocaml_name_of_optarg = function
- | OFlags n -> n
+ | OFlags (n, _) -> n
let num_params args optargs =
List.length optargs + 1 (* handl...
2019 Aug 13
12
[PATCH 0/6] Implement OClosure.
Patches 1-4 are basically uncontroversial, straightforward refactoring
and IMHO we should just push them. Possibly 1-3 should be squashed
together, but I posted them separately so they are easier to review.
Patches 5 and 6 together implement OClosure. Patch 5 adds the feature
and is simple to understand.
Patch 6 changes the Closure completion callbacks into OClosure, but
because it doesn't
2020 Sep 11
10
[libnbd PATCH v2 0/5] Add knobs for client- vs. server-side validation
In v2:
- now based on my proposal to add LIBNBD_SHUTDOWN_IMMEDIATE
- four flags instead of two: STRICT_FLAGS is new (patch 4),
and STRICT_BOUNDS is separate from STRICT_ZERO_SIZE (patch 5)
- various refactorings for more shared code and less duplication
Eric Blake (5):
api: Add xxx_MASK constant for each Flags type
generator: Refactor filtering of accepted OFlags
api: Add
2019 Oct 04
4
[PATCH libnbd 1/4] generator: Allow long ‘name - shortdesc’ in man pages.
For commands with long names and/or short descriptors, you can end up
going over 72 characters in the first line of the man page (causing
podwrapper to complain). Wrap these lines.
---
generator/generator | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/generator/generator b/generator/generator
index 7d3f656..ad1cb6b 100755
--- a/generator/generator
+++ b/generator/generator