blob: c2a7651d7ad8d150c5688ae8cf3c1a383405f366 (
plain) (
tree)
|
|
#ifndef REPLAY_H
#define REPLAY_H
/*
* replay.h
*
* Copyright (c) 2010-2015 Institute for System Programming
* of the Russian Academy of Sciences.
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*
*/
#include <stdbool.h>
#include <stdint.h>
#include "qapi-types.h"
extern ReplayMode replay_mode;
/* Processing the instructions */
/*! Returns number of executed instructions. */
uint64_t replay_get_current_step(void);
/*! Returns number of instructions to execute in replay mode. */
int replay_get_instructions(void);
/*! Updates instructions counter in replay mode. */
void replay_account_executed_instructions(void);
/* Interrupts and exceptions */
/*! Called by exception handler to write or read
exception processing events. */
bool replay_exception(void);
/*! Used to determine that exception is pending.
Does not proceed to the next event in the log. */
bool replay_has_exception(void);
/*! Called by interrupt handlers to write or read
interrupt processing events.
\return true if interrupt should be processed */
bool replay_interrupt(void);
/*! Tries to read interrupt event from the file.
Returns true, when interrupt request is pending */
bool replay_has_interrupt(void);
/* Asynchronous events queue */
/*! Disables storing events in the queue */
void replay_disable_events(void);
/*! Returns true when saving events is enabled */
bool replay_events_enabled(void);
#endif
|