summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2009-07-10 22:15:53 +0100
committerRichard W.M. Jones <rjones@redhat.com>2009-07-10 22:15:53 +0100
commit924df6051655ad145eca78e50dff84166b7124f3 (patch)
tree6db831eb3b1cd11a03d117979049d91aa18ce882 /src
parent335a8e3b0efa4c9dee01591134aeeb2b17ae22f5 (diff)
downloadlibguestfs-924df6051655ad145eca78e50dff84166b7124f3.tar.gz
libguestfs-924df6051655ad145eca78e50dff84166b7124f3.tar.xz
libguestfs-924df6051655ad145eca78e50dff84166b7124f3.zip
Proposal to add BufferIn and RBufferOut types (not implemented).
Diffstat (limited to 'src')
-rwxr-xr-xsrc/generator.ml22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/generator.ml b/src/generator.ml
index 0904afc0..a2b40b86 100755
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -84,6 +84,16 @@ and ret =
* inefficient. Keys should be unique. NULLs are not permitted.
*)
| RHashtable of string
+(* Not implemented:
+ (* "RBufferOut" is handled almost exactly like RString, but
+ * it allows the string to contain arbitrary 8 bit data including
+ * ASCII NUL. In the C API this causes an implicit extra parameter
+ * to be added of type <size_t *size_r>. Other programming languages
+ * support strings with arbitrary 8 bit data. At the RPC layer
+ * we have to use the opaque<> type instead of string<>.
+ *)
+ | RBufferOut of string
+*)
and args = argt list (* Function parameters, guestfs handle is implicit. *)
@@ -110,6 +120,18 @@ and argt =
*)
| FileIn of string
| FileOut of string
+(* Not implemented:
+ (* Opaque buffer which can contain arbitrary 8 bit data.
+ * In the C API, this is expressed as <char *, int> pair.
+ * Most other languages have a string type which can contain
+ * ASCII NUL. We use whatever type is appropriate for each
+ * language.
+ * Buffers are limited by the total message size. To transfer
+ * large blocks of data, use FileIn/FileOut parameters instead.
+ * To return an arbitrary buffer, use RBufferOut.
+ *)
+ | BufferIn of string
+*)
type flags =
| ProtocolLimitWarning (* display warning about protocol size limits *)