migration/rdma: Silence qemu_rdma_register_and_get_keys()
[qemu/armbru.git] / include / exec / replay-core.h
blob244c77acce5ca8c1a98fa7ce4323fab4bf061113
1 /*
2 * QEMU replay core API
4 * Copyright (c) 2010-2015 Institute for System Programming
5 * of the Russian Academy of Sciences.
7 * This work is licensed under the terms of the GNU GPL, version 2 or later.
8 * See the COPYING file in the top-level directory.
9 */
11 #ifndef EXEC_REPLAY_H
12 #define EXEC_REPLAY_H
14 #include "qapi/qapi-types-replay.h"
16 extern ReplayMode replay_mode;
18 /* Replay process control functions */
20 /* Enables recording or saving event log with specified parameters */
21 void replay_configure(struct QemuOpts *opts);
22 /* Initializes timers used for snapshotting and enables events recording */
23 void replay_start(void);
24 /* Closes replay log file and frees other resources. */
25 void replay_finish(void);
26 /* Adds replay blocker with the specified error description */
27 void replay_add_blocker(const char *feature);
28 /* Returns name of the replay log file */
29 const char *replay_get_filename(void);
32 * Start making one step in backward direction.
33 * Used by gdbstub for backwards debugging.
34 * Returns true on success.
36 bool replay_reverse_step(void);
38 * Start searching the last breakpoint/watchpoint.
39 * Used by gdbstub for backwards debugging.
40 * Returns true if the process successfully started.
42 bool replay_reverse_continue(void);
44 * Returns true if replay module is processing
45 * reverse_continue or reverse_step request
47 bool replay_running_debug(void);
48 /* Called in reverse debugging mode to collect breakpoint information */
49 void replay_breakpoint(void);
50 /* Called when gdb is attached to gdbstub */
51 void replay_gdb_attached(void);
53 /* Interrupts and exceptions */
55 /* Called by exception handler to write or read exception processing events */
56 bool replay_exception(void);
58 * Used to determine that exception is pending.
59 * Does not proceed to the next event in the log.
61 bool replay_has_exception(void);
63 * Called by interrupt handlers to write or read interrupt processing events.
64 * Returns true if interrupt should be processed.
66 bool replay_interrupt(void);
68 * Tries to read interrupt event from the file.
69 * Returns true, when interrupt request is pending.
71 bool replay_has_interrupt(void);
73 /* Processing data from random generators */
75 /* Saves the values from the random number generator */
76 void replay_save_random(int ret, void *buf, size_t len);
77 /* Loads the saved values for the random number generator */
78 int replay_read_random(void *buf, size_t len);
80 #endif