generate_prototype ~extern:false ~indent:" " ~handle:"g" name style;
pr "\n\n";
+ (match deprecation_notice ~prefix:"guestfs_" flags with
+ | None -> ()
+ | Some txt -> pr "%s\n\n" txt
+ );
+
let uc_shortname = String.uppercase shortname in
if optargs <> [] then (
pr "You may supply a list of optional arguments to this call.\n";
pr "This function takes a key or passphrase parameter which
could contain sensitive material. Read the section
L</KEYS AND PASSPHRASES> for more information.\n\n";
- (match deprecation_notice flags with
- | None -> ()
- | Some txt -> pr "%s\n\n" txt
- );
(match lookup_api_version name with
| Some version -> pr "(Added in %s)\n\n" version
| None -> ()
#endif
#define LIBGUESTFS_HAVE_SET_EVENT_CALLBACK 1
-int guestfs_set_event_callback (guestfs_h *g,
- guestfs_event_callback cb,
- uint64_t event_bitmask,
- int flags,
- void *opaque);
+extern int guestfs_set_event_callback (guestfs_h *g,
+ guestfs_event_callback cb,
+ uint64_t event_bitmask,
+ int flags,
+ void *opaque);
#define LIBGUESTFS_HAVE_DELETE_EVENT_CALLBACK 1
-void guestfs_delete_event_callback (guestfs_h *g, int event_handle);
+extern void guestfs_delete_event_callback (guestfs_h *g, int event_handle);
/* Old-style event handling. */
#ifndef GUESTFS_TYPEDEF_LOG_MESSAGE_CB
extern void guestfs_set_progress_callback (guestfs_h *g, guestfs_progress_cb cb, void *opaque)
GUESTFS_DEPRECATED_BY(\"set_event_callback\");
+/* User cancellation. */
+#define LIBGUESTFS_HAVE_USER_CANCEL 1
+extern void guestfs_user_cancel (guestfs_h *g);
+
/* Private data area. */
#define LIBGUESTFS_HAVE_SET_PRIVATE 1
extern void guestfs_set_private (guestfs_h *g, const char *key, void *data);
";
+ (* Generate code for enter events. *)
+ let enter_event shortname =
+ pr " guestfs___call_callbacks_message (g, GUESTFS_EVENT_ENTER,\n";
+ pr " \"%s\", %d);\n"
+ shortname (String.length shortname)
+ in
+
(* Generate code to check String-like parameters are not passed in
* as NULL (returning an error if they are).
*)
pr " struct guestfs_%s_list *r;\n" typ
);
pr "\n";
+ enter_event shortname;
check_null_strings shortname style;
reject_unknown_optargs shortname style;
trace_call shortname style;
pr " const uint64_t progress_hint = 0;\n";
pr "\n";
+ enter_event shortname;
check_null_strings shortname style;
reject_unknown_optargs shortname style;
trace_call shortname style;
"guestfs_set_private";
"guestfs_set_progress_callback";
"guestfs_set_subprocess_quit_callback";
+ "guestfs_user_cancel";
(* Unofficial parts of the API: the bindings code use these
* functions, so it is useful to export them.