daemon: debug segv correct use of dereferencing NULL.
[libguestfs.git] / generator / generator_types.ml
index 50e9604..16cb089 100644 (file)
@@ -20,7 +20,7 @@
 
 (* Types used to describe the API. *)
 
-type style = ret * args * args
+type style = ret * args * optargs
     (* The [style] is a tuple which describes the return value and
      * arguments of a function.
      * 
@@ -203,11 +203,18 @@ and argt =
      *)
   | Pointer of (string * string)
 
+and optargs = optargt list
+
+and optargt =
+  | OBool of string    (* boolean *)
+  | OInt of string     (* int (smallish ints, signed, <= 31 bits) *)
+  | OInt64 of string   (* any 64 bit int *)
+  | OString of string  (* const char *name, cannot be NULL *)
+
 type errcode = [ `CannotReturnError | `ErrorIsMinusOne | `ErrorIsNULL ]
 
 type flags =
   | ProtocolLimitWarning  (* display warning about protocol size limits *)
-  | DangerWillRobinson   (* flags particularly dangerous commands *)
   | FishAlias of string          (* provide an alias for this cmd in guestfish *)
   | FishOutput of fish_output_t (* how to display output in guestfish *)
   | NotInFish            (* do not export via guestfish *)
@@ -291,6 +298,12 @@ and test =
      *)
   | TestOutputDevice of seq * string
 
+    (* Run the command sequence and expect a hashtable.  Check
+     * one of more fields in the hashtable against known good
+     * strings.
+     *)
+  | TestOutputHashtable of seq * (string * string) list
+
   (* Run the command sequence and expect the final command (only)
    * to fail.
    *)